For Junior Developers looking to get their first job, I recommend learning a lot of different topics at a relatively shallow level. Breadth, not depth
. This maximizes the chances a potential employer sees you as a good technical fit, and also encourages you to get experience with different ways of doing things.
In order to become the go-to expert, it helps to learn the software that’s “one hop” away. If you’re looking at a backend service talking to Kafka, you’ll need to become comfortable working with Kafka. You don’t need to become a Kafka contributor, but you should be comfortable reading Kafka error messages and understanding Kafka limitations. If you’re looking at a frontend Vue
project, you should become familiar with any APIs the project uses. If the APIs are internal and written in Express, you should be able to read the API code and understand what’s going on.
As a Junior Developer, you should be looking at a bunch of different projects and development paradigms to see what is a good fit. To get promoted to Senior Developer, you should double down on one project and one set of related tools and level up your expertise in one area.