Wednesday, October 9, 2013

Nailing the Tech Interview

Advice from Both Sides of the Interview Table


A year ago, I made the transition from astrophysicist to data scientist. One of the harder parts of making the transition was convincing a tech company (during the interview process) that I could do the job. Having now been on both sides of the interview table, I’d like to share some advice to those wishing to break into the tech/data science industry. While this advice is applicable to candidates in general, I’m going to be gearing it towards applicants coming from academia / PhD programs.

Most tech companies are interested in smart, talented people who can learn quickly and have good problem solving skills. We see academics as having these skills. Therefore, if you apply for internships or jobs at tech companies, you will most likely get a response from a recruiter.  The problem is that once you get an interview, there are a lot of industry-specific skills that the company will try to assess, skills that you may or may not have already.

Below are some of the traits we look for when recruiting for the Yammer analytics/data team, descriptions of how we try to determine if a candidate has these traits, and what you should do to ‘nail’ this aspect of the interview.
  1. Interest in the Position
    This sounds like a no-brainer, but you would be surprised at how many candidates haven’t done proper research about the company or the position. It is especially important for people coming from academic backgrounds to demonstrate why they are interested in making this transition and why they are specifically interested in this opportunity.

    When I ask a candidate “Why are you interested in joining my team?” I often get responses like “I really want to move to San Francisco” or “I’m sick of my research.” Neither of these responses demonstrate specific interest in my team or my company.

    How to Nail It: Do research about the position you are applying for. Understand what the role entails, the company's goals and priorities, and the product(s) that you will be working on. Have a convincing story for why you are making this career change or why you want to leave your current position. Show enthusiasm for the opportunity — every interviewer should think that their position is your number one choice and that you can’t wait to join their team. More importantly, only apply for roles that you genuinely find interesting.

  2. Excellent Problem Solving Skills
    One of the most challenging aspects of the analyst/data scientist role is taking a vague question posed by someone within the company, and figuring out how to best answer it using our data sets. Testing (and demonstrating) this skill in an interview very difficult.

    At Yammer we try to test this skill by asking a combination of open-ended problems, brain teasers, and scenarios similar to those we deal with on a regular basis. For many of these questions there isn’t a right or wrong answer, we are more interested in the way the candidate constrains the problem, articulates her thought process, and how efficiently she gets to a solution. For some data science positions you will be asked to do coding problems. Familiarize yourself with some of the standard coding algorithms and questions.

    How to Nail It: These types of problems are asked by many tech companies and there are plenty of examples of them on the web. Practice constraining, coming up with a clear game plan, articulating that plan, and then following through in a methodical way. Many problems are hard to answer as posed and so trying simpler versions of the problem or looking at edge cases can give you insight into how to find patterns. Sometimes not all the relevant information is given by the interviewer, don’t be afraid to ask clarifying questions or turn the process into a discussion. If the interviewer tries to give you hints or tips, take them. There is nothing more frustrating (as an interviewer) than trying to guide a candidate back on track and have her ignore your help (it also doesn’t bode well for the interviewee’s ability to work well with others).

  3. Communication Skills
    As I said in a previous post, communication is key. We are looking for someone who can clearly articulate her thought process, and can be convincing that her approach is correct even when being challenged by the interviewer. A standard way we will test this is by posing an open-ended question and when the interviewee says a reasonable answer, we give a reason why that isn’t right, then the she comes up with a different explanation, and we negate it again. We keep going to see how she deals with having to switch directions, and balances defending her answer and being flexible with taking the interviewer’s suggestions.

    How to Nail It: Practice articulating your approach and methods for the above ‘technical’ interview questions. Come up with a big-picture game plan for approaching the problem, be clear about that plan, have a methodical approach, and then execute it — all the while articulating your thought process as much as possible. If the interviewer tries to make you change directions, it’s ok to defend your approach, but you don’t want to be too rigid, they might be trying to help you not go down the wrong path. Try to make the interaction as pleasant and warm as possible. Avoid getting defensive, frustrated, or just giving up. It is a very hard balance, but practice (especially with another person who can give you feedback) makes perfect.

  4. Culture Fit
    In tech companies you work collaboratively on projects on tight knit teams. We are going to be spending a lot of time with a candidate if we hire her; we want to enjoy that time together. Therefore we are also trying to assess if the interviewee would be a good coworker at an interpersonal level. Is she friendly? Does she work well on teams? Does she have the right balance of being opinionated but not domineering? Is she an interesting person? What are her passions and goals? 

    I can’t tell you how many times I’ve asked a candidate “What do you like to do for fun?” and they answer: “I like to read programming books.” Is that really what you like to do for fun? Or do you just think that is what you are supposed to say in a tech interview?

    How to Nail It: Remember that your interviewer is a person too, and interact with them as a person. Try to show some of your personality, passion, sense of humor, and uniqueness in the interview. It’s hard to be relaxed in these situations, but personality goes a long way.

  5. Ask Good Questions
    At the end of the interview you will typically have a chance to ask questions.  This is your time to take control of the process and turn the tables on the interviewer.  Sometimes I learn the most about a candidate in how she uses this portion of the interview.  A interviewee I am on the fence about can really tip the decision one way or another by asking intelligent, thought provoking, and engaging questions at the end of an interview (or boring, uninformed, or generic questions).

    How to Nail It: Use this as an opportunity to communicate things you weren't able to show in other parts of the interview.  Demonstrate that you have researched the company, that you understand their business goals and the way you could contribute.  Ask thoughtful questions about the role, demonstrate that you want something that is challenging and discuss types of skills you want to learn or apply.  Use this opportunity to show the interviewer what skills you can bring to the role.  If applicable, try to relate what you are learning about the job/company to what you've done in the past.  Prepare tons of questions, write them down ahead of time and bring them to the interview.  You shouldn't run out of questions or have to repeat them over the course of the day.
The above is by no means an exhaustive list of everything a tech company is looking for, and of course different companies have different approaches.  When I interviewed for my current job (I recently moved to the education start-up InstaEDU), most of the interview involved discussing my previous projects, the problems that the company was facing, and how I could provide value to them as a data scientist.  It was a very different experience interviewing for my second job in the tech industry than for my first. However, I do hope that the above demystifies the tech interview process, gives you insight into how one company goes about hiring data people, and helps you understand what we are looking for on the other side of the table.

Related Posts:

4 comments :

Anonymous said...

Most of this advice applies to Interviewing for Astronomy Academic/Research positions as well.
Thanks!

Neil said...

I don't see how you can make that transition in a year and consider yourself a serious data scientist capable of interviewing new candidates for the role. Try 3 to 4 years thinking about data, and try shifting your focus from whether candidates know about 'algorithms, to wheter they know about modelling and interacting with data. I *am* a data scientist of 17 years experience, but I would never insult astrophysicists with the idea that I could 'become' one in a year.

berkeleyjess said...

Neil, I'd love your perspective as a more experienced data scientist on how you choose who to hire and build a team. At Yammer, I started interviewing people during my first week on the job! Not ideal, but necessary for us.

I have been working with large astronomical data sets for 10+ years, as have many of the readers of this blog. Astronomers are not strangers to many of the important aspects of extracting value and insights and from data, which is why so many of us are making this transition.

Anonymous said...

Hi Jess- Very informative! I have a question about age and experience. I am 37 and 5.5 years out of my PhD, and am still a postdoc. How does a company like yours look at someone who is older than others who have more recently received a science PhD and are younger. I also plan to stay in astronomy for at least two more years (if possible), and I worry that I may be past the ideal age for a hire at a data science company.

Thanks!