Traits of great software developers
Tags: career, tips
Published: 2017-10-22 07:30:10

---
title: Traits of great software developers
published: true
description: Traits of great software developers
tags: career,tips
---

Here are some traits that I think make developer's great. There is nothing technical here. This is about having the right mindset and being a good person. It's easy to just focus on technical skill, but I believe these traits to be as important as any technical ability.

## Be humble
- Feel offended that someone proved you wrong? Hanging on to an idea just because you thought of it? Taking actions that are only in your interest and not the teams? Keep your ego in check.
- Ask the 'dumb' questions. 
- Do not seek recognition. 

## Do the things that no one else wants to
- There is a lot of value to be found in the tasks that everyone avoids. Get stuck in.
- The task is hard? There is an opportunity for growth
- The task is no fun? Do it anyway. Why is it no fun? can it be automated?

## Be human 
- Connect with people. Do not judge people by what you see on the surface. 
- Be mindful how you provide feedback.
- Everyone has off days, and everyone has struggles outside of work. Keep this in mind.
- Be respectful.
- Don't be a jerk

## Have fun 
- Be sure to laugh a little and don't take things too seriously. 
- Do not get caught up with office politics or the pressure of arbitrary deadlines. 
- Oftentimes things are just not as important as they are made to be. It's just work at the end of the day.

## Take ownership and responsibility.
- The requirements aren't clear? Take responsibility for making them clear. Something not working when deployed? Take responsibility for making it work. 
- If you notice yourself pointing the finger at others, ask yourself what you could have done differently.
- Do not seek to blame others when things go wrong. Work out what needs to be done to ensure it does not happen again. 

## Be a leader
- You can be a leader without a leadership position.
- Set a great example that the rest of the team want to follow.
- Be the go to person for a particular technology / component that interests you.
- Spend time to mentor others and help them grow.
- Speak up when you do not agree, you may hold a better answer.
- Looks for opportunities to be a leader - they are everywhere.

## Be disciplined
- Maintain a strong work ethic.
- Strive for high standards and to maintain them.
- Focus on the highest priority task and finish it.
- Optimise repetitive tasks with automation.
- Make mistakes, just try not to make them twice.

## Have a growth mindset
- Always be learning.
- Have a [beginner's mind](https://en.wikipedia.org/wiki/Shoshin).
- If you're not failing, you're not growing. Push yourself to do new things and get outside that comfort zone.
- Work to remove bad habits and instil good habits, in yourself and the team.
- Have a mentor. This does not have to be someone you know or have direct contact with. It could be someone well recognised in the industry that you look up to and follow.
- Reflect on your day, week, month, and year. Ask yourself what you will do differently in the future to keep growing.
- Help others to grow and succeed. Share your knowledge

## Stay visible
- Be approachable. Encourage others to come to you for help.
- Make sure people know what your working on and that your making progress. 
- Even if you're not making progress and struggling, share it and accept help. Being open and honest helps to build trust.

## Be in control of your emotions
- There will be times when work is stressful. Do not get caught up in drama.
- Detach from chaotic moments. Is everyone in a panic because of a production issue? Step back, think clearly, pick the highest priority task, and take action.

## Be reliable
- Build trust by consistently delivering and being honest. 
- Show your boss that they do not have to keep watch over you. Strive to deliver what they need before they ask for it.
- Commit to things and be sure to deliver them.

## Understand business value 
- It's easy as programmers to get caught up thinking of a code solution when the problem may be solved without writing a line of code. Think about what value you are providing to the business before coding. Do you even need to write any code?

## Stay healthy 
- Take care of yourself, physically and mentally.
- Get enough sleep, eat well, and move more. 
- Take regular breaks - back / shoulder / wrist (etc) pain is no fun. 
- Beware of [imposter syndrome](https://dev.to/carlhembrough/programming-used-to-be-fun) and the [Dunning-Kruger effect](https://rationalwiki.org/wiki/Dunning-Kruger_effect).