
Ask HN: What is your process for code challenges during recruitment? - zizee
This question is directed at people who use coding challenges to help assess candidates for developer roles. What is your process? What tools do you use? What sort of challenges do you have? Do you have different challenges for different experience levels? How about different roles e.g. front env vs. back end. Are you proscriptive in tech choices? Do you have time limits&#x2F;expectations? What level of feedback for you provide?<p>Basically I would love to hear all the details (including minutiae) from when you start the process, to the end.
======
11thEarlOfMar
We don't do live challenges. First interview, we bring the applicant up to
speed on what our company does. Our market and products, and then our
technology, dev processes & tools. We look for how much they've studied us
before they interview, what kind of questions they ask, how are they
interpersonally, where are their interests as evidenced by where they spend
their time outside of work. If that seems to go well, we send them home with a
set of 5 coding tasks. They are to choose one, use their preferred language,
and code it. We ask for about 100 lines of code and not to spend more than 2
hours. The tasks are all different, but all of them are directly relevant to
the type of software we develop (embedded industrial control systems).

They take as many days as they need, then come back and conduct a code review
of their code with our team. This shows us how they approach coding, how they
think through problems, how well they communicate their thinking, how much
curiosity they have about the their own solution, how they respond to
criticism.

We like this approach because it is much more reflective of how developers
actually work than white board or academic type testing. It tells us where
their intellectual focus is, their level of humility about learning from
others. Surprisingly, what they can teach us. We've had young applicants stump
30-year veterans, which was awesome.

So far, we've had nothing but very strong hires with this approach, and the
applicants have all said they very much appreciated how we roll.

~~~
zizee
Thank you for your response! I hope you don't mind me asking some follow-ups.

> we send them home with a set of 5 coding tasks.

How do you provide these tasks? Via email? Links to GitHub repos?

> come back and conduct a code review of their code with our team

How does that usually work? Does it happen in their editor of choice? On a
company machine or theirs? Do they submit a PR? Do you take a look at their
submission before inviting them back in?

> They take as many days as they need

Is there an expectation that they would spend days or effort? Or just a few
hours? Do you try and adjust expectations of code quality for the time they
dedicated to the problem?

> So far, we've had nothing but very strong hires with this approach, and the
> applicants have all said they very much appreciated how we roll.

That's great to hear it's working so well. Thanks again for the thoughtful
response.

~~~
11thEarlOfMar
The five tasks are sent via e-mail. It's about 2 pages.

Code reviews are casual. Usually, they plug a projector into their notebook
and show us their code in whatever editor they wrote it in. We have 3-5
engineers in the room, they ask questions about the code structure and
approach. It's been respectful and positive.

We give them days because most are full-time employees and in many cases have
long work days. Giving them flexibility allows them to fit the work into their
schedule. Note that most wind up spending much more than the 2 hours and in
many cases, take the task much further than is required. We've had 2 hours as
the least and in one case, 12. We keep the ask small to respect their time,
but love to see them get engaged with it.

~~~
zizee
That's great info. Really appreciated, thanks!

