Yesterday, the tables have turned. The company I currently work for, Manilla, is currently looking for an Android Engineer, and I was asked join another developer on the mobile team to help conduct two technical interviews. It’s definitely nicer to be the interviewer. However, one thing that stood out to me was how much I wanted to like each candidate.
Here is what I was looking for in each candidate I interviewed (although I’m sure the list will get refined as I get more experience):
When you work in a larger company, or even on a team of 3-5 engineers, it’s hard to tell which features you were responsible for vs which features someone else built. Your own side projects, that only you built, give a much better picture of your capabilities.
I’d rather look at the code for your side project than ask you random technical questions. It’s fun to point out features on a side project, and ask how you made them and how you would go about implementing additional hypothetical features. So not only have a side project, but know how it works really well and be prepared to discuss the technical implementation in the interview!
One question I really enjoyed asking was which feature in a side project or a company project the interviewee was most proud of and why.
I’m looking for you to get very specific about a feature you really sweated on (maybe it took a while to figure out), and for that excitement and pride in your voice for having solved a difficult task. It doesn’t matter what the feature was. Just that you really enjoy and take pride in what you do and when you solve the hard challenges that are part of any software development job.
Being a good software engineer requires a lot of honesty. You’re going to fail and break things, and you need to be comfortable communicating honestly with your team about what is broken, and how you’re going to fix it. And if you don’t know how to complete a task, you have to be comfortable and honest enough to get help.
So if you’re asked a technical question, and you don’t know the answer to it, be honest about it. Don’t try to divert my attention on something else you know, like a politician who answers questions by talking about random points on his campaign trail. This is not politics, it’s software development, and it’s all about honesty with yourself and with others.
Yes, I will google you before you come in. Make sure what comes up makes you look good! It’s hard to assess a person from one interview. So the more blogging / tweeting / github presence you have, the easier it is to see what you really know, what your actual experience is, and what you love. It also helps me see that you’re very passionate about what you do – so passionate you take the time to get involved in the community beyond the call of duty.
You don’t have to be the #1 fan of our product, but you should at least know what it does and how it works. As a Software Developer, you’ll be googling a lot, so it should take no time to google a little about the company you’re interviewing for and come up with specific suggestions and questions about the role you’re interviewing for. If you’re going to be part of our team, we’re going to value your opinion, so we want to know that you have one!
What things do you look for when you interview Software Engineers? Would love suggestions in the comments!