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
HM: I need a budget to spin up AWS instances.
PHB: Ugh, are we recruiting poor people? We need self-starters!
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.
There has to be a better way.
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.
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'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.
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.
> 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.