Tips for a successful software job interview process

Ah, the dreaded job interview. The call to set up an interview is always exciting, but the moment you realize that you have to perform well is nerve-wracking. Fortunately, I’ve been through the gauntlet of many interviews. I have some practical advice for you in this article, so read on! I recently wrote about some heinous experiences interviewing with some of the larger technology companies in the US. I can say, without a doubt, that I have some experience when it comes to being on the receiving end of the endless questions in an interview. Success in interviews comes from practice, study, and some luck. Not only are you being interviewed, but you should also be evaluating the company. How would you consider it a success if you end up in a company you hate?

The Initial Recruiter Call

This is where it all begins. If you put in your resume through an online application service or you maintain a LinkedIn profile, you’ll probably get a call from a recruiter (either external or internal) at some point. While not as crucial as the phone screens, it is important to at least show interest in the position. This is where you can get an initial impression of the company. Make sure you ask the recruiter some questions about the position. If you come away from this initial interview thinking that either the position sounds boring or the city is out of your league, then there’s no harm in simply declining to proceed. Don’t waste your time on something that you think won’t be a good match for you. Use your valuable time to move on to another interview.

Ask these questions.

  • What is the position for which I am applying? (this is important because I’ve had recruiters mix things up)
  • What city is the position in?
  • What team does the position belong to within the company?
  • How many people are on the team?

If the recruiter asks you for an expected salary figure, deflect it until later. Just politely decline and make it clear that you’ll be more comfortable giving a number after doing some research and learning more about the position. Recruiters ask this question hoping that you’ll feel pressured into giving a low number. Take some time to go on Glassdoor or to figure out average salary ranges in the job’s location and title.

Winning the Phone Screens

If you were interested in the described position, the city matches what you want, and the recruiter was OK with your responses, then you’ll proceed to some phone screen interviews. Try not to get too nervous about these. I always work myself up in to a frenzy the hour before because I can’t seem to calm myself down. Don’t be like me in this case!

Follow these guidelines. If you don’t follow any of them, at least strive to make things as comfortable as possible on yourself. Don’t go out of your way to make things worse by stressing over unnecessary things.

  • Choose a time that is convenient for you. Don’t schedule the time during the day if you have to work during that time.
  • Make sure you get to a quiet area without any visual or audio distractions. Trust me, this is important. I’ve received a call to perform a behavioral interview in a restaurant and wasn’t able to get anywhere quiet. It really makes the process a lot more stressful.
  • Bring your resume, a pencil, a notepad, and a good quality phone. There’s nothing worse than having a bad signal and consequently a bad quality audio.
  • Try to avoid using speakerphone if you can. It’s almost certain that the interviewers will be in a room with a speakerphone. I’ve found that speakerphone to speakerphone conversations aren’t pleasant.
  • If you need to be at a computer to code something or write in a document, make sure it’s not a tablet or a laptop. Use a full features desktop if you can. Having a large screen, full keyboard, mouse, and quiet office space makes everything that much better.
  • Lock any pets out of the room if you’re doing it at home. My cats love to knock stuff over during interviews.

It’s important to come to the phone screens prepared because the interviewers usually don’t waste any time by waiting for things to happen. They usually just jump right in and start asking questions with little to no small talk. This is especially true if you’re expected to write any code or solve any complex problems. You’re going to want all the time you can get because an hour will go by in about five minutes.If you’re given some time at the end to ask questions of the interviewer, make sure you discover more about the team, the company, and any processes that they follow. Ask some important questions like the following.

  • What team do you work for? Is that the same as the position I’m interviewing for?
  • How many hours per week does your team work on average?
  • What would be an exceptional hours per week number?
  • How many meetings per week does your team have? Are they all mandatory?
  • Is management hands off or hands on?

Here are some of the more popular questions that you’ll see in phone screen interviews.

Tell me about yourself

This is a popular leading question which will probably set the mood for the rest of the interview. Make sure you don’t go on and on about irrelevant topics that aren’t directly applicable to work. You may be a party animal, but that doesn’t exactly tell the interviewer how you handle stress or solve problems. Emphasize strengths of your character that the company wants. How can being yourself help the company? Are you a fast learner? Do you work well with others? Do you follow or do you lead?

Describe one of your projects that you’re most proud of

Here’s the thing about this question. The interviewer is looking for specifics about how you contributed to the project. It’s OK to talk about what kind of team was responsible for the effort, but the interviewer doesn’t care about the team. They care about how you performed. Make sure you emphasize specific parts of the project that you either lead or worked on. Focus on measurable improvements that you made or contributed to the project. Go on to describe any problems that you encountered and how you overcame them. That might even lead in to the next popular question.

Describe a problem that you encountered during that project. How did you work to overcome that challenge?

I know it’s tempting to claim that you didn’t encounter any problems because you’re just that awesome, but that isn’t a realistic answer. The interviewer will most likely raise a flag and call you out on it. Instead, take the opportunity to reflect on a problem with either the project management, the software itself, or perhaps communication within the team. Was there a breakdown in schedule or a conflict between team mates? Describe it. Then think about how you managed to work the problem out. Did you speak with your boss to resolve an issue? Did you step back, speak clearly with coworkers, and move slowly past the roadblocks? Did you find a solution online? Explain as much. Remember, the interviewer wants to hear about how you specifically solved the problem.

