What makes an excellent developer?
Recently, at work, I had to do a thought-exercise on what makes an excellent developer.
This is something I think about a lot, so much that it's a big part of my public profile/mission-statement!
Without further ado, here's my list:
- Low ego.
- Communication skills, especially being able to explain technical things to non-technical people.
- Empathy for users, teammates, etc.
- Knowing/figuring out the best way to get to a goal. Especially with client work but valid across the board as well. Sometimes someone will ask for something but that's not the best way to achieve their goal.
- The ability to keep things simple. Simplicity scales!
- Thinking about secondary effects of changes.
- Technical/programming knowledge, but I think that ends up being less important than some of the other things.