Technical interviews : Take home projects
Your company has decided to use take home projects for technical hiring.
Good job! 🌟 You have definitely made the right call.
Take home assignments are a better judge of programming competency than whiteboard interviews. This way, candidate gets to work on the project on their own time and get to have their preferred editor setup with all their customizations.
Also, you get to design the problem that can identify the skills needed specifically for the position.
But, before you send off that document with your project specifications to the candidate. Please take care of at-least these 2 things:
- Make sure the criteria that is going to be used to judge the submission is laid out clearly.
- If you want candidate to have a running instance of the project deployed somewhere. Specify it.
- If you expect to have test coverage for the functionality. Say it.
- If there is a piece of functionality that a reviewer thinks are prone to change and you want candidate to design solution according to that. Please, specify it. Remember, programmer can only program to the requirements in front of them. Everything else in this make believe project, are expectations which if not specified are probably not going to get fulfilled for no fault of the candidate.
- If your project requires interacting with a 3rd party API and
tokens/keysare needed for the submission. Please make a dev/test account for the company and provide them with the instructions. This will save time which can be focussed on the solution instead of wasting on a sign-up process. Unless, you do want to test if the candidate can sign-up for services. Who would want to test that though?
After receiving submission, be respectful of their time and unless it doesn’t satisfy the requirements entirely, give them a chance to explain the shortcuts if any. And if they were to be working in a production environment, what changes they would make.
Because, if you believe a candidate is going to write completely future proof, production grade code, with 100% test coverage in an unpaid coding assignment. Well, I’ve got a bridge to sell you.
In technical hiring, I think take home assignments are a good break from the madness that is whiteboard programming puzzles. Just make sure that the specifications for the assignment are airtight and criteria for evaluation is transparent.