Learning to code is the first step towards becoming a developer, but what are some of the characteristics associated with being a good developer?
We asked Vice President of Engineering at Treehouse, Tommy Morgan to share his thoughts and compiled the following list of 8 characteristics.
- A developer should have good systems-level thinking skills.
- You need to have a passion for problem-solving as no matter what type of developer you are, that is a huge part of programming.
- You should have 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.
- You need to be willing 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.
- 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.
- 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.
- 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.
- 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.
- 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?
That’s a great list! Indeed I asked myself a lot this question. It is sometimes difficult to differentiate really the good developer from the bad one. If everybody in a company is very bad, for example, and a mediocre web developer is hired, he will be considered as super good…
I wrote an article as well on my blog about the matter, hoping that it will help developers to get better. Because development is not only about development… As you underline it very nicely in your article, it is about people as well. A lot of developer forget this fact.
Anyway here my article for those interested: http://web-techno.net/better-web-developer/
Thanks for the words of encouragement helps alot
I agree with all of these characteristics, but I think I missed the two of them. Thanks for sharing this, you made me realize that I’m not that good, maybe I need to practice more to be a good developer.
Everybody can improve indeed. If you stop improving, you miss your chance to get even better. The adventure is infinite, that’s why it is so rewarding to grow more and more 🙂
Really Nice! I agree with all points stated in article.
Treehouse is really a super awesome , interactive, easy way to learn and understand programming concepts.
Thanks for the kind words and for learning with us, Raghav! Keep up the great work. 🙂
I’ve missed y’all.
Great article, very active! I am a self taught ruby Dev and have wanted to expand my horizons. I am new to tech degree program and studying iOS. These courses are worth every penny and then some! Really want to encourage anyone interested in stepping up their game to seriously consider this program!
Thanks for the positive feedback, we really appreciate it! It’s great to hear you’re making progress and we look forward to seeing what the future holds for you. Keep us updated!
That’s a wonderful article.