We hear it so often: I need to ace algorithms to land a SW job.
To a certain extent yes. You surely need to understand what data structure to use and make efficiency trade-offs.
There will always be some of this in an interview, especially in highly technical positions where performance matters.
But this does NOT make you a proficient programmer in 80+% of the roles you could be applying for.
When it comes to excelling as a developer it’s much more important to become PRAGMATIC:
Quickly grasp large code bases
Collaborate with other developers (code is written for and by humans)
Convert requirements into code and quickly adjust to stakeholder’s feedback
Write maintainable / extensible code
Write testable code (and tests)
Break large projects into concrete subtasks
Be a fast learner of any new technologies (we use Docker now? You wouldn’t flinch)
Notice how algorithms are not on that list.
It surely matters for multiple of those points, but they are a tool, not the goal.
Hence they should not be your 80/20 in order to get a job as a software developer.
Don’t believe me? Just look at one of my favorite software recruiting books by Joel Spolsky, which he succinctly titled Smart and Gets Things Done.
Stop obsessing about algorithms and start focussing on getting (the right) things done.
-- Bob
(Cover photo by Patrick Perkins on Unsplash)
Do you want to get 250+ concise and applicable Python tips in an ebook that will cost you less than 10 bucks (future updates included), check it out here.
"The discussions are succinct yet thorough enough to give you a solid grasp of the particular problem. I just wish I would have had this book when I started learning Python." - Daniel H
"Bob and Julian are the masters at aggregating these small snippets of code that can really make certain aspects of coding easier." - Jesse B
"This is now my favourite first Python go-to reference." - Anthony L
"Do you ever go on one of those cooking websites for a recipe and have to scroll for what feels like an eternity to get to the ingredients and the 4 steps the recipe actually takes? This is the opposite of that." - Sergio S