Puzzles are really cool. I like solving them. They are a good exercise for our brain. But unfortunately, I am not good at it. Not good enough to get paid to solve puzzles. (I am not sure if there is a job for puzzle solvers). My work and the work; for which I interview candidates for; doesn’t revolve around solving puzzles. There is no time for brain exercises, its only hardcore engineering problems - real world internet problems. I’d prefer someone who reads Hacker News daily over someone who solves elementary datastructure problems daily. Knowing whats happening around you and keeping up with the latest technologies matters a lot.

Also, I believe most puzzles have a trick to it, and I don’t want someone to waste 1 hour with me trying to discover the trick. The best optimized solution of most of these puzzles are always a trick. On the internet, at startup scale, one doesn’t find the most optimal solution in a go. We iterate, we analyze, we disprove ourselves, something we learn from being agile.

In most interviews, after a quick chat I ask the FizzBuzz. FizzBuzz also has a trick for most optimum solution (the division by 15). In the real world, you won’t write that code, because your computers are too powerful. I ask the FizzBuzz just to check whether the person has ever had professional coding experience. When you see “professional coding”, you know. Its like you know a professional painter when you see his paintings. Jeff Atwood had written an article about this on Coding Horror. Coding will be part of what he/she will be doing at SlideShare. But most times, he/she will be Engineering. Building stuff, fixing stuff and breaking stuff.

Once done with the screen test, I start by asking the biggest problem the interviewee has solved and try to scale it 100x. This scaling is my test. I should get better at my problem solving skills too. The interview doesn’t need to be an one sided affair. I can benefit. Also, at work, most times, I don’t solve the problem alone. My team does, we do it together. So, scale the problem 100x and start solving it together. Me or a colleague of mine will be working with this person, if he/she gets hired, I should know if he/she fits our organization. Startups especially, SlideShare, are of  a different breed of organizations. A flat organization, where you can work with anyone. So, the ability to have an open discussion with anyone matters a lot. You might be discussing product details with our founders during your first week at SlideShare. Collaboration skills matter a lot.

Finally, I ask something they would be doing if hired. Like designing an API, or scaling a cluster, or building a completely new feature and so on. They might not know about the details like what is a REST API. But explaining the concepts doesn’t take time. Its not rocket science and a good engineer should get a sense of them by reading the wikipedia entry. This gives a sense of how well they adapt to solve a new problem. A real world problem.

Based on my past hour’s experience, depending on whether I would want to collaborate with the interviewee again, I make my decision.

Disclaimer: Use this at your own risk.