Here's a long story: I did a sample work test last week, limit 4 hours; it was for a LAMP developer position (if you check my post history you can see for whom!). The entire time I spoke with an HR rep, which I've no issues with but felt very impersonal. I was e-mailed the project and requirements, and there was no vagrant included. I had a few vagrant boxes of my own but I figured I'd just get a new one from puphpet... HUGE mistake. puphpet box requires latest version of Vagrant. Vagrant successfully updated after over 40 minutes (this includes Vagrant updating ALL existing boxes). New and shiny puphpet box didn't work. Try existing LAMP box, something went wrong with the update, it's broken. Too much time lost, install WAMP quick! Uh oh, missing DLL file... Installed wrong DLL (x64? x86? I don't even remember), 2 computer restarts. I had a dev environment after 75 minutes. Water break 5 minutes, I was now stressed out.
I spent the rest of my time with the exercise, already drained but the exercise was very simple which was encouraging. Unfortunately, 2.5 hours just wasn't enough: I missed two of the requirements and I wasn't happy with the UI. The framework for it all was already there, I used PDO prepared statements so I wasn't worried about SQL injection, but knowing that I didn't finish the project I knew my prospects went dim. Oh, and this was after work so I was coding from 8pm-12pm.
I sent it in, two days later, I received an e-mail from HR person saying I wouldn't be moving forward. Overall, a draining experience, nothing gained (usually talking to technical hiring managers you learn something), no consolation prize of a technical review on the project, no offer. I probably won't be doing one again
I have mixed feelings about work sample tests in general but giving someone a work sample test with a hard limit deadline like they are taking the SAT or something is fucking stupid, no mixed feelings there.
Designing the test so you think it will take X amount of time on average to keep things simple for everyone is a reasonable thing to do, but actually putting a hard deadline (at least one that isn't much longer than you expect the test to actually take... like say a week to do something you think will take 4 hours) on it just because that's how tests usually work is just brainless.
Shit happens in life and you should not expect competent people to drop everything just to jump through your hoops for 4 (or whatever) hours straight no matter who you are. A person who can't perform your test adequately isn't suddenly going to power through it because they had more time, they'll just fuck things up even more with the extra time. Even ignoring all that, if you really want to hire the best developers (and lets assume such developers will deal with your work sample test in the first place which surely isn't a given, btw) wouldn't you rather give the dedicated craftsmen who will pour more time than you expected (out of professional pride for things they put their name on) to come up with a really clever implementation to show you what they are actually capable of building rather than just show you what they can shit out in a couple of hours?
Putting a hard & quick deadline on it is such a dumb thing to do. Please don't do this if you are a hiring person, because secretly everyone will shake their heads and laugh at how stupid you are for doing it.
Yeah that sucks. I do think it is important that the potential employer make it easy to complete the sample work within a reasonable amount of time. As in your case, they should have taken care of the system admin and given you a Vagrant image or AWS instance or something similar since I am assuming they weren't testing you on your system admin abilities.
Oh man, I feel for you. If you want to and are legally able, you can send the sample work to me and I will review it for you. (I am firmly settled in a different country -- zero chance of application plagiarism).
It is a complete and utter pain for setting up and managing development environments.
I've been running a separate Linux box for 7 years as a development server - preconfigured, new virtual host, get working. It's a pain when per-project technology is needed and I want to find something better.
Vagrant is hip, so I've used that for the last 3 gigs. Getting the box functioning well, working round issues has cut my productivity by ~15% and doesn't seem to be decreasing with experience.
Depends on how much work it is. The company should put roughly the same investment of time into you that you do into them.
Also: involuntary unemployment happens in our industry. Sometimes it can take a while to find a new job. People who live in top-5 cities might say "any good candidate has offers three deep by the time they leave," but that's just their big city privilege speaking. Since we are talking about remote workers, most of them are in places where this isn't the norm.
So, anyway, if one is involuntarily unemployed, it's nice for there to be some employers out there who would say "here, spend 8 hours working on this," because it gives said-unemployed a chance to show off that they would be a good hire.
It has benefits and drawbacks to the hiring process, and I definitely worry what would happen if all employers demanded it regardless of the job market. But it sure beats "tell us about your last big project" and then waiting to make sure the candidate says the right buzzwords.
I think it does mean you're likely to get involuntarily unemployed people vs. employed people. Good or bad, I don't know but you are self selecting for people who have less value for their time.
Personally, I would never do sample work, but perhaps I'm not the target candidate.
I've been working remotely for ... 8 years now? I've worked for startups through that time and it's always been companies that were already aware of my work.
I don't think I'd ever go through a proving process, but I've been doing this a long time. Perhaps for someone new, it makes sense to do that.
To me it feels insulting, and I've heard stories from friends that they've done sample work that has been used within the company, but they didn't get the job.
If the "sample work" only takes a few hours, then I think it is okay.
As an interviewer, I would much rather this than ask candidates a bunch of technical questions which probably don't relate too much to the actual job. I also get to see how they write code, use source control, etc. Then the interview time can be spent determining if the candidate has good communication skills, is a nice person, etc.
As a candidate, I would much rather a "sample work" test because I am a pretty good software engineer but often fail the brain-teaser technical questions. I would much rather have an opportunity to prove that I have the technical capability to perform the actual job.
I just updated the post to include some more context:
> The test should only take a few hours. We want to be cognizant of everyones time. If it is more than a few hours we always pay the candidate for their time.
Sample work in liu of interviews, of the same length, is ok. Especially if your already working and cannot interview during their work hours. Or an interview would be at midnight at someones location or similar.