8 Characteristics of a Good Developer

Tommy Morgan
Treehouse
Published in
4 min readAug 8, 2016

Learning to code is the first step towards becoming a developer, but what are some of the characteristics associated with being a good developer?

I’ve been in the software development world for more than a decade now. Along the way, I’ve had the opportunity to work with a wide range of software developers. They’ve all been great people that I’ve been able to learn from and enjoy working with, but they haven’t all stuck around as great software developers. Over the years I’ve learned about a few characteristics that tend to predict success in the field:

Analytical Mindset

  • Good systems-level thinking skills. Even the act of writing a simple web page happens at the intersection of several complex systems (browsers, HTML/CSS specifications, the internet, etc.).
  • Passion for problem-solving. No matter what type of developer you are, this is a huge part of programming.
  • The ability to balance thinking about both the big picture and the small details.

Curiosity and Inquisitiveness

  • As a developer, when your code works (or it doesn’t) you need to not be afraid to ask “why” and keep digging till you find the answer.
  • When working on a project, you should be comfortable asking superiors, clients or peers questions to ensure you understand expectations and requirements.
  • Willingness to experiment, whether it’s with learning a new language or approaching a project or task in a new way. Sometimes you’ll succeed, other times you won’t, but those challenges and achievements are part of being a developer.

Empathy

  • Keep in mind that software is ultimately about people, so having the ability to understand your users is a valuable (and essential) perspective.
  • It’s also important to be able to relate to both your client and your team.

Flexibility

  • No matter which programming language you specialize in, the reality is that code can be unpredictable. As a developer,
    you need to have the ability to switch contexts or the scope of a project unexpectedly, and then go back to pick up where you left off.
  • You need to be able to adapt and respond to issues when they arise (almost always unexpectedly and they’re often time sensitive).
  • The tech industry can be unpredictable, so being able to adjust to the needs of your business or product when they change is important.

Love of Learning

  • There’s always something new to learn with tech, which is a huge draw for so many in the industry. You’ll always stay on your toes, expanding your knowledge.
  • Tech is also an incredibly dynamic and fluid industry. It’s constantly growing, changing and evolving. As a member of the industry, you need to stay current and up-to-date with the industry and new technologies.
  • When a bug or an issue arises, you need to be able to investigate its cause and learn about the problem before you can solve it effectively.

Pragmatism

  • Problems you might encounter with a project as a developer can be unique. With that in mind, being able to understand that the best solution and “correct” solution aren’t always the same is important.
  • Although there are best practices for programming and a lot of valuable advice that can be learned from the industry and your peers, as a developer you should value your own work and problem-solving abilities to achieve results over following set rules and practices.

Team Player

  • As a developer, you’ll not only work with other web developers, designers, and engineers but also other teams across your company. You may find yourself working closely with a marketing, support or sales team, or working directly with clients. So, you must be able to work well on a team.
  • Whether you’re working remotely or alongside your team, collaboration and communication with your peers and stakeholders is paramount to success.

Technical Mindset

  • As a developer, your computer will be the primary tool you rely on day in and day out to carry out your work. However, you have to both enjoy and understand the “stupid logic” of computers. In other words, they do exactly what you tell them to, but they can’t think for themselves (and you can’t blame them for that).
  • Extending from the above, being 100% comfortable working with computers and other related devices is a must.
  • Developers often find themselves working alongside people outside of a dev team, so a valuable skill to have is the ability to communicate technical ideas to non-technical people.

The work you do as a developer will vary, as will the combination of characteristics you’ll need to perform best at your role. If you’re interested in an employer’s perspective, here’s are four traits an employer looks for when hiring a developer.

From your own experience, what others characteristics would you add to the list?

--

--