When You Should (and Shouldn’t) Accept Interview ‘Homework’

As tech companies start to distance themselves from the dreaded whiteboard interview, a trend has emerged to replace it. Companies are starting to give potential employees take-home assignments to better highlight their skills. But when is this appropriate, and should you even be doing it?

Take-home work isn’t new by any stretch; it’s just gaining momentum. As a result, some companies seem to be taking liberties with the practice (we won’t call it ‘abuse’ just yet). There’s a fine line between a project to show off your skills and having you work on a company’s services.

In a blog post, engineer Ash Furrow writes: “Take-home challenges are better than evaluating coding skills during an interview because they more accurately reflect the environment a coder will be working in.” His point: Developers and software engineers work with screens and IDEs all day, not in front of whiteboards. Coding ‘homework’ is more directly aligned with this real-world workflow.

But is coding homework exclusionary? A Quartz post on the topic notes some people (like mothers) may not have time. Pete Holiday, an Engineering Manager at CallRail in Atlanta, says: “It’s way more inclusive to just have someone come to the office and talk to them. You’re not counting on them having time, or a computer at home. We have candidates with [a] sick family member, single parents. Without the homework we can cast a wider net.”

It’s okay to draw a line in the sand about homework, too. Just as you’re free to request alternatives to whiteboard interviews, you can ask for something different with take-home work, as well. You can also turn it down. Here are some options:

Developers want a good work/life balance most

Ask to Do the Work In Their Office

If the aim is to see how you work on and finish a project, doing so in-office should be an accommodation a company can make. They don’t need to give you a “home” within their building, per se, but it’s a reasonable request to ask that you be able to do the project in their offices so they can see what you produce, how you do it, and check in on you if needed.

It also allows you to frame the time commitment for how much work you’ll be doing, which leads us to the next two options…

Should You Get Paid?

Asking you to do a few hours of coding homework is fine. Really, it just shifts the goalposts from whiteboards to an IDE, which might be better for everyone involved.

What doesn’t make sense is asking a developer to write an entire app, or contribute to an existing service the company offers. These are time and contribution commitments that just don’t add up for the tech pro.

It’s up to you to decide how much work you’re willing to do for free. Half a day’s work is encroaching on bad form, so consider asking to be compensated for your time if it feels like you’re being asked to do more than a few hours of work, or work that goes beyond proving that you know your stuff.

We suggest asking for a fair freelancer’s wage for your time. If a company agrees to compensate you, it shows they’re serious about you as a candidate. This shouldn’t be used as gamesmanship; rather, it’s a useful tool to avoid wasting effort and sets a tone that your time is valuable.

”Thanks, But No Thanks”

It’s also okay to turn the homework down.

If your only option is to work for free, on your own time, and without compensation – there’s no shame in opting out. The interview process is your first introduction to a business, and if they’re not willing to accommodate a simple request (like working in their offices) or compensate you accordingly for your work, it’s a red flag.

But this should be your last resort. Typically, take-home coding challenges are an indication the company is serious about hiring you, and simply wants to make sure your code is on par with their expectations. While your pride might take a hit doing some homework, it’s also a good sign a company is interested. Weigh this option carefully.

Freelance developers also choose where to work

Be Smart

Working for free sucks, but coding challenges are probably far better for you than a whiteboard. It’s less stress, and you’re actually coding!

If the company you’re interviewing with simply won’t budge on hours of free work that you’re not able or willing to do, you can always lean on your portfolio. Having projects hosted on GitHub is a great way to show your skillset.

A friendlier alternative to turning a company down is pointing them to your open-source projects, where they can see your code firsthand. If a company is open to discussing those projects, it’s possible they will find what they’re looking for without the rigmarole of homework!

