Grey Hair versus Grey Matter
I’ve just been through the process of writing guidelines and tests for recruiting developers into Egg. The challenge is this: How do you ensure that you get great people, rather than just good ones?
This problem occurs everywhere, but in a fast-paced environment where good people are already running at speed the costs of bringing in bad people is compounded and can cause entire teams to stall. In the worst cases it can cause teamicide.
Some of our HR guys started telling us about interview techniques to drive out which bits of the CV are true and which may be exaggerated, but it doesn’t tell you if they can do the job or not. And to avoid the catch-22 of needing experience to get a job to get the experience I felt we needed something that showed whether somebody had the right thinking rather than the right experience.
So, Paul Umbers and I, put together some questions to try and sift the wheat from the chaff. I’ll not list the specific questions, but try to give an overview of the types of question.
General Knowledge
Ask questions designed to look at how well-read the applicant is in the fields they’re applying for. For Internet developers, ask them to list five different web browsers – anyone can list two, most web developers can list four and good ones can list five. For a DBA, ask them what their opinion is on PostgreSQL or some other RDBMS they don’t cliam to know. Ask software engineers to list half-a-dozen IDEs and so on.
Design Questions
Pick a suitable problem for the type of design decisions the applicant will face each day. This might be a piece of Interface or API design or it might be broader. Try picking something unusual, like ‘What would be better than Fish Fingers?’ and ask the applicant to work through their answer.
Maths
Writing code is often a mathematical task. Working out how many times a loop will execute, or the level of nesting of a function call and making those functions more efficient often requires rearranging equations or rearranging the way you’re thinking about them. Ask questions like how to find the centre of a circle, those old questions about two trains leaving New York and Seattle and so on.
Puzzles
Puzzles are always fun. Try the ‘Tower of Hanoi’ or the ‘Fox, Hen, Corn’ problem, asking the applicant to explain the process as they go. These not only give you a good idea of their mental agility, but also their willingness to attack a problem and possibly fail in front of an audience.
Coding
Coding problems are obviously worth exploring with an applicant for a development role, but be careful that you pay attention to the important things. Logic, attention to detail, ability to explain their thinking, readable code are all important things; missing a semi-colon is not.
Bug/Style Spotting
A technique brought up by Paul Chesterton, as a result of a member of his team checking in a 100 line C function with 97 bugs and style issues. This technique relies simply on giving the applicant a copy of the code and asking them to talk through as many issues as they can see with it. Even non-C coders will spot many, such as absence of comments, unused or uninitialised variables. In this question, rather than the previous, spotting missing semi-colons is important. I’d love to publish this piece of source, but it’s Egg’s, so I just can’t.
In short, I think it’s about looking at how people think, not where they’ve worked.
Additional comments powered by BackType
Search
What I'm Doing...
- @JingyeL I don't know yet, someone from here will be. in reply to JingyeL 1 week ago
- @JingyeL are you going to ISWC 2010 in November, Shanghai ? 1 week ago
- Back from work to find 666 unread emails waiting for me — must be a sign... 1 week ago
- More updates...
Recent Comments
- Charles Cox on Distributed, Linked Data has significant implications for Intellectual Property Rights in Data.
- Puia on ISBN 10/13 Converter in Excel
- tee on Fixing a plasma TV
- computer doctor on Fixing a plasma TV
- Mars on left wondering…
- neeli on Pranav Mistry: The thrilling potential of SixthSense technology | Video on TED.com
- infopeep on You’re not the one and only…
- talisians on You’re not the one and only…
- olyerickson on Semtech 2010, San Francisco
- PaulMiller on Semtech 2010, San Francisco
Categories
- .Net Technical (8)
- Blog on Blog (6)
- commands I have issued (10)
- Enterprise Architecture (19)
- event (4)
- Fiction Book Review (2)
- Food (2)
- Intellectual Property (9)
- Interaction Design (27)
- Internet Social Impact (43)
- Internet Technical (16)
- IP Law (10)
- Library Tech (19)
- Linked Data (1)
- Music (2)
- New Toy (4)
- Non-Fiction Book Review (7)
- Ontologies (6)
- Open Data (7)
- Other Technical (20)
- Personal (36)
- Random Thought (16)
- Resourcing (4)
- Review (1)
- Security And Privacy (11)
- Semantic Web (32)
- Software Business (11)
- Software Engineering (37)
- Talis Technical (9)
- Uncategorized (44)
- Working at Talis (26)
- [grid::blogpaper] (8)
- [grid::fatherhood] (4)
Archives
- July 2010 (1)
- June 2010 (2)
- February 2010 (1)
- January 2010 (4)
- November 2009 (10)
- October 2009 (4)
- September 2009 (2)
- August 2009 (9)
- July 2009 (12)
- June 2009 (5)
- May 2009 (6)
- April 2009 (7)
- March 2009 (3)
- February 2009 (6)
- January 2009 (10)
- December 2008 (4)
- November 2008 (4)
- October 2008 (9)
- September 2008 (23)
- August 2008 (8)
- July 2008 (1)
- June 2008 (1)
- May 2008 (6)
- April 2008 (14)
- March 2008 (3)
- January 2008 (5)
- December 2007 (6)
- November 2007 (13)
- October 2007 (9)
- July 2007 (2)
- June 2007 (1)
- May 2007 (10)
- April 2007 (5)
- March 2007 (11)
- February 2007 (10)
- January 2007 (13)
- December 2006 (8)
- November 2006 (8)
- September 2006 (2)
- August 2006 (1)
- June 2006 (2)
- February 2006 (2)
- January 2006 (3)
- December 2005 (3)
- November 2005 (2)
- September 2005 (2)
- August 2005 (5)
- July 2005 (8)
- June 2005 (3)
- May 2005 (2)
- February 2005 (1)
- January 2005 (4)
- December 2004 (3)
- November 2004 (6)
- October 2004 (2)
- September 2004 (2)
- August 2004 (5)
- July 2004 (1)
- June 2004 (4)
- May 2004 (4)
- April 2004 (3)
- March 2004 (13)
- February 2004 (6)
- December 2003 (3)
- November 2003 (1)
- August 2003 (2)
- July 2003 (1)
- June 2003 (2)
- May 2003 (1)
- March 2003 (1)
- January 2003 (1)
- October 2002 (1)
- May 2002 (1)
- March 2002 (1)
- August 2001 (1)
- May 2001 (1)
- April 2001 (1)
- January 2001 (1)
- December 2000 (1)
- November 2000 (1)
- December 1999 (1)
- November 1999 (1)
- July 1999 (1)