Main image of article 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: [caption id="attachment_143926" align="aligncenter" width="2048"] Developer Developers want a good work/life balance most[/caption]

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. [caption id="attachment_140731" align="aligncenter" width="2048"] Freelance Freelance developers also choose where to work[/caption]

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!