Developer Interviews Are Broken, and You Can't Fix It
gayle.com
gayle.com
I.e., pick a real project that will take 10-40 hours. Pay them to do it as a contracting/interview project. That even works for someone who already has a job, because they can do it in the evening/weekends.
Asking me to do a 5 hour homework project is an insult, but a paid short-term contract is fair. (However, some people have employment contracts that forbid side work.)
However, even that is abusable, because the person might find a more-qualified friend to help them on the trial project, who wouldn't be helping out for real projects.
I read another interesting post by someone else (I think it was the Monsanto guy), who said "Don't filter people out at the phone interview stage, unless they really fail the phone interview." His reasoning is that you're selecting for people who sound good over the phone.
That assumes they're allowed to work on the side as part of their employment contract.
1) People who are employed and are prohibited from working for a second company (which may (I don't know) preclude all of Amazon, Facebook, Google, Microsoft, Yahoo, etc etc).
2) People who do not have much time outside of work (because they work too much, maybe missing them is a good thing?)
3) People who do not have much free time outside of work because of non-work (e.g. family with a bunch of kids)
Also how does that work for companies where
1) Source code for their projects is quite secret (unless, are you suggesting the project be some random thing unrelated to the company? In which case, that might be a lot of money down the drain)
2) Spin-up time for new employees vastly exceeds a 10-40 hour project (maybe they need a long time to ramp up)
I mean I like the idea of a paid project, I just don't see it working for a lot of candidates, or a lot of the industry.
If you're expecting me to put in a lot of time BEFORE I meet you, I'll just pass. After I meet your team, it'll be easier for me to decide if I want to put in more time jumping through hoops.
One advantage of giving people homework is that it DOES filter out a lot of candidates! Does it filter out the good ones or the bad ones?
To organise real projects that will take 10-40 hours seems very expense on the companies time, even if it was possible.
It takes weeks to months to get people up to speed, you'd need to spec it out, explain context, work place health and safety, legal, insurance, how does team work play into this?
If you have easy 10-40 hour projects lying around why haven't you just outsourced them?
People might get down on this article because of it's negative framing, but the reality is to improve the situation, one has to really understand what has been tried, why it did or did not work.
Great stuff here.
I wouldn't take on the pessibimist's attitude like the author, but encourage folks to keep trying new ways of interviews and sharing what worked and what didn't on both the ends on the web.
Just like other software processes like Agile development, Code Review, Release process - the more open companies can be in sharing their strategies the more input others can add and experiment and who knows maybe come up with something a whole lot better than what has been the trend for the past 20 - 25 years started by Microsoft.