What makes a developer a good developer? I regularly hang out in the Boot.dev Discord server, a community filled with aspiring developers. Many of whom strive towards being hired as developers. The question of knowledge and skills often come up. What do you need to know to get hired? What are interviewers looking for? It is always hard to give specific answers to these questions.
There are many guides and guidelines out there on how to write good
code. Python’s Zen (import this
), Go Proverbs, The Zen of Proverbs are just some. But
here I will instead try to list some behaviors I want to see in
developers, regardless of experience.
A good developer should
- look beyond the currently assigned ticket. Strive to understand the whole feature or project. Doing so also makes it easier to …
- participate and contribute in discussions.
- take initiative. Not sit passively and wait for work to be assigned. Offer to take on responsibility when the opportunity comes.
- show ownership. Complete the task with integrity; when bugs are discovered take the lead in fixing them.
- raise points of concern and suggest improvements. Even if it’s not part of the current task.
- communicate with their team.
Every developer will have to rely on others for technical competence at some point, no one knows everything. But even junior developers can take responsibility and ownership. Your technical competence grows naturally as you do your job. Becoming a good teammate only takes a little extra effort.
Some will be content with just working on their assigned tickets in peace. Not everyone needs to be a top developer. In the end it comes down to not being a burden to your team. Every developer should strive to lessen the burden on their teammates. By doing the points I’ve talked about here you are doing your part in making sure the team shares the workload.
These are my views on a good developer from the point of what I want to see in a teammate. Ask a Product Manager and they will want someone who delivers fast, gives accurate estimates, and fixes bugs before they are discovered.