Published on

Importance of CS Concepts

Authors

For a reasonable amount of my college life, I thought CS concepts like Computer networks, OS, DBMS, DSA, OOPs and others were not that important apart from cracking interviews. I thought it was better to have working knowledge of these along with advanced knowledge of specific fields like WebDev, ML, Backend, AppDev and more would be better. That way, not only one could clear interviews but also have plenty of projects to show for.

The given thought process has resulted in plenty of gaps in my understanding. I feel 95% of the people in the industry have similar gaps. However, I should add that it is all right to have gaps as you cannot know everything. But if you intend to be one of the best in the industry, you need to have a solid understanding of these concepts. I intend to be one of the best.

Being humbled many times, I realised I have way too many gaps. These gaps seem bigger when I tackle anything tricky related to infra ( setup or finding hard-to-find bugs (OS, CN)) or think of better ways to write code (DSA, OOPs, OS). While I understand these things you can improve based on experience, having a solid understanding of underlying OS and algorithms will make the whys more evident.

Lots of bugs, when seen in hindsight, seem obvious. I think this is due to the recent refresh of the concepts behind the tools.

Understanding complicated systems like databases can be done much more smoothly after having a sharper acumen of under-the-hood concepts. I am fascinated by these complex systems, so I understand the pain points when trying to dig deep.

Digging deeper into these concepts might seem futile sometimes, but I think it will be worth it.

I must dedicate extra time to expanding my knowledge about the internals.