A hot topic in the software engineer interviewing discourse is the take home test. Whether you love them or hate them, they are a huge part of how many organizations hire. There are a million articles out there on how-to technically navigate these, but less on understanding the big picture, making yourself look like a ‘good’ candidate and setting yourself up for success.
As a seasoned technical recruiter who has hired engineers for over a decade, here’s where I think you should be focusing.
Use a language the company is actively coding in.
These days, a lot of organizations tout being ‘language agnostic’ and offer you a choice of language to complete the take home assignment.
Choose where you are most comfortable, they say! We’re open to whatever, they say!
I encourage you to make a strategic choice in your language. Of course, if you haven’t written in the language they actively use, choose something close, but consider these points:
The human grading your test is likely an expert in the internal language and there are no guarantees they have even worked in the language you choose.
If you are not the ‘perfect candidate’ (maybe you are a URM, maybe you have a non-traditional background), you cannot give companies any reason to disqualify you. Not writing in their language is a layup to ‘they aren’t right for this role’ with no actual feedback.
Companies want candidates who can spin up quickly. If they have to teach you the language (or give you space to learn it), that can slow down your ability to contribute.
Understand the lens of the grader.
*Hopefully* the company has shared information about the assignment. If not, make sure to find out about these areas:
Time limits and repercussions. How long do they suggest spending on the assignment? What happens if I don’t finish in the allotted time? Are people graded more favorably if they spend more time on the assignment? Do people actually pass this stage of the interview if they don’t complete the entire assignment?
Grading. It’s really hard to do well on any test without knowing how it’s being graded. Is there a rubric? Are there specific areas that are more important than others? Where should I be spending my time?
Test Presentation. It’s important to know how to best frame your test by understanding how it will be presented to the grader. Is the grader doing a quick review to see if it’s ‘good enough’ to move forward and discuss on the next call or is the test a completely separate piece that gets graded and never spoken about again? If the grader is independent of the process, make sure your test stands up on it owns.
Ask questions, but not too many.
This might not be fair, but it's true. If you ask too many questions you run the risk of being tagged a ‘high maintenance’ candidate and if you don’t ask questions you might not seem interested.
I am very pro-question, so make sure the ones you ask are well thought out and concise. If possible, get all of your questions in one email instead of having to back and forth with the recruiter.
Additional questions I like about take home tests:
What are some of the main reasons people do not pass the take home test?
How long have y'all been using this test to interview candidates?
What percentage of people pass the test?
Who decides if people pass the test?
Is the test graded blindly?
*You may be inclined to ask questions about diversity of candidates through the process, but 99% of the time recruiters won’t answer those, so I’m trying to suggest questions that won’t put recruiters off (it’s all a weird game!!).
Do not circumnavigate the recruiter.
The role of a recruiter is to be ‘in the know’ of what's happening with candidates at all times, and if you work around them at any point that gets in the way of their ability to do their jobs effectively (this makes recruiters sad). Your goal should be to build rapport with the recruiter and use it to your advantage. Friends give friends the inside scoop!
If you have questions for the team, at minimum, copy the recruiter on those emails. I would actually suggest asking the recruiter these questions and seeing if they can find the answers or, if necessary, connect y’all. Because recruiters are constantly running interview processes, chances are they have been asked your questions before and have responses on hand. If not, they can likely track down the Hiring Manager via slack quicker than they would respond to an email.
Interviewing can feel like a total crapshoot, but understanding inner workings of the process can definitely help put more odds in your favor.
> "Use a language the company is actively coding in"
Having been on both sides of this, cannot emphasize how true this is. All other things being equal if you have two candidates one which writes in the language shared in the org and one that doesn't, 9/10 the interviewers will lean for the person who used the language used for the company. There are factors like whether the company is a startup or a small outfit vs a large org with resources and infrastructure for ramping up new hires which could negate the language you use, but again, if at all possible don't take the chance specially as you start applying for higher ranked positions.