Stupid programmer tricks (and interviews)

posted by Jeff | Thursday, January 5, 2012, 2:02 PM | comments: 0

I love this post from the 37signals blog about stupid things hiring types do to software developer candidates. I've seen my fair share of crap like this.

Let's be real about the job of a software developer. If I need to figure out a Fibonacci sequence, I'm going to Google it. It's a solved problem a million times over. It's not even a software problem, it's a math problem. I haven't had any significant use of math beyond simple addition in my entire career, and I've been at this software thing for well over a decade now. You aren't testing my ability to write software, you're testing my math problem solving skills, which require different abilities.

I once did an "informational" interview at Microsoft with a guy who wanted me to write an algorithm to find repeated strings in a bigger string. Seriously? I politely asked him if that was something I would ever do in the position, and when he said no, I told him I'd be happy to solve a real problem. That was the end of that opportunity.

If you want to measure ability for a software development candidate, be real about it. Ask for some real examples of work in the first screen. Open source projects are a great example of this, and frankly that scores points with me. Then if you want them to show you what they're capable of, give them something real to do that's representative of your work. My favorite example of this was when I first got into Redmond, I interviewed with some dudes who worked on CodePlex. They gave me a real situation with a real problem they had that week. They didn't even care about syntax, asking for pseudocode (white boards don't have Intellisense, after all).

I've also done some interviews where they sat me in front of a computer, with Visual Studio and ReSharper and all, and had me do some kind of task that demonstrated the ability to do TDD and design. It wasn't hard, but it demonstrated my approach and coding style. That's how it's done. And don't forget to see how the candidate actually works with people. If they have the personality of a troll, find it out before you hire them.

I'm amazed at how badly much of the industry sucks at hiring people. The last time I was directly responsible for hiring some people, I was guilty of it too for different reasons. I found things that disqualified candidates that had little to do with their ability, education being probably the biggest one.

Show me a guy with open source projects, live Web sites/apps, etc., and I'll be more willing to talk to them over someone with nothing to show but a certification or masters degree.


No comments yet.

Post your comment: