Stop! Don't blindly take that coding challenge.
Theodore Bendixson
May 1
Code tests. Developers almost universally loathe them.
Whether you are for or against the practice of code tests, they exist and they are a part of today's developer culture. And they aren't 100% bad. Statistically, I myself have landed a fair percentage of jobs after taking a code test. As unfortunate as it may be, I have to attribute some of my current financial position to a willingness to complete them (and basically work for free).
Reality bites. But it doesn't have to bite so hard. We developers can bite back and mold the system to collectively save all of us some time and heartache. It just takes an understanding of economics and a willingness to do a bit more bargaining up front.
A Typical Scenario
How often have you run into this one? You apply to a job, only to get an email from a recruiter directing you to a code challenge. Upon completing the code challenge, you are told someone will get back to you, and they never do.
It's pretty common, and dare I say it, utterly infuriating. You just gave them a few hours of your time, and you got nothing in return. They didn't even bother to speak with you. The experience, on the whole, is just as bad as being stood up for a date.
So why do we do this? Why do we brew up a pot of coffee, put on our thinking caps, and go to town solving problems for people who aren't even willing to do so much as send us a semi-personalized email indicating the slightest hint of interest? Would you do the same for a person you are attracted to who doesn't seem to reciprocate your affections?
Of course not, and that's how we should treat code challenges. They are a part of this particular mating ritual (although it is debatable if they are necessary or not), and we shouldn't engage in them unless the other party has sent some clear signals that they are interested. Otherwise, we are just wasting our time.
Think about the economics of this situation. It costs this company nothing to ask you to do a test. They can sit back on the sofa and watch as the results roll in, deciding to only go with someone who arbitrarily fits their numerical definition of "the best."
Whoever did the test in the shortest time with the "cleanest" code wins. Everyone else loses.
Now ask yourself if you want to support that kind of hiring practice. The answer should universally be "no." So don't do it. Just don't.
Do this instead.
How to figure out if they are into you
Whenever I get one of those emails with a link to a code test, I try my best to turn it around. I reply with nice email saying I would feel more comfortable taking the test after putting a human face to a name. Then I ask if there is a time I could speak with an engineer on the team.
If they can arrange this call, I do it, and then I take the coding challenge afterwards.
This works for a few reasons.
It makes them "invest" something in the job interview transaction. If they are truly interested in you, they will give up some of their engineers' time (an extremely valuable resource) to speak with you.
It communicates a desire to feel a human connection in your work. You aren't just doing this for the money, and you aren't some code robot. You want to be friends with your co-workers and feel good about working together as a team.
If they agree to it, you've basically gotten the first interview for free. From this point forward, if they decide to reject you, they won't be merely rejecting a submission to a code test. They will also have to think about that nice human being they chatted with on the phone. It's harder to reject someone when there's more of a human connection.
Do what's right for the community
If everyone drops their pants at the smell of money, we all lose. I encourage you to engage in the job interview dance. Just do it more cautiously. Be generous with your time, but only after a prospective employer has demonstrated a willingness to give you a little bit of theirs.
If we can collectively reject awful hiring practices, we all win. Employers already have most of the power in this relationship, so we need to band together and consider how each of our individual actions affect the community as a whole.
Don't ever do a code test before speaking with an engineer on the team. You have the power to stop employers from lazily looking at your "hacker rank" or some other arbitrarily defined score. If you want to be treated like a human being, just stop doing things that put you in a box and force you to be seen as a number.
You have the power. You can do this.
Why you're hitting dead ends in whiteboard interviews
Parker Phinney - May 14
How to get the most out of your coding interview practice sessions
Parker Phinney - Apr 23
How to structure your coding interview timeline
Parker Phinney - Apr 13
Running Conferences and Preparing for Tough Interviews with Andyy Hope
Sam Jarman π¨πΌβπ» - Apr 12
Fail your whiteboard interview? Don't mope about it. Monetize it!
Trending on dev.to
Steps Towards Problem Solving in a Technical Interview
How do you keep your body hydrated during working hours?
My Git Aliases
Do we live near each other?
Developer whimsy: Llamas in Pajamas
What Components would be a most for microservice architecture?
Do you put examples/ directory with sample code for integrating your library?
Which browsers should I try to support when creating a portfolio?
72
13
So true!
My breaking point came after doing a code challenge that was meant to take a week according to the hiring manager, after which they told me they decided not to move ahead for a reason that was known before sending me the challenge.
I have since stopped taking coding challenges as a first step, and as later steps only if there's a reasonable time constraint.
If they can't respect my time as a candidate I have no reason to think they will respect it as an employee...
I couldn't agree more.
I once was called for a job interview. When I reached to their office, a receptionist told me that I am ONLY going to take a test that day, and later we will have the job interview.
The test lasted 4 hours on Friday evening, missing on the best time to spend time with my wife.
I never heard from them.
Since it was a friend of mine who sent me there and he knew the owner of the company, almost 4-5 months later, he told me that the owner told him that I've left out a small portion of the application which is the reason they rejected me.
The other day I saw that the aforementioned company is STILL looking for senior PHP developer. It has been over a year since my interview.
This is the worst experience I had with any company. Lost 4 hours of my time for nothing. Well, nothing except this experience.
Yup, that speaks to the truth that it's so much easier for a company to reject you if you haven't had a human face-to-face discussion with someone on the team. Happy you learned from it but truly sad you didn't spend that evening with your wife.