1 minute read ·
As a software developer, how do you balance the range
of technologies you learn, versus the depth
at which you learn them?
If you try to learn too many different things
, you can end up will a shallow
level of knowledge, find it all hard to retain, and be overwhelmed
with keeping up with everything.
On the other hand, if you try to become a complete master
in every single thing you learn, you may find it hard to see the bigger picture
, or be pigeonholed into being a "one-trick pony"
My approach: the “on-demand” approach.
Focus on learning only what you need
to solve a development problem; and whether that’s learning a number of things at a high level
, or learning something very deeply
Focus more on solving problems
: what all do you need to learn to solve the problem(s) in front of you? How deeply do you need to learn each?
— Getting a React developer job
— Implement a Laravel Web API
: you may want to learn PHP and Laravel very deeply, but only need to learn enough about the server OSes to deploy the web API on them.
By focusing on learning to solve problems, you’ll be able to learn critical programming concepts
, design patterns
, and paradigms
shared between the different technologies.
You’ll begin to treat languages/technologies as tools, with your breadth
of knowledge be able to pick out when you need
to use them, and know when it’s worth learning them at a deeper
⁉️ Any tips on how/when to learn coding tech with breadth versus depth?