Warning: include_once(/home/resonantstudios/gratis/eclecti.ca/public/wordpress/wp-content/plugins/wordpress-support/wordpress-support.php): failed to open stream: Permission denied in /home/resonantstudios/gratis/eclecti.ca/public/wordpress/wp-settings.php on line 221
Warning: include_once(): Failed opening '/home/resonantstudios/gratis/eclecti.ca/public/wordpress/wp-content/plugins/wordpress-support/wordpress-support.php' for inclusion (include_path='.:/usr/local/lib/php:/usr/local/php5/lib/pear') in /home/resonantstudios/gratis/eclecti.ca/public/wordpress/wp-settings.php on line 221 M3talinks For 05/11/2011 | Eclecti.ca
Here’s a perfect example of how the computer field is broken:
In a post at Coding Horror, based on earlier posts at Imran on Tech and Raganwald, the author parrots what the others state, that programmers can’t program. With lots of exclamation points.
Why make such a breathtakingly grandiose claim? Because of what happens in interviews. It would seem that the originator of this newest fooflah created a series a tests given during the interview process and found:
Between Reginald, Dan, and Imran, I’m starting to get a little worried. I’m more than willing to cut freshly minted software developers slack at the beginning of their career. Everybody has to start somewhere. But I am disturbed and appalled that any so-called programmer would apply for a job without being able to write the simplest of programs
I’ve hired dozens of C/C++ programmers (mostly at the entry level). To do that, I had to interview hundreds of candidates. Many of them were woefully poorly prepared for the interview. This page is my attempt to help budding software engineers get and pass programming interviews.
One of the nice things about using a tiny problem is that anyone who has written actual code in the last six months will solve it in less than ten minutes. This is good because (a) it leaves more time for talking about important things, and (b) if the candidate can’t solve the problem you will find out right away and save yourself a lot of grief.
I hear this from almost every software company. “We hire the top 1% or less,” they all say.
Could they all be hiring the top 1%? Where are all the other 99%? General Motors?
I had an insight the other day.
Quiz: If you get 200 resumes, and you hire 1 person, are you hiring the top 0.5% of software developers?
“No,” you say, “your screening process is unlikely to find the best person out of 200.”
Agreed. OK. Let’s say you had a magical screening process that actually allowed you to find the “best” person.
“No,” you say, “people are good at different things. There’s no absolute, forced ranking of developers that makes sense.”
Agreed. Let’s simplify for the moment and assume that all software developers in the world could be ranked in absolute order of skill, and that you had a magical screening process that found the “best” person from any field.
Now, when you get those 200 resumes, and hire the best person from the top 200, does that mean you’re hiring the top 0.5%?
No. You’re not. Think about what happens to the other 199 that you didn’t hire.
After a fair bit of trial and error I’ve come to discover that people who struggle to code don’t just struggle on big problems, or even smallish problems (i.e. write a implementation of a linked list). They struggle with tiny problems.
So I set out to develop questions that can identify this kind of developer and came up with a class of questions I call “FizzBuzz Questions” named after a game children often play (or are made to play) in schools in the UK.