Coding Challenges: My opinion
It’s become a norm, expecting that any tech company will hand you a coding challenge right off the bat before going through the process with you. While I’ve had my reservations about the process for a long time, I wanted to dive into the premise of the challenge entirely.
Challenges: Are they useful?
It’s hard to determine if challenges are actually useful, however, from my experience managing teams I’ve found that challenges aren’t useful. I’ve had some developers who nailed the challenge yet couldn’t code the most basic applications — on the other hand, I’ve seen some developers fail the challenge and turn out to be one of the best hiring decisions we’ve ever made.
It’s important to note that all experiences are different, some organizations may feel challenges work really well for them. But, where we do draw the line between a basic competency challenge and full-blown application development to prove one’s technological worth?
Challenge: Competency or MVP?
I’ve heard the horror stories of startup and small businesses building their entire MVP on code challenges from potential employees. This is a critical point where we need to discuss if the company is using you for free code. I’d like to believe they wouldn’t, but there’s no guarantee that they will.
As a potential employee, you need to review the challenge that’s given to you and try to gauge if it’s apart of some product or just a competency challenge. It’s a difficult task to do, so I’d like to propose some avenues to check if you’re being mislead intentionally.
- What’s the challenge related to? Is it their direct business model or very closely related?
- Is the challenge going to take long than 30 minutes of spare time to complete?
- If you request a different challenge, are they willing to provide one completely unrelated to the previous?
If you hit either #1 or #3, I’d like to assert you might be being mislead by the company. I included option #2 for the sake of sanity, challenges should not take longer than 30 minutes of spare time to complete. If you expect a challenge to take longer, you should consider asking for a shorter challenge. Never undervalue your time or self-worth, if you’re willing to do 8+ hours for a challenge, I believe you’re being taken advantage of.
What if I refuse my challenge?
Never feel obligated to do a challenge, some of the brightest developers I’ve met directly refused a challenge and instead sent something along the lines of, “I’d rather not complete your challenge. Instead, how about I come into the office for four hours (paid) and I’ll show you my skills in-person, and complete any reasonable tasks you’ve asked of me.“
That response can be considered risky, because if the company decides to not proceed with you, you may lose that opportunity. However, if the company is genuinely interested in you they’ll follow through and you’ll likely get what you’ve asked for. Whenever someone says similar to that, I immediately offer them to come in and do the in-person task alongside a proper interview.
The key takeaway I’d like to see happen is developers start refusing long code challenges, and only do reasonable challenges or in-person assessments; do not be afraid to challenge the challenge itself, you may find it’s worth the risk it entails.
What are you going to do when the next challenge is sent to you? Challenge the challenge, or do the challenge?