HACKER Q&A
📣 Andaith

What Qualities do you look for when hiring developers?


Hi HN, I've recently been tasked with interviewing developers and providing hire/don't hire feedback, and I'd like some advice.

I want to know what qualities you look for in a new hire, and how you test for those qualities in an interview?

Please also share any other insights that will help improve our hiring process(both for the company and for applicants)?


  👤 JohnFen Accepted Answer ✓
I've hired my share of devs over the years, and here's the gist of what I look for. I know that I'm missing a couple of things in this list.

1) Compatibility with the existing team. The most genius dev ever is a net negative if they can't work with the team.

2) The ability to reason through a problem, including how to break large problems up into smaller ones, etc.

3) Curiosity and a love of learning new things.

4) Overall reliability. Not just in terms of showing up on time to work, but in terms of delivering on what they promise generally.

5) Logical thinking skills

6) General software development skills. Not language-specific stuff, but how programs are designed and written, ability to document, etc.

Also important is what is missing from that list: specific skillsets, such as knowledge of specific programs and languages. A good, skilled applicant will be able to come up to speed with any system or language they may not know. All else being equal, already knowing specific things is better -- but all else is rarely equal.

Testing for these things is hard, though. Generally speaking, I take a three-pronged approach:

1) Have them develop code (their choice of language, but I recommend pseudocode) to solve a sample problem. I'm not looking for the code to be perfect, but I'm looking at how they reason through the solution.

2) Have as casual a chat with them as possible. Get them talking about what they love and hate about software development, and have them tell me their biggest successes and failures. I'm looking for a few things here -- honesty (are they willing to tell me the things they hate?), passion, eagerness to learn and do new things, and so forth.

3) Have the team (or a representative from the team) talk to them and give me their impressions.

Also, if they have sample code, I like to look at it. I don't put a huge amount of weight on what they provide, though, because I know it will have been chosen to put them in the best possible light. That said, I've seen some truly terrible sample code!

I don't know if my approach is best or not, but it does seem to work reasonably well.