What to look for when hiring an engineer
June 23, 2021Just about the last thing I really care about is someone's actual ability to code.
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.
People are naturally great
For the vast majority of roles, hiring the "best" is simply a waste of recruitment time and effort.
Core skills vs. company-specific skills
Why are new joiners often quick to offer unwanted advice on how to improve things? Many "newbies" can't distinguish between core skills and company-specific skills.
Skip the take-home assessment
Next time you're asked to do a take-home coding assignment for a job application, push back a little.