How do you feel about take-home assignments and how common is it?

I’m curious to know how others feel about take-home assignments after the interview. I’ve posted before in a thread on FCC that I think it’s a horrible way to treat potential employees because it’s disrespectful of their time and also I don’t see why it’s even necessary because the portfolio should speak for itself. Asking a few “weed out the posers” questions in the interview, maybe a couple of algorithms, is fine, but “here, take this and give up 30 hours of your free time and we might hire you” I think is just plain lousy. I understand that you can take it and use it as a learning opportunity and for practice. I get that, and that’s great. But I still think it’s disrespectful of the candidate’s time and shouldn’t be necessary if you’ve seen the portfolio and ask the right questions in the interview.

Anyway, how do you feel about this? Also, how common is it for this to happen? 5% of companies do this? 50%? 80%? Is this something I’m just going to have to suck up and accept if I ever hope to find a job because so many companies do it?

It doesn’t seem that anyone would be willing to do that for the possibility of maybe being hired. This is free work for them if they don’t hire you.

Was this your first interview, or has it happened before? Did you have such a great rapport with the interviewer that you are willing to “go the extra mile” to get the job?

I believe that our previous works that we showcase through our portfolio and any on-site quizzes during the interview should at least get you into a second interview and closer to the hiring process. Otherwise, keep applying for the company that best suits you.

Those jobs are out there. You may also consider freelance contracts until the perfect position opens and that company hires you.

Good success in your search…

1 Like

Thanks for the reply KoniKodes. This was my first interview. The interviewers were nice enough but I wouldn’t call the rapport all that special.

One thing I’m fairly sure of is that this is not them trying to get me to do real work for them for free. I can’t see how this would help the company. I do believe it’s a “test” and not much more.

In my case, they looked at my portfolio and said, “it’s nice but they’re essentially just ‘widgets’ and we’re looking for someone to work on our team making full websites”. My portfolio is a website in and of itself but I guess they meant “complicated and intricate” website. Not only am I against the take-home work in principle but this one would literally take me a week to do (I’m guessing - could be shorter or longer) because it requires me to use things I haven’t learned yet. They want to see my ability to use SASS and set up a task-runner workflow (gulp/grunt). Never used those yet. I’m supposed to use a pub/sub pattern, which I haven’t even heard of. It includes a table that I have to have a working sort for. The interface itself is a huge form and needs to have validation. It also needs “error handling for the back end (try/catch)”, which I don’t know much about. I thought they were going to give me a PSD to turn into a site, maybe with an email form. LOL. But this is so far beyond that, IMO.

I’m sure I could figure it out given enough time and it’s all stuff I need to learn anyway. Like I said, I’m happy to take it as a learning opportunity. I’m just upset because I hate the idea of take-home work in the first place, but in my case, also because this task feels to me like they are asking me to do something which is significantly beyond my current abilities. If they asked me in based on my portfolio, why give me this insane (for me right now) assignment? I don’t know if this assignment is above a typical entry-level/junior dev position or if I’m just woefully underskilled but I have to admit that if I were to do this, I’d be spending 80% of my time learning totally new stuff and how to do it (not just looking up but actual “learning”) and 20% actually coding.

I’m just trying to get a feel for how this all works. I haven’t lived in Canada for 20 years and haven’t interviewed for ANY job in nearly as long so I have no clue what is considered normal around here or for this industry. I really hope this isn’t standard practice but if it is, I guess I’ll just have to man up.

But it horrifies me to think of all the people applying for positions that are asked to do something like this – and then only one candidate is hired. And then all those that didn’t get the job have to keep doing it a dozen times till they get hired? All those person-hours wasted on what should have been determined by the applicant’s portfolio and a good interview! Shocking.

I can see how this would be frustrating for you.

Were these skills they requested (SASS, and gulp/grunt) listed in the job description when you applied? It does seem they are asking for an advanced junior developer when you applied for entry level.

I don’t think you are under skilled, I just think they want the world before you are ready to give it to them. You should be hired based on your current skill-level, with the opportunity to grow as you work and learn with the other team members.

Check and see if there is an FCC chapter in your area, and visit any meet-ups that are close-by. Meanwhile, keep on searching for those who see your worth at your level, and don’t be discouraged. You are going to be an even greater developer once you do get those skills in place.

I know a couple of people from Canada who are in slack chapters. They may be able to offer more info about the companies over there. If you are interested, I could try to connect you.

