• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
Avinash Meetoo

Avinash Meetoo

Let us build a Smart Mauritius together

  • Home
  • About
  • Curriculum Vitae

System design is dealing with complexity

2 November 2022 By Avinash Meetoo Leave a Comment

“Engineering the illusion of simplicity” in Grady Booch’s book “Object-Oriented Analysis and Design with Applications”.

All simple problems have essentially been solved. What remain are complex problems, with thousand of movable parts and very difficult to satisfy end-users. Consequently, creating (and maintaining) software to solve these complex problems has become incredibly hard…

I have to admit that things were easier when I started learning and practising software engineering in the 1990s. Thirty years later, teaching, learning and doing software development, based on sound engineering and system design principles, are not easy and need courage and energy.

This being said, I am happy to share this formidable course / article with all of you who want to take the challenge: System Design: The complete course by Karan Pratap Singh.

Karan Pratap Singh is a Software Engineer in San Francisco. Previously, he worked in Washington D.C., London and New Delhi.

As I always say, I am a Computer Scientist but I don’t like the term “Computer Science”. What I do is neither about computers (in the same way that surgery is not about the scalpel) nor is a science (as a science describes some part of reality). Rather, I prefer the term “Informatique” (in French) or “Informatics” which say that what is important is the flow of information.

But, maybe, there is another way to look at “Informatics”: it is about dealing with complexity.

For example, let’s say that you need to build a “system” which NEEDS to work 24/7. This obligatorily means that the system needs to have redundancy (one computer might fail) and needs some kind of load balancing (to which computer to assign the work to be done?) and, probably, some synchronisation issue to deal with. In practice, there will be 100s of other aspects to take care of if one wants to build a fully functional system.

Hence, the importance of this fantastic “System Design” course.

Go through the course topic by topic. Discuss with people who are already conversant in them. Read articles online. Rinse and repeat.

After some weeks (or months), you will become a much better system designer. And, most importantly, you will be the one with the knowledge and skills to provide software solutions to the complex problems which real people are facing.

Enjoy (and don’t hesitate to ask me questions if there is something you don’t understand). I’ll try to answer ?

Filed Under: Art, Computing, Education, Future, Science, Society, Technology

Reader Interactions

Leave a Reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Search

I am proud of

My family
My company
My music
My photos

Related Posts

  • Interesting Tech Jobs of the Future (for Mauritius)
  • My keynote speech at the UoM Research Week 2022
  • Jobs of the Future in IT and Technology during the National Science Week 2023
  • Should teachers and students celebrate or be cautious of ChatGPT?

I am active on

Facebook
FB Page
Twitter
LinkedIn
Reddit
Hacker News
Stack Overflow
GitHub
Wikipedia
YouTube
IMDB
Last.fm

Random Posts

  • Mauritius Vision 2030
  • Lessons learnt on the way to become better people
  • Report on Going Global Africa 2024 in Abuja in Nigeria
  • Innovative Mauritius

All posts

  • April 2025 (1)
  • March 2025 (1)
  • February 2025 (2)
  • January 2025 (4)
  • December 2024 (4)
  • November 2024 (2)
  • October 2024 (1)
  • September 2024 (4)
  • July 2024 (1)
  • June 2024 (1)
  • May 2024 (4)
  • March 2024 (1)
  • February 2024 (1)
  • January 2024 (1)
  • December 2023 (2)
  • November 2023 (2)
  • October 2023 (2)
  • August 2023 (2)
  • July 2023 (3)
  • June 2023 (3)
  • May 2023 (4)
  • April 2023 (1)
  • March 2023 (3)
  • January 2023 (1)
  • December 2022 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 2022 (1)
  • April 2022 (1)
  • January 2022 (3)
  • November 2021 (1)
  • September 2021 (1)
  • June 2021 (3)
  • April 2021 (1)
  • February 2021 (1)
  • January 2021 (2)
  • November 2020 (1)
  • October 2020 (1)
  • September 2020 (1)
  • August 2020 (1)
  • May 2020 (1)
  • April 2020 (3)
  • March 2020 (4)
  • January 2020 (1)
  • July 2019 (1)
  • June 2019 (1)
  • April 2019 (2)
  • January 2019 (1)
  • December 2018 (3)
  • November 2018 (1)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • December 2017 (1)
  • November 2017 (1)
  • October 2017 (1)
  • August 2017 (1)
  • July 2017 (1)
  • May 2017 (1)
  • March 2017 (1)
  • February 2017 (1)
  • August 2016 (1)
  • July 2016 (1)
  • June 2016 (3)
  • April 2016 (3)
  • March 2016 (3)
  • February 2016 (1)
  • December 2015 (1)
  • November 2015 (1)
  • October 2015 (1)
  • August 2015 (5)
  • June 2015 (1)
  • September 2013 (2)

Copyright © 2025 by Avinash Meetoo · Shared under an Attribution 4.0 International Creative Commons license · Log in