Craig Williams
April 3, 20233 mins Read

What makes a successful software developer?

Is it the number of degrees or certifications that they have, or the number of years of experience they have accumulated? These certainly can be important, however, there are undergraduates’ who shoot the lights out from day one. Nothing beats having people on your team who show grit, are balanced and love to learn.

Successful software developers share several common traits. These are the qualities that allow them to thrive in a demanding environment that challenges them on multiple fronts.

Perhaps the most important trait is…grit.

This goes beyond just sticking it out when a project goes through a rough patch, it’s the ability to persevere in the face of adversity. This may sound dramatic, it’s not as if it’s a tiger loose in the office, but the reality of this role is that it can be intensely demanding at times, with deadlines being the norm. Daily, developers have to deal with production issues and bugs, while at the same time delivering on project commitments that at times can be unreasonable.

It’s a balancing act

Grit without balance, is a recipe for disaster, with burnout lurking around the corner. Forty plus hour weeks are not OK. Software developers must be able to balance work and life. It’s important to balance the demands of the code with the needs of the mind. The most important tool in the software developer’s toolbox is their mind and this needs rest, healthy living and balance to operate optimally for extended periods.

It’s equally important to have a love for learning.


Software developers must constantly evolve their skillsets and capabilities to remain relevant. Technology changes and evolves at such a rapid pace. Whether a developer has been in the business for 10 weeks or 10 years, a love of learning is critical.

Forget the clichés

Whether an introvert or an extrovert, or somewhere in between, software developers must be comfortable working independently for periods of time, and, at other times, they must be comfortable being embedded in a multi-disciplinary team, solving problems together.

Some good software developers might fit the cliché of sitting in dark rooms in tracksuit pants while coding into the early hours of the morning, but ultimately success lies in the ability to interact with people on a professional level, while also having the ability to work on your own.

Also, software developers are not timid walk overs. The skill of being comfortable implementing other people’s ideas, must be balanced with the ability to fight for your own ideas.

But don’t forget problem-solving

If problem-solving is exhausting or figuring out puzzles is boring, then software development is not the right career path. It’s important that anyone entering into this career gets joy from the process and adores the challenge of solving problems on a daily basis.

Finally, a software developers’ cognitive abilities, in terms of numerical, inductive and verbal reasoning, must be on the higher end of the scale.  When an individual displays all the traits discussed above, and they have the appropriate cognitive abilities, they will have all the keys to the developer kingdom and the guarantee that the work will be engaging, dynamic and fun.

author avatar
Craig Williams