I spend a lot of time interviewing programmers. This has caused me to reflect on the changing nature of the programmers’ basic skill set.
Once upon a time, it was easy, I interviewed games coders; if they knew C/C++, basic 3D maths, were keen and not too socially objectionable then they got the job.
These days it’s much more complicated. I’ve seen CVs from people with 6+ years development experience and yet when I ask them a basic programming question they seem to get stumped.
It’s a puzzle to me. It seems that nowadays a lot of people learn some basic use of a language (c++/c#/java), some APIs then get comfortable and stop there. This is a major problem in my industry, and I would propose in any industry.
Recruitment takes a lot of time and effort so I’ve started to look at ways of quickly filtering out candidates who can’t do the basics. One of these is the ‘fizzbang’ question.
A ‘fizzbang’ question is a very simple problem solving question that requires you to write some basic code; no reliance on APIs, no language subtleties, just Plain Old Coding.
I got the idea from looking at Facebook’s job puzzles. In particular Hoppity Hop.
So, I knocked up a few of my own – here’s a simple one ( not one I use I might add!)
For all numbers between 1 and 101 (inclusive ) at each integer in that range, output the following to standard output:
- If the number is even then print ‘even’
- If the number is odd then print ‘odd’
Simple right?
I like it because it tests some basic skills that all coders need to have
- Can you read and analyse a requirement
- Can you solve a basic problem
- Can you write some code without resort to refactoring tools, help docs, google or intellisense
You’d be amazed how many people can’t do any or all of the above :(
If any of you want to try the question then feel free and if you have any other suggestions for good fizzbangs then mail me
No comments:
Post a Comment