Member-only story
The Hardest Part About Becoming a Software Engineer
Or really the hardest part about becoming anything
It’s Not the Algorithms
While many algorithms can be difficult to understand at first, most folks that have basic math skills can pick these things up. Some of the more advanced algorithms are beyond many folks (myself included), but fortunately you don’t use Djikstra’s algorithm very much if you aren’t building some low level solution to a path problem.
Algorithms are important but not urgent to your success as a programmer. And they are certainly no more complicated than something like postmodernism (though maybe more coherent?) or macroeconomic theory. Algorithms are just the set of steps to solve specific types of logic problems.
It’s Not the Data Structures
Dictionaries. Sets. Lists. Tuples. Priority Queues. These are fancy terms but all of them have real world analogies that are pretty easy to reason about (I mean… dictionary kind of explains itself).
While some of the more machine specific data structures can be funky (Linked Lists and Arrays), I wouldn’t consider these things to be the barrier to entry to the industry, just like with algorithms.