4 Comments

From a formal CS background - there were a few aha moments I had that lead to dramatic improvements in my competency. Fundamentals are important - and I agree that a sound understanding of data structures and algorithms are invaluable. However, my understanding of software engineering changed dramatically when I started doing it professionally. The ability to leverage libraries and abstractions provided by more commonly used frameworks & languages - I feel is the difference between theoretical and practical computer science. But maybe that is because I already knew the theory.

I think it is important for a novice to identify their objectives when learning software development. There is a very different pathway for someone who wants to learn theory and work with more challenging CS problems vs. someone that hopes to do some scripting and basic web/application development. I think the advantage to learning the theory is that it gives you the toolset to adapt and self educate to solve any problem and learn any framework. Looking back on my education - I wish I was exposed to more practical applications than theoretical ones.

I now wonder how valuable some of my fundamental skills are today for the projects I typically work on. I suppose even if you're using built-in data structures and algorithms - understanding time complexity and Big O notation is still valuable, but perhaps it is more valuable to understand how unindexed queries perform and what a full table scan is? Do you need to know what a finite state machine is or how pointers and memory allocation work in C or will you get further knowing how to find and install a library that solves a requirement in a current project?

I know having no fundamentals is a recipe for disaster - but with the way software is built today I wonder what the prerequisite fundamentals actually are.

Expand full comment
Jul 24, 2021Liked by BowTiedApu

Great introduction. Self-taught data engineer here so I still lack depth in the mathematics part of CS. Will look into the MIT courses. Looking forward to what you cook up.

Expand full comment

Just about to enter my firstyear of uni for Compsci in the UK, I hope this substack would be a great roadmap to sharpen and monetize my tech skills!

Expand full comment