Is anyone else tired of being assigned homework when applying for jobs? In both this and the author's previous article on hiring, he mentions giving people tasks to complete by a certain deadline as part of the hiring process. For someone that's just starting out as a programmer then maybe that's reasonable, but for those of us that've been in software for years, what's the point?
You wouldn't ask a carpenter to make you a closet before you decide if you want to hire them, you look at the other houses they've created (at least, you should. There's a lot of crappy carpenters out there, and it feels like I've worked with them all). You don't ask your mechanic to change your oil for free, and then MAYBE you'll let them fix your car. So why is this just the status quo for software developers now? I have a job and family, why the hell would I want to spend my free time jumping through hoops for you when you could easily look at all the work I've already done?
I dunno, just my $0.02. I've been asked to do a lot of dumb programming challenges before job interviews, and I'm over it. I'm a professional and my time is valuable, why would I want to waste it figuring out how many ways you can turn a string of numbers into math problems?
Well, for context... This is for hiring a freelancer on oDesk, and he's paying them to do the homework. It seems like a pretty fair way to evaluate a candidate.
If you have a look at his examples, they seem like reasonable questions too; they're not "turning a string of numbers into math problems", they're practical demonstrations of applications of the different technology stacks. If I were hiring a freelancer for a project, I'd probably do something like this with the option of just showing me some past work instead.
I've honestly never hired a carpenter or mechanic for a business before; from what I understand though there's usually a short probation period at the start where they're paid but can be let go summarily. This is the same kind of situation, only it's a shorter period.
> when you could easily look at all the work I've already done?
While I agree with you that homework-style pre-screenings aren't something I like, I think for a lot of people it's hard for prospective employers to look at previous work, since it may be proprietary. Also, this is for a contractor role, and he says he pays their full rate for this homework assignment.
This. After the first 1.5 year I had nothing to show because the products either didn't launch, or were software for companies internal usage. So I would have been happy to do that. And since it's paid at the full rate, what's the problem?
40 years of programming experience here. As far as I am concerned, if a potential employer wants to hire me for an hour or a day or a week to try me out before making a hiring decision, that is a fair exchange. In fact, where I live, an employer can fire you without notice and with no reason at all during the first 3 months of the job. That's the law, and this blog is really just about a more sensible way to pick people for the 3 month trial that are more likely to stay the course.
This is certainly preferably to wierd programming quizzes and coding on a whiteboard in front of silent people who give no clue as to what basis they are judging you. At least this guy gives you requirements and you know that you must provide a working application within an hour. Very clear targetted goal to aim for.
I generally solve this issue by paying the developer for the programming challenge. Usually, it's something that benefits the project that I'm working on. Then, if I hire them, it's a pretty easy transition.
So what if I find a bad dev or two and lose a bit of money. The good devs way more than make up for the investment in the bad ones.
It's the other side of the coin to culling out folks who don't have "public" work that you can look at.
I have been encumbered by IP agreements for years that make showing my code to anyone seriously problematic. Even talking about certain architectures can be borderline.
A paid hour is a reasonable amount of homework if someone is actively looking for a job. You can't pull someone from a firm that isn't looking, but for contract work, it's reasonable. If I'm actively applying for a job that I am very interested in, I want them to do a lot of things that scare away other candidates and will allow me to shine. I've happily done 4 hours of unpaid homework. An hour is perfectly normal.
Exactly. Getting hired for a normal salaried job can easily involve an hour or two in phone screens, and then basically a whole workday in on-site interviews. An hour for a contract position seems completely reasonable.
Right, you would look at similar things that your potential carpenter has built. You would also try to do that with programmers. But a good deal of the things programmers built are team built, or proprietary, it's difficult to know what they've created in the past. Having them work on a simple task beforehand is a way to normalize and make sure every programmer you're looking at is on a level field.
Also, unlike a programmer, a carpenter can't simply copy+paste work that someone else did and claim it as his own. It's a lot harder to fake tangible work in real life than it is to fake intangible work on the internet.
They can point at a house and say "I built that" even if someone else did, and how are you going to know the difference? The same way as you verify that someone in software did the work they said: put in the due diligence. That part can't really be avoided.
>You wouldn't ask a carpenter to make you a closet before you decide if you want to hire them, you look at the other houses they've created[...]There's a lot of crappy carpenters out there, and it feels like I've worked with them all
The author is saying you could have avoided working with any of the crappy carpenters, if you had paid them to make something dead simple in an hour as part of evaluating them.
Well this one is ok, since he is going to pay for that one hour. Then again, if you do know how to program in the programming language but don't know the APIs used it can be more than one hour to get something done..
I was interviewing with someone that wanted me to make an example sentiment analyzer for twitter and facebook to get hired. But he wanted someone to do it for free, I of course wanted money to do that.
IANAL but my understanding is that on H1B, you can only work for your current employer. So, you cannot do these assignments legally and you definitely cannot accept money. But it is possible to have multiple H1Bs to work part time for multiple employers even though that is a totally different story.
Yes. I'd hire anyone who willing to work and has the skills. To me, great talent is everywhere. You just have to find it. I have just happened to find great talent over seas. I HAVE hired nearshore (USA) and had success and failures too.
You wouldn't ask a carpenter to make you a closet before you decide if you want to hire them, you look at the other houses they've created (at least, you should. There's a lot of crappy carpenters out there, and it feels like I've worked with them all). You don't ask your mechanic to change your oil for free, and then MAYBE you'll let them fix your car. So why is this just the status quo for software developers now? I have a job and family, why the hell would I want to spend my free time jumping through hoops for you when you could easily look at all the work I've already done?
I dunno, just my $0.02. I've been asked to do a lot of dumb programming challenges before job interviews, and I'm over it. I'm a professional and my time is valuable, why would I want to waste it figuring out how many ways you can turn a string of numbers into math problems?
/rant. Whew.