What makes a great software developer?
We recently asked the members of our team to share the characteristics that set great software developers apart from good ones. From Agathon’s CEO and project managers to the developers themselves, here’s what they had to say:
1. Keeps an eye on the big picture
“A good developer has the ability to zoom out and see how the system works rather than just focusing on the next feature to implement. Similarly, they’re interested in solving the right problem, not just the next one in the backlog. And they’re constantly scanning the horizon looking for new ways to deliver value and avoid risk as development progresses.” ~Kedron Rhodes, Design Strategist
2. Isn’t afraid to try new things
“As a developer, you’re always trying new things, and you can’t get overwhelmed too easily.” ~Nick Gambino, Developer
3. Starts with accessibility
“There is a very long list, but I think one of the important things is a good developer knows who their users are and makes sure whatever they’re building is accessible to everyone. Because sometimes you can get caught up in the code, but then are you looking at the thing you made? Is it accessible and easy to use? Because you want to be sure that your software can be used by everyone.” ~Mellanie Soriano, Developer
4. Is eager to learn
“The most important attribute a developer has is eagerness to learn. Software and web development are constantly evolving and changing, and you need to keep up. If you’re not learning new things, you’re going to be left behind.” ~Jeff Villamin, Developer
5. Is persistent and tenacious
“Things won’t always work, but you have to just keep going, keep trying. And don’t be afraid to ask questions as well.” ~Jay Giang, Developer
6. Keeps a nagging sense of dissatisfaction
“I like it when a developer has a nagging sense of dissatisfaction. That developer doesn’t settle for subpar solutions, and they understand that every functional solution deserves (eventual) refactoring.” ~Peter Green, Partner
7. Is lazy (in all the right ways)
“Doing the same things over and over bugs good developers. They seek ways to Solve It once and for all.” ~Alan Ritari, Partner
8. Focuses on seeing the solution through to completion.
“A keen desire to understand the root of a problem, a creative mind to develop a good solution, a strong attention to detail to make sure the solution will work properly in any situation, and the tenacity & persistence to see the implementation through to completion.” ~Ron Veenstra, Developer
9. Is patient with non-technical team members and clients.
“Good developers have expertise in areas where other team members and clients may not. That’s why you hire them! But the best developers will understand that they hold knowledge that others are not expected to hold, and that’s okay. Being able to patiently wade through and share the important pieces of information around a solution—the what, why, and how—is an investment in the team and directly affects the success of any project.” ~Rachel Ramirez, Project Manager
10. Is willing to ask for help.
“A good developer has the ability to know when he/she is spinning their wheels, to pull up and ask for another set of eyes, versus digging in their heels. Further, they know the difference between that and using their teammates to do the troubleshooting for them.” ~Brian Pikkaart, Project Manager
This isn’t an exhaustive list. But these are characteristics that each of our software developers shares and the ones we look for when we’re growing our team!
What would you add?