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?
You still run into the problem that generally experienced, skilled engineers are not likely to put up with a 30-hour coding challenge. I won’t entertain anything over about 4 hours full stop, and it has to be a very compelling job to get me to spend more than 2. Among the people I know, the more skilled they are the less likely they are to be willing to do more than an hour or two of “homework”, and some of the best people I know won’t do that kind of thing at all because they don’t have to. They can still get good jobs if they exclude every company that does a take-home challenge.
You’re also biasing yourself against people who don’t have 30 hours of free time – anyone with caretaking responsibilities, anyone with health issues that means they need a lot of downtime after work, people whose current job requires a lot of overtime, etc. A lot of those people end up being the people tech already tends to have issues hiring, so it’s just reinforcing the existing biases. Not great!
I’d look at timed problems on hackerrank/leetcode for inspiration, and aim for a 1-2 hour challenge. If there’s a particular skill that you think is particularly important on the team, try to target that.