You can read all the books and take all the courses you want. You can learn all the languages and frameworks there are to learn, but there will always be another that someone just invented.

So how do you become the developer that everyone wants to hire? You get good at one thing and you focus on it. The narrower your field of view, the more likely you are to earn a high wage. How does this work? Scarcity.

But learning one technology alone isn’t enough. A piece of software doesn’t live in isolation, it lives in an ecosystem of other software. Building the glue code that holds a system together is also a specialisation.

What else? The system itself must live on some infrastructure. Infrastructure itself can be code these days – we have build virtual machines, lambda functions, APIs, kubernetes clusters all programmatically. Infrastructure can be a specialisation – but there are still many fields of specialisation within that.

And how does my software communicate with other systems? You can learn protocols that enable interaction. And while they might have wrappers in your particular specialist language, they will have a model which will impact how your code works with it. You will need to learn about the flow of control between as well as inside the systems you build.

So, you can choose to specialise on programming, or keep yourself busy gluing, or building infrastructure, or communications, or databases. There is an ever-growing need for people like you who understand how software works in a practical sense. There is no need to talk about you work, to share it, to write or publish about it. Some people find that enjoyable. Your job is only to contribute your vital perspective to the software and systems that you build.

However, building software is all about opinions. At some point, you will be asked to share yours whether through code or in-person at a code review. Software is “opinions all the way down”.

Being a good developer is about understanding the things you get the most enjoyment out of and trying to tweak your work to match that pattern. We all have parts of our jobs that we enjoy and bits that we would rather avoid. Optimise your time for maximum enjoyment, realise that it’s a team sport played by individuals, and keep discovering.

Focus on the fun stuff. Find your niche, explore other niches, stay humble, and keep open.

Related articles