These past few weeks, I’ve been doing some work for a new client. Prior to getting the gig, I did the all the usual things: sent my prospective email, went to meet the client, etc. However, this client, a big web agency, did something I’ve not experienced before – they gave me a programming test.
What the test involved
Did I say test? Actually it was more like a challenge and no I won’t tell you what the challenge was nor who the agency is so as to save them having to change their test. Suffice to say, the challenge was to create a PHP version of a simple game.
They didn’t ask me to perform the challenge there and then – they asked that I go away and have a solution within a day or two. This first part of the challenge is all about time management and ensuring the employee is capable of meeting (relatively) simple deadlines.
After getting over my initial frustration and bewilderment, I thought, ‘How dare they ask me to do work without paying me!’, ‘Don’t they know how busy I am?’. Once I started the assignment, I discovered that I actually loved doing it. Although, the agency stated they were more interested in how I went about the implementing the game (in an MVC fashion) – if I did 30 minutes work in the right way and it wasn’t finished – that would be better than spending 4 hours, getting it to work but in the wrong way. I actually wanted to get this challenge finished to perfection but I wonder if that says more about my personality and than the test per se.
The advantages of testing
I fully understand why these guys test their programmers, they’re a very busy web agency, producing top level work, and they need experienced people to hit the ground running. They don’t want to hire someone who talks the talk in the interview but on their first day they admit to not knowing any PHP5 or CSS.
The more Manchester web agencies I speak to, the more I hear the same thing – that they are struggling to find good web developers – to be honest, a lot of them are struggling to find bad web developers. Although testing potential employees might not gain you more applicants it could get you better employees and enhance your reputation amongst developers as an agency where they want to work.
Since working at this agency, I’ve seen quite a few developers and they all seem to know their stuff. I’m convinced (and so are the agency in question) that this test is responsible for weeding out any bad apples who otherwise may have found themselves employed.
Summary
If I had a web agency would I challenge the programmers before hiring them? Yes, I think I would unless I had already seen their code and knew it was up to scratch.
Have you been tested before starting a job? What did you think of the process?
After leaving uni, I had an interview with an agency over in Lancashire, which was quite small. The guy had started it with support of his Dad after he’d finished uni years before. He sent me a test, which was designing a simple e-commerce MySQL database with various things he/the client needed.
The interview was the longest of any I’ve had and he loved the solution I’d given him, which gave us a lot to talk about. Needless to say, I was offered the job.
I’m with you that testing gives you some kind of confirmation that the guy you’re considering hiring can actually do what his CV states. Why don’t more agencies do it?
@Dan: What I liked about the test I did was how abstract it was. The agency could have asked me to do a ecommerce site or simple CMS but by creating a simple game it gives the developer a chance to showcase their skills.
I’ve only ever work for one company so far who never actually gave me a test or task to complete at interview, however, I did send them a portfolio of websites I had design on a CD with my application form.
I do think that if your hiring a web designer, programmer or related computer field, that a test should be mandatory for the applicant. I bet there are lots of students who have done every computer related course under the sun, but no practical application in real business.
This reminds me of the FizzBuzz problem (http://gatekiller.co.uk/Post/My_Answer_to_the_FizzBuzz_Problem). A simple programming exercise but effective.
Cheers
Stephen
Yahoo! has more of a quiz approach. Check out their questions.
http://www.nickhalstead.com/2007/05/23/php-interview-questions-from-yahoo/
I think testing is good thou. Even if you see an other sample code, you don’t know if they did all of it or it was a team effort. I like the idea of making it a simple game too.
I’ve developed tests for developers but usually they are designed to take about 20 – 30 minutes. We get an idea of how they follow simple requirements and how they go about structuring a program. It provides a quick read as to how a person approaches a problem. We can then discuss what they did and why.
There are too many candidates that talk about projects they participated in when what we need to know is what they actually did on these projects.
@Richard
I totally agree. I know that there’s many sites I built from the ground up front and back-end but many more that I’ve either bug-fixed or support another developer along the way. Maybe candidates need to know that they should be straight(er) with their prospective employers and volunteer their roles in the projects they associate themselves with.
It’s either a (prospective) boss or a client, it can’t be both. If it’s a client a test is ridiculous; there are third party audits and your always hiring a company not a person.
If it’s a (prospective) boss then a test makes sense. Esp. with ppl right out of uni.