We’re a very small team with little experience in hiring but got approval for a new engineer. Basically HR will look for people through the usual channels and I think we have a reasonably good job description. Unfortunately the coding challenge (a 30h+ take home) is atrociously difficult and doesn’t really reflect what we do. On the other hand I think the false positive rate would be low. FWIW it’s a Linux application and it might be difficult to only count on experience from the CV.
Any ideas how to build a good challenge from scratch and what time constraints are reasonable?
One thing to keep in mind is that the majority of candidates you would want to hire are already employed full time. A 30+ hour challenge is INSANE. Nobody has time to do that while working a full time job. In my opinion, a coding challenge should be designed in a way where it will take an experienced developer an hour maximum. The interview should be the most important part of the process, the coding challenge should just be used to indicate if the candidate knows what they’re doing or not.
From a previous company I worked for that had a coding challenge which seemed to be quite effective, here’s the advice I can give you:
Make it relevant to the actual work the dev will be doing. It should be based in the language/framework that the dev will actually be using in the job. We based our challenge on a core operation of our main application (importing data from a CSV).
Keep it short. I already explained this one so I won’t go into it again.
Allow it to be completed on the dev’s own time.
The requirements should have a clearly defined input and output. The input should be provided to the candidate.
Hopefully that helps a little.
Thanks for the detailed answer. Yeah the challenge IS insane. Although I must admit I did it myself because the job was (and still is) very interesting and was a chance to switch from web development to application development. (And yes, during the time I wasn’t full-time employed)
I guess I’ll see if I can make a list of the current and typical challenges and see how to extract some toy task out of it that makes use of the libraries we use.