Jeff Atwood writes many programming applicants can't write code!
A simple test he suggests is:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
Here is my trivial C# version (yeah you could make it smaller but it's not a obfuscated code competition).
class Program {
static void Main(string[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0) Console.Write("Fizz");
if (i % 5 == 0) Console.Write("Buzz");
if ((i % 3 != 0) && (i % 5 != 0)) Console.Write(i);
Console.WriteLine();
}
Console.ReadKey();
}
}
As I've just taken a position as Software Engineering Manager at a local company I wonder how long before I'll have to spring such tests on candidates. Apparently the real test is writing this and recursive code in every language on your CV.
Rob Conery has an alternative approach that deals with databases, pressure and observation.
[)amien












Hehe, you're naughty for solving it! ;-)
Congrats on the new job!
I was a software team manager for about 6 years, and we made all our potential programming recruits take an aptitude test that measured logical reasoning. We used it for well over 10 years (hell, I took it) and always found it really accurate. The bonus was that it could pick out people who would be good at coding if trained even if they hadn't done much of it before, and weeded out those that could pass the simple coding tests just by having done a little coding but didn't have the aptitude for the more complex stuff.
We applied this universally and it helped level the playing field between those that were just good at interviews and those that had ability. We only ever had one person who was deeply offended at being asked to take such a test, and my personal feeling is it was because we'd called his bluff.
Congrats on the new post Damien, but shame on you for not using Case!
Andrew
Last night at the higher education fair in Guernsey the man from Cambridge University told me that when they recruit for the computer science course they would expect candidates to be 'real programmers' already. He defined this as 'people who can program from the bottom up' and 'not just surf the internet for snippets they then re-use'.
Funny. Until that moment I always judged it the other way round when recruiting...