Throughout the years, I’ve interviewed quite a few developers and I’ve recently been reflecting on what single question can give me the most information about the ability and passion someone has for programming.
I’ve concluded that this one gives me the best ammo to work with:
What have you developed in your spare time?
I love this question because it touches a few areas at once. Spare time is a valuable resource which you usually dedicate to what you enjoy most. Dedicating that to development is a huge indicator of where your passions lie. On the other hand, getting a “Huh?” or “In my SPARE time?” in return is probably a good indicator that this person isn’t what i’m looking for.
What they’ve been working on is also an interesting indicator. Did they contribute to an open source project? Port a popular tool to a new language? Build some nifty tool to try out some new tech? Reading into the type of development they did and why can really give some insight into what motivates or challenges them.
It also touches on is their ability to stay up to date and be self-taught. So much new tech and ideas are being made available and it’s hard to keep up. It’s almost impossible to do so at your “day job”.
That’s why I like that question and use it as often as i can when interviewing candidates.
What is your favorite one?
I very much appreciate all the reactions and opinions regarding this specific topic. In no way does it try to pigeon hole people one way or the other and is my humble opinion on my personal experiences. The main point I want to stress is that I like to know where someone’s passions lie. If someone says “After working at my job all day, why should I work more at home?” I totally agree! It shouldn’t be considered “work”.
It also can (or should) be an occasional thing. I try to spend 2-3 hours a week on average working on some idea, or testing out some new technology, or just reading a good book. That’s hardly overwhelming.
I’d also argue that over time it becomes more important. When you build a deep body of knowledge and experience in one field, it becomes your prism to view new problems. Expanding your horizon can create some interesting (and sometimes surprising) ideas for new projects, ideas to solve stubborn problem from the past, or just some personal enjoyment.
The point is to have an itch regarding programming and feel the need to scratch it.