One of my roles in my new position at Adify is to interview computer scientists and software engineers who wish to join our team and company. When I look at nervous candidates, I remember being in their position. Not only I get excited for them, I also feel a huge sense of responsibility to be objective and fair.One way I do this is by posing difficult technical questions that exclusively involve coding, while watching the candidate. I've been there; I don't expect you to be perfect. I just look at how your mind works when you're making design decisions, and what your first reactions are when you run into problems. For example, when I tell you "you have a bug, can you find it?" some candidates panic, and some fruitlessly keep rereading their code. The skilled ones just enter some input into their methods, as if unit testing manually, and that helps them discover the bug immediately.
I really wish I could simply guide the candidate towards the answer as if we were already part of a team; as if I was there to support them. But if I did that, we would never be able to differentiate and hire highly skilled people.
Another important aspect of my interviewing style is that I try to design my own questions. Most interview questions, meant to test fundamental computer science skills, are asked to death by now, and are enshrined in lists all over the Internet. I tend to collect the difficult questions I've been asked throughout my career, modify a well-known question to make it interesting, or design a new problem that abstracts away a challenge I've faced during a design phase. I am even willing to share my interview questions with you.
When you are watched over your shoulders while you are coding on the white-board, use the opportunity to verbalize your solution. Describe your thoughts in real-time, and tell me your design while you're working on it. It's a sign of a good engineer and it builds confidence. I have received passes by some great senior engineers in Microsoft, Google, Amazon and elsewhere before, by simply describing how I would solve the problem concisely, even though I didn't manage to complete coding it in time. When I see a smart design and a good effort, I show the same courtesy.

