New to Tech and preparing for your first Technical Interview? Here’s some tips!
Just wrapped up that first interview: things went well, you feel confident, when suddenly… you are invited to return for a technical interview.
The anticipation kicks in again: What’s going to happen? What am I expected to do? Do I need to prepare anything?
Eyes on the prize, this was our goal: moving on to the next step. You gave a good impression to this dream company, so now all that is missing is to wow them with your coding skills.
Here’s my two cents on how to prepare for that technical test, read on!
A couple of months back I shared this article on how to prepare for first interviews: “New to Tech and about to have your first interview? Got some tips for you!”.
The main focus being on how to introduce yourself, prepare to meet a company’s representative for the first time, and make a good impression so that you get invited back.
Now it’s time to move on to the next step: Technical tests.
These can vary a lot depending on the company, but the main formats I know of are:
- Live coding: nothing to prepare. A problem is presented to you on the spot and you need to try and solve it.
- Present a project you have already built: showcase some project you are proud of and have a discussion around how you built it.
- Home assignment: the company provides you with a specific task that you must complete, send your solution back and then have a discussion on how you solved it.
*I am writing from my own experience, keep in mind tech tests will vary a lot depending on the company. That said, I’ll try to keep my suggestions as broad as possible.
For reference: I am a JS / React developer, so I might refer often to this stack. The tests I did were all for entry-level positions.
During the first interview, you most likely met with someone from the HR department. On this second step, you are going to be sitting down with developers, which is a good opportunity to get quite technical and talk code with people who will understand.
They have probably been provided with your GitHub profile, so make sure your repos are updated, with complete READMEs and links to deployed projects so the final product can be seen or tested live. After all, GitHub does work as a stand-in CV in developer world.
TIP! Clean, well indented and readable code makes a great impression — you are entering an industry where collaboration is key, so make sure others can understand your code as well.
Never stop polishing those vanilla programming skills.
I found this particularly helpful for live coding tech tests. These tend to be more about basic programming and problem solving.
You’ll be asked to come up with a solution on the spot which, most of the times, can be written on your preferred language or even on pseudo-code.
They’ll be observing how you approach the problem, how are you thinking around it or even if you know when to ask for help or get the other developers in the room involved.
A good tip is to think out loud, so they understand where you are going, identify if you are stuck or give some hints on how to more forward.
TIP! One of my favorite platforms to keep practicing basic programming concepts are Edabit or Code Wars. Try and focus on key concepts like for loops, manipulating or accessing arrays and objects, if else statements and built in methods like map, find, filter…
Practice by reading other people’s code.
I was part of a bootcamp with its own conventions and standards, so most of the code I was exposed to looked quite similar. When I started to look at other’s people code (outside of my “bootcamp bubble”), things seemed quite different. Even solutions on Stack Overflow looked quite different.
Be prepared for the code at tech tests to look a bit “unfamiliar”. Some of the most common differences I would find were: functions being defined using the “function” keyword instead of arrow functions; usage of var instead of let and const.
In my case, which is specific to React, the code I came across was still written using Class components, instead of functional ones. No hooks, but componentDidMount, componentWillMount, etc.
It is important to be aware this can happen, so get familiar with previous versions so you can still work with it.
In the case of home assignments or presenting one of your projects, it is important to be confident of your work and know how to explain it well.
You’ll most likely start by presenting your project or solution, what was your thought process and so on. This will lead on to a discussion in which you will be asked things in the line of:
Why did you choose this approach?
Could you have solved this differently?
What would you change or add if you had more time?
What would you improve?
So make sure you know how to present your project and explain your code, maybe do some practice presentations beforehand.
One thing that should definitely stand out, especially for entry-level positions (besides managing basic programming concepts), is your passion for coding and eagerness to learn more.
Why do you enjoy coding so much? What is your favorite part when building a project? What other tools would you like to learn?
Now’s your time to nerd out and express why you’d like to take part of the tech industry and particularly this company. We can all use that energy in our teams!
Hope you find these recommendations helpful and that they make you feel more confident during the job-hunting process.
Tech tests can start as nerve-wracking, but turn out to be really fun. Take a deep breath, let your skills shine and get the people in the room involved.
Now go get ’em and good luck out there! ~~