Dealing with Travel

Before I get in to the details about on site interviews, you’re probably going to come across the whole “travel” thing. If you’ve made it past the phone interviews and are invited on site, then you need to be aware of some common travel advice. Regardless of the type of travel required, make sure that you leave and arrive with enough time to spare on each end. Don’t show up late or you’ll basically kill any chances of landing the position.

If you’re within driving distance from the location, then nothing special needs to be considered. Make sure you have enough gas to make it there I guess!

If you’re traveling by plane, when you arrange travel with the travel agency, make sure you pick flight times that are convenient for you. You aren’t paying for it, so make them bend over backward to please you. That means don’t take overnight red-eye flights unless you want to suffer the next day. Try not to take flights with less than 1 hour layovers or more than 2 hour layovers. The former will have you rushing while the latter will leave you miserable and bored.

I suggest taking some technical reading material related to the company for which you are seeking employment and a notepad. This will give you time to do some studying on a potentially long flight and some basic problem solving or warm ups.

Surviving On site Interviews

So you’ve made it past the initial blitz. Well, guess what, it gets worse. On site interviews are extremely stressful especially if you have to travel across the country to make it to the scheduled location. I’ve done this stage plenty of times, and I still forget some basic things. Here’s the most common things that you should do leading up to go-time.

  • Make sure you know where the campus is and how to get there from wherever you’re staying. Don’t try to figure it out by ear on your way there.
  • Make sure you know the dress code of the company so that you don’t look like a fool in a suit or jeans.
  • Sleep and eat well before leaving for the interview. Eat a good breakfast, please!
  • Use the restroom prior to beginning the process. While you will be able to use the restroom between interviews, you don’t want to have to step out in the middle of coding on a whiteboard. Interviews can last anywhere from 1 to 2 hours.
  • Ask if you can have some coffee, tea, or water before starting. You’ll want a pick-me-up before, during, and after each interview group.
  • Bring copies of your resume, a notepad, and something to write with. You’ll want to take notes in response to questions that you ask of the interviewers.
  • Bring your own dry erase fine tip markers in case they don’t have any good ones. Trust me, fine tips make the whiteboard like a HDTV.

To be honest, the conduct and format of each individual on site interview is very similar to the phone screens with the exception of you being there in person. It’s worth going back and reading the tips in the phone screen section to understand what to expect in the onside interviews. While you’re there, make sure you observe the habits of the employees (happy, sad, tired), look at how the offices are laid out (open office vs. private cubicles), and see if the place looks like it’s filled with genuinely interested workers. I’ve interviewed at some places where it basically looks like a zombie farm.

Coding interviews usually have little to no small talk, don’t involve discussions of your work experience, and are straight forward with the problems. Most of the time, the interviewer is simply going to walk in, introduce himself or herself, and then get right on with the question drilling. When you’re solving any problems on the whiteboard, make sure you ask clarifying questions about the problem. Ask about what certain things really mean. Ask if you’re allowed to use a certain method, framework, or API. Ask for help if you are truly stuck. Make sure that you’re speaking out loud as you solve the problem as this will allow the interviewer to understand how you think and problem solve.

Just like the phone screens, you’ll probably have some time at the end of the interview to ask questions of the interviewer. Make sure you find out more about the company. How many hours is the average work week? What’s an exceptional work week? What are the employee perks in the building? What kind of project management do you utilize? Where do most of the employees live in the city? What’s the best route to take to work from various locations? This is your opportunity to learn about the company and the area as much as possible. It is especially important to figure this all out before you move across the country to a new job.

Wrapping up the Process

My experience with the wrap up phase has been far more negative than it has been positive. I rarely ever receive any word back from recruiters if I haven’t been offered the position. If I did hear back, it was usually in the form of a copy and pasted line: “We are not continuing with your application at this time.” There’s never any feedback at any stage in the process, so it’s impossible to improve on your mistakes unless you were well aware of said mistakes.

I find this type of behavior unacceptable and unprofessional. Companies as large as Google, Blizzard, and SpaceX should strive to be better than this. I’m well aware of the large amounts of emails and cross communication that can occur in a professional environment, but flat-out ignoring people who have spent precious time from their lives to seek a position is uncalled for.

In the event that you are offered a position, make sure you always negotiate salaries and benefits! Studies show that most people simply¬† accept the first offer that is thrown at them. This is unfortunate because the company will most assuredly always offer below the market price of your skills. It’s important that you don’t accept a low-ball offer. This is especially true if you’re moving to a location that has an exceptionally high cost of living (like most tech companies in California). Do your research on Glassdor and relating to the location of the job and your skill level. Take into consideration the overall benefits package as well. It isn’t only about the dollar amount. If you’re going to receive awesome health care, dental care, vision care, and a sweet stock option package, then you might consider taking a bit of a pay decrease. Again, this is all based on what your priorities are.

It’s worth repeating that you should always negotiate the value of your salary and benefits. Remember, they’re offering you a job and want you to work with them. As long as you’re professional and don’t make ridiculous demands, they’ll most likely meet you in a satisfactory place.