How to be successful in your first tech interview

Colin Smith
5 min readJan 2, 2019

--

Coding interviews can be frustrating. Photo by JESHOOTS.COM on Unsplash

Looking back, I have no idea how I passed my first interview. I remember I did alright but definitely failed one or two portions of it. I also did it completely over Skype which made the whole process way more painful. Definitely not a performance I can look back on and be proud of but it did land me my first internship.

Back then, I had no idea what companies were looking for. I thought that finishing most of a problem would be enough. Or showing that I somewhat understood what the solution might be might get me through. I thought that was all I needed for a company to give me a chance. I was naive. Companies are taking a huge risk whenever they hire a new employee. You need to make sure that the company you are interviewing for will be excited to have you onboard. If you’ve achieved that, then you’ve nailed the interview.

Looking back, I have no idea how I passed my first interview.

First things first, highlight your strengths. What makes you a strong candidate? What will set you apart? I knew my background in teaching gave me a unique perspective and skill set. Regularly presenting in front of a lot of people allowed me to bring something extra to the table. And I’d much rather speak in front of an unimpressed software engineer over a group of pissed off teenagers any day. I made sure to take advantage of this skill during the interview. It especially became useful when chatting with the CEO of the small company I was interviewing for.

Set yourself apart from the other candidates and you’ll be on the right track. Photo by rawpixel on Unsplash

I also had gone above and beyond on a website project I did for my degree program. The requirement was to have a basic HTML page with some JavaScript backing it. I decided to go the extra mile and to dive in and learn Angular and integrate it with my page. I am glad I did that because I got a new, fancy framework on my resume by taking on the extra work. On top of that, I got a great working of example of the shiny UI which was a great show piece. It showed that I was interested in new technologies and applying them to the work I did daily. It was also a great talking point during the interview. It gave me the chance to show that I could learn a new skill in a short amount of time and apply it meaningfully.

You may find that you are stretching your resume to meet the requirements of a job. If you find yourself in this situation, then consider doing some open source work or applying for an internship. Both of these experiences will give you the valuable opportunity to contributed to a larger codebase. It also shows that you can collaborate with other people in a codebase. This is a skill most companies look for when hiring since it is vital for thriving in most modern tech companies.

Collaboration is key to success at most tech companies. Photo by rawpixel on Unsplash

The second thing I would recommend is reading up on the company that you are applying for. What would a hiring committee for that company look for in a good candidate? Maybe some companies want a candidate that writes a lot of code quickly. They may want a quick learner that they can put on a project right away. Other companies may want a deep thinker that can plan out architecture and write comprehensive tests for code in production. It all depends on the kinds of projects that the company is working on. Sending a rocket to Mars requires much different code and processes than sending a tweet. Sometimes employees and ex-employees at companies will list projects that they’ve been apart of on their LinkedIn. This can give you a better idea of what kind of skills and the type of employee the company values.

You can also ask someone directly involved in the hiring process about the current projects the company is working on. Don’t be afraid to ask questions about the company and the interview process itself. This is a two way street, and companies want to take on people that are excited to work for them. This can also lead to some insights on how the interview process will be structured. In general, I tend to ask if the interview will be more algorithms and data structures based or more domain knowledge based (in my case I ask if I can expect mostly questions around iOS).

A different kind of heap. Photo by Rick Mason on Unsplash

The last thing I recommend, is to practice. It sounds lame, but practicing with a friend in person does wonders for getting used to the interview environment. At first it might feel strange, but try to take it seriously. And always put on a timer for each question. You will have a limited amount of time to solve a problem during an interview, so getting used to tracking time is a good habit to get into. After you get the hang of solving questions on a computer, move on to a whiteboard. A lot of tech companies still force the use of whiteboards during interviews so having some practice with them can be helpful.

Once you’re ready, go in with confidence. You can breath easy knowing that you’ve prepped and put some effort into getting ready. If you fail, no biggie. There are a ton of companies out there looking for candidates. You will have gained some knowledge on that particular company’s interview process. You will have also hopefully taken something away from the interview that you can go home and improve on. I’ve failed over 30 interviews in the past 4 years. We all fail. But as long as we’re picking ourselves up again and learning something from our failure, then we can treat each failure as a little badge of honor.

--

--

Colin Smith

From wandering ALT in Tokyo to top tech company (think FANG) in NYC. I’d love to share the knowledge I’ve gained so you can also reach your tech career dreams.