> While they said I shouldn't spend more than a "couple of hours" on it, it took me pretty much one and a half days to finish.
Basically every take home assignment. Half the time someone doesn't look at it anyways. In theory everyone should love this as it's supposed to be practical real world work vs the mostly academic hackerrank problems. In reality it's usually a waste of time. Sadly if someone has a take home like this I usually skip them unless it's very basic.
Oh may be they are not the hacker news reading type :). Some large enterprises still wants slideshows and case studies with a link to white paper downloads filling the home page with less reference to what exactly you are doing!
who knows yet the site has one purposes only to report interference and they do have a button on their homepage to do that. Thus, I empathized the main purpose with as little text as possible and a bright purple button.
It would have been nice of the company to get back to me, but yeah Im unlikely going to ever do post interview homework again.
This is making me think that maybe I’ve been doing these wrong.
If someone says “don’t spend more than a few hours on it” then I assume that’s part of the task requirements. I’ll get as much done as I can in a few hours and put a TODO section in the readme. I assumed that the reviewer will go through the commit history and it’s a red flag if something that should have taken a few hours takes you significantly longer.
Perhaps this is the wrong approach as the last one I did I didn’t even get a response to my submission.
Of course, this all assumes that the interviewer has an accurate idea of how long it should reasonably take.
What I've found is they're actually looking for the candidate that goes above and beyond. That "should only take 3 hours" might be true for the basic ask, but you'll never get called back. It's especially common for startups because they're looking for someone who is going to generally have longer hours and lower pay. It's smart for them because it puts most of the work on you, just a very bad experience for the prospective candidate.
I figured out it's code for: build me the assignment, plus other functionality you can think of, polish it nicely, write unit tests and integration tests, and deploy it so I don't have to pull down your github repo.
I'm not against take home, I just don't want to spend my entire weekend just to get to the phone screen. These kinds of assignments are usually step 1 of the funnel and it was very frustrating get rejected without any feedback.
Now I just screen for any companies that require it because it's better for my quality of life.
I have only had one such assignment (every other timed problem set I have received has had a hard deadline), but I was unceremoniously rejected after doing what you describe. To make it worse, it was "don't spend more than 8 hours". They basically gave me a weekend project.
I had one which was "this is trivial, and shouldn't take you more than an hour." Which after looking at their very unclean data set they wanted to perform analytics on (lots of missing/incorrect/... data), and the effectively random set of formats that I had to deal with (some mysql dumps, some CSV, some weird IBM mainframe DB txt dumps, etc.).
I had started on this on the Friday afternoon they gave it to me, hoping that I could work on it Saturday. That was blown, along with much of Sunday, for family obligations. Sunday night I continued, and made great/rapid progress.
Went to sleep with the idea that I'd get up early and finish it.
Though at 10pm, my mother-in-law had to go to the hospital for a severe flu, so I took her, and waited with her, with my laptop, and worked until 5am when they released her. Drove back home after dropping her off, and caught a few hours of sleep.
Company sent an email asking for my solution Monday afternoon, and I said "almost done." Had some formatting/testing I wanted to do.
They said, "no, we're done."
I was more than a little pissed. But, upon reflection, this gave me a great signal as to the nature and quality of the company and its environment. I sent a nice letter to the CTO thanking him for the opportunity, noting what I had left to do. He said "hold on, lets talk."
I said, "no, we are done."
I had several real offers by then, and didn't need any more.
Excellent response, if true. Companies treating candidates like garbage are the scourge of our industry. You should name and shame but I understand why you don't.
I've started to do the same. I don't know how sad it is; it signals to me that they have no idea how to select good engineers and don't care about interview feedback. In my experience, these are also the companies that ghost you if they go with another candidate.
You want me to code something for you? Sure, I'm happy to sit down with one of your engineers and we can collaborate on a pair programming exercise--something that can be completed within a couple of hours and doesn't require domain knowledge. That way the company is very mindful of how much time it takes, because it actually costs them something (engineer time). Otherwise, it's all too common to see projects of the "rebuild half our app from scratch in a couple days, but use this terrible schema and do it with our exact stack, which you may not know yet" variety.
How would you react if I agreed but... sent them a link to working web application, such as on Heroku, instead of full source code ? This clearly demonstrates a person can code, and they have no rights to demand that I hand it back. (They still did in the last place I got a job, so I ended up working for them for free for a week and then 3 weeks as an intern initially). If they insist on source code, I can offer to come with printouts and discuss it.
Basically how to defend against this ? Can I have the cookie and eat it ? There isn't plenty of offers to choose from in my area.
The last time I did such an assignment they had the nerve to say it really only takes 2 hours (rather than a week), and ask for documentation and 70% test coverage. Basically a short review then plug and play.
They test you if you can do the work, you test them if they can pay. A company should be more financially stable than you, so they should pay for the recruiting process.
If they pay, it's their work. But if they give you real work to do for free, you probably don't want to work for them, as it's a good chance they'll take advantage of you again at some point.
Get really good at what you do and you'll find good work on your area or remotely.
I think you have the right idea. My last challenge took at least 20 hours because i had to use their api. without any feedback in return it's not a smart trade off.
The most time I'm willing to dedicate to these sorts of assignments is 1 hour. If they don't think my time is valuable, then I probably wouldn't want to work for them.
There was this one time when I got the job despite refusing to complete their Hacker Rank test, they decided to look at my github instead.
I believe it's a valid strategy to reject bad tests that waste your time.
Basically every take home assignment. Half the time someone doesn't look at it anyways. In theory everyone should love this as it's supposed to be practical real world work vs the mostly academic hackerrank problems. In reality it's usually a waste of time. Sadly if someone has a take home like this I usually skip them unless it's very basic.