1 Like

You’re looking at it the wrong way. They can look at your portfolio to know what you’ve already learned to do. This is how you’re going to show them what you can really do. Maybe you can’t finish it, but they need to know how you can handle being thrown into the unknown with a tight deadline.

1 Like

Ditto. Would love the practice!


I know a guy that got a job here in Melbourne as a Junior front-ender and he had to complete a take home assignment. His sounds much more simple than yours though - it was just a HTML email, essentially, formatted according to a given design. (He got the job). Another guy I met at a meetup had some take home work pretty similar to the microservice challenges from FCC - again, that sounds simpler than yours. (Don’t know if he got the job…).

In a completely unrelated field, I have had to do a similar task to get a job. As a teacher it is not unheard of to prepare and teach a class at a school you apply to. I’ve done this on two occasions (and been offered the job both times). These lessons obviously take time to prepare and deliver, but certainly not 30 hours worth! Anyway, this is just a data point for similar expectations in other fields…

There’s a few ways to view this assignment, and I totally understand your frustration.

If you take them at their word, this could address a hole in your current portfolio that could potentially be putting off other employers. So even if you do complete this task well and end up not getting the job, you may just well have a new crown jewel for your portfolio that means you never have to do a take home assignment again. Even if it’s only a learning experience for you, learning experiences are still incredibly valuable (especially at our end of the careers-in-dev spectrum).

The sheer difficulty of this task (from your perspective) might also be a clue that maybe this job just isn’t for you just yet. There are other jobs out there that have a much gentler introduction to tech and lower expectations of their junior dev’s initial skill sets, so maybe you do one of those jobs for a year first to get some experience under your belt. That’s not to say you aren’t capable, or couldn’t be with a decent run at the task, but it can at least give you something to consider about your readiness for this company.

If you are opposed in principle and it really annoys you to have to jump through this kind of hoop, that could be another clue that maybe this company isn’t for you - but you might be writing lots of companies off if you make that a hard rule.

The final thing to consider is that maybe they like you enough to give you a chance, but didn’t like you enough to consider it a done deal after the interview. Completely hypothetically, they could have had another candidate with a better portfolio but they didn’t click with, so they figured if they can give you the chance to bump up your portfolio then they could hire you instead with greater confidence. Or as PortableStick said, this could just be a test of how you go when working with the unknown - since they may value people that can ramp up on different technologies.

Ultimately, if you have enough time and energy to do the assignment, then there is nothing to lose in doing it. You’ll have a cool app to show for it if nothing else, and maybe that cool app lands you something better a week later. If you don’t have the time, there’s nothing to lose in saying to them ‘Hey, I don’t have time to do this task as described, but how about I add a subset of those requirements to one of my existing apps so you can see how I integrate some of those concepts without my having to sacrifice a week of work?’ I mean, they’d probably say no, but if you were gonna bail on them anyway, there’s nothing to lose with a little negotiation.

Anyway - that’s my wall of text.

Please remember, I am not in your situation, don’t know you personally, don’t know the job scene in your area, and I haven’t even started applying for jobs myself yet! So if you don’t like anything I said, you are entirely right to dislike it, and you can ignore as much or as little as you like :slight_smile:

Good luck in your job hunting!

1 Like

I would love to see the assignment too … it would be great to know how much of it i could do…
For me personally i would be happy to do an assignment for two reasons … one being if i could do it … it shows i have the knowledge and the skills that they require and secondly if i couldn’t do it it shows me what important areas i have to work on.

here is a link to a youtube channel he uses a pubsub pattern … probably best though to watch the four videos in the series before this one so you can see what he is doing … i came across it when i was looking for modular javascript … and found the whole series excellent.


Just in case you miss it, this post from today offers advice that says ‘don’t do take home assignments unless they pay you’!

1 Like

Personally, I’d prefer a take home assignment to “write a sort algorithm (that you’ll never use on the job) on the white board while we watch over your shoulder and distractingly ask you questions while you’re trying to concentrate”.

Read hacker news on any given day and you’ll find a post about how tech hiring is broken. It likely isn’t going to be fixed anytime soon, so until it is you have to play within the bounds of the current system if you want to get a job.