14 Responses to “When You Should (and Shouldn’t) Accept Interview ‘Homework’”

  1. No. Companies can and will abuse this. If you trust a company not to abuse this, you are naive. If it takes more than an hour of your time, either the company is trying to use you and others like you as free labor, or, they have so little idea of what their job entails that they cant condense it into an hour. Either way, its probably not where any decent tech wants to be long term.

  2. I always turn down “homework” assignments prior to phone screens. Additionally, I rarely see assignments which are anything other than a skills assesment (in my area) They typically are abstract enough to provide not much value.
    What I don’t get is, I have relevant material on github. I reference specific projects on my github or blog posts on my own profile site that are relevant to the required skillset and nobody takes the time to review it. I’ll get a homework assignment and it will be some problem I’ve solved in a github project and I’ll ask, “Did you see my github project x where I basically did this?” They just laugh nervously and say that they have to ask everybody to do this assignment. It’s policy.
    I mean, if you’re so diligent about finding the *right* person for the job, then why can’t you be bothered to spend a little extra time researching their body of work which is *right in front of you*

  3. Heather Z

    “coding challenges are probably far better for you than a whiteboard” – only if you’re a junior software developer…otherwise, the ability to model a solution, and diagram processes and relationships should be more important (seems like you’re *talking down* to your readers)

  4. PeterL

    I agree with Dana’s comment. Large corporations will use their “hiring prestige” to require a homework test. Start-up’s will use it as a vehicle for some “free consulting”.
    Like all experienced professionals, I have a strong resume that highlights my experience, and I can back it up with many examples of work I’ve done in the past.
    IMO, it should not take any extra-curricular work to make a good hiring decision.

  5. Victor

    As a candidate, I look for evidence of mutual interest and commitment. a few years ago, for a first product manager role, after very basic phone interviews with the recruiter and hiring manager, I was asked to do a competitive assessment. I had reservations because I hadn’t yet met anyone at the company, but I did it anyway and spent 15 hours. At the in-person interview the COO was engaged and asked many questions, even expressing awe that I determined what I did, while the CTO, who was the hiring manager, sat there looking uncomfortable. After an hour the COO ran out of questions and walked me out. In two days I received a rejection email that was content-free. The CTO and COO didn’t respond to followup emails. Eventually LinkedIn showed that they hired a new MBA grad with virtually no work experience. I felt taken advantage of.

    Another time I met the team and felt there probably would be a good fit, so I did the assignment. The hiring manager even followed up to ensure I understood the assignment. He was of little help because I knew how to do this, but clearly he felt he had a stake in my success, which is the way I want my future boss to feel.

  6. Eva Coleman

    This article is a complete non-sense. Asking for “freebies” or “test projects” as a part of hiring process is a the oldest scam on this planet. If you to do this, you are basically agreeing to work for free and lowering the industry’s value…there is no signed contract, no copyright, and no reward for your efforts, so it’s a gift to this scumbag “company”. They will definitely use your idea, or they make it their own, you won’t get anything, they’ll get paid and they will never hire anybody for the fictional “position” for obvious reason. People DO NOT work for free no matter whether it takes 20 min or 1/2 day of your time. That’s why we have resumes and portfolios, so they can see our style. Think about it, if you do something for free are they gonna hire you and pay you for the same? The answer is always NO!

  7. Anthony Piacentini

    Another article and more comments from those who have bashing those who have not. Why would any sane person say no to anything for a job interview? Demand money for the ‘work’? you’ve got to be kidding me. This is how you get blacklisted by recruiters and end any chance you have at a tech career.

    • “Why would any sane person say no to anything for a job interview?” OK, Harvey Weinstein, take your clothes off. What an idiotic assumption that people with rare, in-demand skills would be willing to do anything you want just for the privilege of getting to use those skills on your behalf in particular. No wonder some companies think there’s a skills shortage, because there is: for them.

  8. Eva Coleman

    I have been saying this for a long time, that this type of hiring process is a fraud. Why should we technical people click our mouse for anybody for free? If they want a “project” done they should pay us!!
    Anyway…if so called potential employer does this to you, you don’t want to work for him.

  9. Shuki

    I don’t see a problem with a take home. Actually most of my github is a take home projects from the time I was looking for a job. I always made sure to put the take home challenge on my git. Also, I don’t think I ever got a “real” project. Most of the take home are getting a link to a REST API, consume it, and display some functionalities. Nothing with the company “real” business.

  10. Rodrigo Arancibia

    I prefer homework, buy only if it takes minus than 3 hours cause I don’t like to work for free I don’t like online tech exam because many of them do not allow you to see online libraries, StackOverflow pages, etc, and that not reflect the real life