In June 2020 I watched an inspiring talk by Anthony D. Mays, a technical coach and founder at Morgan Latimerco. He came on a Facebook Developer Circles Benin live session and talked about how to prepare for a technical interview.

During the live session, he said that “Helping people to digest what you learn from me today and sharing with your network is a good thing”. When you learn something from someone, it is a good idea to pass that knowledge on to others. And if you look at that information closely, it's a good way to learn.

So, I decided to put into writing what he discussed during the live session along with my own personal experience. At the end of this article you will understand the following:

  • How to get the attention of top companies
  • What happens when you have their attention
  • The type of interview you will likely get
  • A framework for problem-solving (6 steps to use in a technical interview)

Getting started

In 2018, my friend and I had this dream of interning at big tech companies. It was pretty cool to have such big dreams, but the question here was “am I prepared for the task ahead of me?”

I remember joining LinkedIn for the first time and I didn't even know how to find my way around. I kept sending messages to different recruiters at big tech companies asking them to refer me for roles that were perhaps a bit out of my reach.

But do you know the funny thing? A lot of people make this same mistake. Before trying to get the attention of big tech companies you need to:

  • Have a wide range of experience.
  • Be seen as someone innovative. You can show this in several ways, either by building something and publishing it, or by starting your own company or working with a startup.
  • Show that you are a problem solver by being able to discuss your impact.

If you have these qualifications, how do you get the attention of top tech companies?

Have an awesome résumé

Some people may be smart but their résumés are horrible. My first résumé was really bad, and whenever I look back at it I start laughing.

I looked for ways to improve my résumé by doing research and reaching out to some people on LinkedIn to help review it. It got to the point where I was changing my résumé up to twice a day.

I still wouldn't say that I am the best at writing a résumé, but if I compare the before and after, I have improved.

When writing your résumé, use as many numbers as you can – how many bugs did you fix, how much money did you raise, how many projects do you have on Github, what impact did you make, and so on.

Please note: Your résumé should include your Linkedin profile, so make that profile look like your résumé. When you have an amazing profile recruiters might contact you through Linkedin. If you don't have a Linkedin profile, you should start one here.

Get Referrals

If you get a referral, it should be from someone who knows you and is familiar with your work. If you don't know anyone, you can start building relationships with these people.

Please note: A referral doesn't always get you the job, but it can help you jump to the front of the line so you get contacted.

What happens once you have a company's attention?

Getting the attention of the company allows you to talk to the recruiter about your background and whether the position might be a great fit for you.

If it is a great fit then you will go through several interview processes. Below is an example of some types of technical interviews you might go through.

Phone screen

You may be contacted by an engineer to do a phone screen where you work through a technical question.

Make sure you prepare for your phone screen – you might have one or two of them. And if it goes well and you pass, you will be invited for an onsite or virtual interview depending on the company.

Onsite/Virtual Interview

If you’re applying for a software development position, you’ve got a special set of skills to prepare. Yes, you’ll be asked to code. No, you likely won't get a computer, just a whiteboard.

Whiteboard and coding interviews require a special set of skills. Even the best coders can get nailed on coding questions.

You might have to go through four or five onsite or virtual whiteboard interviews with different engineers. This is because the company wants to see how you work with different engineers who are very likely working on different kinds of problems. It also helps them see if you are well-rounded.

If you do well in all interviews, that's great. Just try to be consistent - if you do well in one but not in another, this can be confusing to those looking at your performance.

This process is the same in a virtual interview. The only difference is that instead of a whiteboard you will be asked to share your screen while they watch you code.

Knowledge-based interview

These types of interviews test your knowledge. You will be asked things like how the framework you're using works, why you should make use of if-else statements, and so on.

Behavioral Interview

Smaller tech companies are a bit different, but one similar thing is the behavioral interview. This often tests that you know how you solved a problem in a particular situation, how you work under pressure, and so on.

It is also good to know your résumé well so you can talk about the details listed on it.

Project-based interview

Typically, you will be given a project to work on. Then you return it in x hours or even days – it depends on the company.

A framework for problem-solving

Software companies are looking for good problem solvers. So the question is – how do you become an excellent problem solver?

Good problem solvers ask questions, and they know how to think up multiple solutions. Here are some strategies to help you improve your problem-solving skills.

6 problem-solving steps to use in a technical interview:

  • Repeat the question out loud
  • Follow up by asking questions to help understand the problem
  • Use an example so you know what the input looks like – you can draw it.
  • Brainstorm, and stop and think about one or two ways you can solve the problem. This is where Big O comes into play.
  • Implement the technical solution
  • Test to be sure there are no errors in your code.

These steps can also be applied to your day to day work as well. And you can test them out by doing a mock interview with another engineer – it'll really help you prepare for the actual interview.

Conclusion

Success, especially in interviews, requires a lot of hard work and time. I hope the tips I shared in this article help you get started in your tech career.

Credit

Anthony D. Mays for his inspiring talk.

You can follow my blog here.