Derik Whittaker

Syndication

News


Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
On doing take home assignments before getting an interview

<Disclaimer>
Before I get into the meat of this, or before I start getting 'your an idiot' replay's I just want to state that I am NOT against asking potential employees to take tests.  I just think that there is an acceptable expected time frame that the test should take.
</Disclaimer>

I was chatting with a friend of mine today and he told me that he was thinking of taking an interview with a small .com shop in the Chicago land area.  But that they wanted him to do a 'small take home assignment' before hand.  I told him that sounded acceptable to me as it could be a decent way to judges someone's talent level.  He then forwarded me a copy of the requirements document' for the take home test.  After reading the doc, I quickly slapped an estimate of 4-6 hours of effort to finish the assignment.  When I told him this, he told me that they expect it to take him 10 hours (2 for planning, 8 for coding) or so to complete.  He also told me that they wanted this by Monday afternoon and AFTER they reviewed the code he would be scheduled for an interview.

The take home assignment was to build a complete (i.e. functional) web site from the ground up.  This included the db model, all the domain/business object, the UI, etc.  And from the spec, it was not a simple few tables with a few objects.  The site needed to include user creation, user login, data assignment to a user, data retrieval, etc.  Nothing overly complicated, but would still take time and effort.  And lets face it, if this is for a job, you are going to spend a little more time on it then normal.

When he told me that, I told him that I would pass on the interview.  I personally think that asking a developer to spend 10 hours of their free time in order to simply get an interview is a little extreme.

Like I said above, I have no issues with testing developers, but there needs to be a limit on how much free time you are required to give up.  Do I really need to spend 10 hours of my life to write a fully functional web site in order to get an interview?

There are much better ways of 'testing' ones skills then asking them to spend countless hours on a take home exam.  For example

  • Ask them standard .net questions.  This will weed out 50% of the people
  • Ask them to setup a simple db structure
  • Ask them to do a little object modeling
  • Ask them to refactor some 'smelly' code
  • etc.

In today's job market, quality developers are few and far between.  I personally feel that employees have as much, if not more control then the employer. 

Am I off base, am I being stupid?  I wanna know.

Till next time,


Posted 01-11-2008 12:58 PM by Derik Whittaker

[Advertisement]

Comments

Luke Foust wrote re: On doing take home assignments before getting an interview
on 01-11-2008 2:48 PM

You are definitely not off base. I agree that 10 hours is very excessive. I would only do the exercise if I REALLY wanted to work for this company.

One thing that always puts up a red light for me when looking for a job is when a company takes the attitude of "You need us more than we need you". This isn't too far from "10 hours of your time spend writing throw away code doesn't really matter to us"

Peter Ritchie wrote re: On doing take home assignments before getting an interview
on 01-11-2008 3:08 PM

I don't think you're way off base here.  If there's only one candidate, or they're considering shipping a candidate from another company; this might be more acceptable.  But, as a hiring manager I don't want to spend too much time evaluating the result of this work.  If it's going to take 10 hours to complete, evaluating the work isn't going to be trivial.

I agree, I think there's much better ways of evaluating candidates, plus that's what the probationary period is for.  This smells like a management issue to me.  If they're making candidates spend that much time on a pre-interview eval then they likely won't have any qualms about making employees work long hours to cut down the "per-hour" expense.

Tom Opgenorth wrote re: On doing take home assignments before getting an interview
on 01-11-2008 5:17 PM

I'd also agree that 10 hours is way to long. I'd walk away, or suggest that perhaps I should receive some sort of compensation for this effort.  After all, the time I spend on doing this "assignment" keeps me busy and prevents me from finding work elsewhere.

As well, how do I know that they aren't getting some free work from me?  What is to say they won't turn around and then use this unpaid effort in their own codebase?

Adron wrote re: On doing take home assignments before getting an interview
on 01-11-2008 6:42 PM

That should take no more than 2-3 hours.

:p

anonymous wrote re: On doing take home assignments before getting an interview
on 01-12-2008 2:18 PM

Problem is, they think it only takes you 2-3 hours.  Time is relative because everyone has different expectations, and different ways they approach code.  Sure, shitty developers may do it in 2-3 hours.  Even whiz kids can in 2-3 hours however do you want that type of expecation to your team?  That's what is the problem with business in general.  Sure, business wants it done, has to be.   But look at how many fucked up IT departments are out there because of this.

That's not a smart or realistic approach to IT or interviewing when you need to ensure that you're not just coding and running, but that  you are doing x other things to make sure the code is efficient.

They give no real direction on DB schema, how far to go with this.  And, so yea, if you want a hack job, sure 2-3 hours.  They did not tell you this up front, they  just say do it.  But then you find out oh, they expected only 2-3 hours if your time you find out.

I love it when management dictates to me 2-3 hours for even simple web forms.  Reality is, if you're a good coder and care about doing it right, 2-3 hours is a slap in the face and the most idiotic thing you can expect when the assignment really is a 10 hour job.  When I say 10 hour job, I am saying lets say they want you to create not only backend and front end, but a checkout sy stem that accepts concurrent users, sends back random confirmation numbers, *** like that.  That's way overboard.

Makes you wonder if they expect this, then how is their code base behind the scenes.  Do they take and expect only a 2-3 hour hack job?  Do you use layers effectively or a hacked layered approach?  Are these interviewees who have passed it in 2-3 hours who you have been told got hired on, really know what they are doing?  It just worries me, that this kind of approach is expected when most of IT these days are in "chaos" m ode because of these ridiculous expectations and no push back to management saying hey, that's a 6 hour job, because we're gonna f'ing unit test it, we're going to spend some time looking up proper design patterns for this small web form or what have you.

I think expectations can tell you a lot about the shop.

jason wrote re: On doing take home assignments before getting an interview
on 01-14-2008 6:22 AM

I dont think your'e off base here. Only "problem" I see is if there are so many developers out there - ready to create a website from ground up (with underlying database etc.) - I'm afraid I'm gonne be out of work pretty soon. Come on, 2-3 hours?!?! I know I wouldn't hire a developer that quick - I'm thinking with horror on what that codebase would be like... :-)

Tomas Tintera wrote re: On doing take home assignments before getting an interview
on 01-14-2008 7:06 AM

This approach lookes like the hiring company can not find out quickly who is a good developer. Maybe they do not have enough knowleable people doing hiring decisions. Then assigning complete task (build up whole website) can help them hire.

I would not be happy in such company. Rewars and etc. will be fuzzy in such company.

Or is the job very one-man show and then it can be a good job for some time for an experinenced developer.

Sure there sould be compensation.

TomW wrote re: On doing take home assignments before getting an interview
on 01-14-2008 9:22 AM

You can gauge how good a developer with twenty *well chosen* questions, sounds to me like they want a website for free ;-D

Definitely overkill - not a good way to recruit, I'd run a mile.

Jason Short wrote re: On doing take home assignments before getting an interview
on 01-31-2008 4:56 PM

That is WAY WAY overkill.  I have done things like that in past after we had narrowed the field down to the last 2-3 people.  But what I would do is tell them up front what is happening (You are 1 of 3 we might want).  

Then I will offer to bring them in on a weekend and PAY them for it.  Usually people have full time jobs, asking them to spend that kind of time out of work is just silly.  If they are out of work we can do it on a work day.

There are plenty of ways to screen out people before hitting this level.  A friend of mine had to spend about 10 hours on a similar assignment after a phone interview on Monday they wanted it Wednesday morning.  That is totally crazy for someone with a job and family!

Be fair to people, you wouldn't want someone doing that to you... Don't do it to them.

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)