If the company you’ve applied to is somewhere you really want to work, then you’ll likely have to do this take home assignment to get past the gate keepers. If you’re just ‘meh’ about the company then perhaps spending the 30 hours isn’t worth the effort as it relates to getting the job. Either way, I’d probably take their assignment and do it. Chances are another company is going to ask to see something like this at some point. Then you could pull up this piece of work to say “Been there, done that” and you’ll have learned some new things in the process.

Companies should be paying candidates to do these take home assignments, but that isn’t the case everywhere.

1 Like

Actually, I didn’t apply. The CEO of the company contacted me through my LinkedIn profile. This is the main reason I thought the interview was ridiculous. He found me, he looked at my skills and he called me in. But he’s not the one who interviewed me.

There are actually several red flags about this company that actually make me feel glad they didn’t make an offer because I would’ve accepted and after all this I’m thinking that would’ve been a bad thing. (The CEO contacted me and gave me the lead dev’s email if interested and if I have questions. I email the lead dev with questions. He replies two days later and asks me when I’ll be back in Canada so I can go in for an interview. I reply that I am coming back two weeks later, Oct 26, and available for an interview anytime. No reply from him after that. I get to Canada and two days later email him again telling him I’m back and free to go in. Still no reply a week later. I email CEO asking if something’s wrong with lead dev’s email. CEO replies within the hour saying he’ll mention it. Lead dev finally replies an hour after that to set up interview. Two days later, I get this interview. Five days after that, I email the lead dev to explain that the assignment is just too far above my current abilities at this point in time. I also have questions about the interview itself. I cc the CEO. CEO replies that he will discuss it with lead dev and get back to me. That was two weeks ago and still no reply from either of them.)

I have met up with the Toronto FCC chapter a couple of times and plan to go again soon. Re Slack, yeah, for sure. That would be great. Thanks!

I actually did think of that. But the requirements were worded in such a way that suggested it wasn’t to see how far I would get. It was to see how well I did it. This is a quote:

demonstrate your ability to use SASS and set up a task-runner workflow


We will be evaluating you on the readability/cleanliness of your code and the quality of your commenting, adherence to widely accepted web best practices for JS/HTML/CSS, your approach/reasoning to how you structure your code for reusability and the overall quality of the final product.

Given the fact that there are so many aspects to the assignment that I haven’t even learned yet, I know what my “ability to use SASS and set up task-runner workflow” is. It’s crap. LOL It’s at the level of someone who has never learned it and is just reading the docs for the first time and slapping something together.

“Overall quality of final product”? Unless I’ve got two months to do this where I can learn everything I need to know and practice it all a few times, it’s also going to be amateur because that’s what I am.

The way I see it, if they feel that it’s worth testing me on in the first place, then there’s no point in doing it because I already know the result is going to be that of someone who just looked at how to do it for the first time. If they were OK with that, they would not test me on it in the first place.

Another thing I thought was, “maybe they are throwing all this stuff at me, knowing full well that it’s far beyond my abilities, just to see if I’ll at least try. Maybe they want to see if I’ll rise to the challenge.” My second thought was, “I don’t have the time or desire to play BS amateur psychology mind games and sink 30 hours of time into one interview.”

So it’s not really that I’m looking at it the wrong way. It’s more that I disagree with that as an interviewing method if they are trying to overwhelm me just “to see how far I’ll get”.

LOL. Sounds like you know enough that it would just be boring for you. I wish I could send them to you, but I don’t want to name the company publicly or send out their docs out of respect for their privacy.

Thanks for the long reply, Jackson. Lots of good points.

Definitely taking this as an opportunity to learn. They’re all going on my “to learn” list!

Thanks for the link John!

Ideally, I think the best test would be to give you something to do for an hour. Not algos. Not take-home. Bring your laptop, here’s the wifi password, make this. You’ve got one hour and we’ll discuss what you’ve done at 2pm.

But you’re right. If this is how every company out there is doing things, I’m going to have to bite the bullet and accept that I’ll have to do a take-home test. (That said, that’s only half the gripe here. The other half was how far out of my depth it was.)

Oh well. At least you learned something, right?

Today morning I was asked to do a take home assignment in which I had to build an online movie ticket reservation system all the way until the confirmation without the payment integration. (Seat selection, credit card validation, REST API et all). I was applying for a full stack role and I have 4 years experience doing front end development. The recruiter had explicitly mentioned that I didn’t have to prepare anything before hand. Spent 3 hours stuck on boilerplate setup for React SSR. I have only a total of 8 hours to deliver the whole assignment + read me + live links. FML.