• 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

You may also like

Default ThumbnailMauritius needs its exceptional programmers Default ThumbnailInteresting Tech Jobs of the Future (for Mauritius) Default ThumbnailMy TEDx talk: Jobs of the future and how we can prepare for them Default ThumbnailMy keynote speech at the UoM Research Week 2022

I am active on

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

A few posts at random

World Creativity and Innovation Day

Why don't we participate in the Maths, Informatics or Science Olympiads?

Mauritius Vision 2030

All posts

  • March 2023 (1)
  • January 2023 (1)
  • November 2022 (5)
  • September 2022 (2)
  • June 2022 (2)
  • May 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 (2)
  • September 2018 (1)
  • August 2018 (1)
  • April 2018 (1)
  • January 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 (1)

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