In one of my group chats, we were recently posed the following question: What qualities/skills do you think are most important for a developer to have?
Below is my answer:
When I’m interviewing developers, the main things I look for are, roughly in this order:
- An ability, willingness, and eagerness to learn. This doesn’t mean they’re learning a new framework every week, but it does mean they’ll use google or ask for help when they need it, instead of admitting defeat.
- Humility. They don’t act as though they’re always right (even when they are), but are willing to listen to other perspectives.
- Good communication skills. Programming is 100% about communicating. Obviously it’s about communicating with a computer, but more important, it’s about communicating with people (via code, and outside of code). The best programmers are able to communicate their ideas to other people—including those with less experience, and sometimes via formal or informal mentorship.
- Abstract reasoning skills. Some people just have a really hard time understanding foreign key relationships, pointers, and how an OAuth2 flow works. This can sometimes be overcome with a strong drive and learning ability (see above), but it can also often be a deal breaker.
- Coding ability. Just about the last thing I really care about is someone’s actual ability to code. Although this depends on the project. If it’s a short-term project, this jumps to the top of the list. If it’s a long-term role, it stays at the bottom, because I believe with the above skills, anyone can learn to be a better coder.
What would you add to, or remove from my list?
And don’t forget, if you have any young potential developers in your life, say below the age of 10, then today’s free Live Tech Story-Telling Workshop is for you! We’ll be streaming live on YouTube at 17:00 GMT+2. Read more about it.
If you enjoyed this message, subscribe to The Daily Commit to get future messages to your inbox.