3 ms·
I have interviewed and hired software developers for many years at different companies in different countries. Which has given me the opportunity to experiment
by mbrodersen 10y ago
I have interviewed and hired software developers for many years at different companies in different countries. Which has given me the opportunity to experiment with different questions and correlate that with outcomes (how good the people I hired or recommended for hiring turned out over the next 5 years). And I have now narrowed the questions down to 4 types of questions that really filter the good developers from the not so good: (1) Ask the candidate to dive into all major groups of software development (DB/UI/Testing/OS/...) and see how deep the candidate can go (2) Ask the candidate to come up with a practical solution to a NP complete real problem (usually an optimization problem) (3) Ask the candidate how he/she would approach investigating and solving a specific real problem for a large real system (usually a mobile-server-DB system) and (4) how they would architect a system given a list of real use cases. Candidates that do a good job of answering those questions are highly likely (as in 95%) to be successful if hired. They don't have to come up with a perfect solution. What is important is how they approach the problems and what kind of possible solutions/investigations they come up with and their reasoning behind it.