5 Tips to Land the Software Engineer Interview


I wanted to share some of the most useful advice I’ve gotten for those applying to software engineer positions.

I’ve written a general guide for getting a job in software engineering. I’ve talked about the interview process. I’ve explained what a common software engineer offer letter might look like.

Now, let’s take a step back and look at our resumes. None of the interviewing process matters if our resumes aren’t noticed by recruiters.

How can we increase our response rate from recruiters?

The most effective way to get that first interview is with a referral. However, it’s unlikely that we’ll always have an in with every company, so this applies specifically to applying online or sending cold emails.

Don’t get too technical

Appeal to a non-technical audience. In our resumes, we want to write as if we are writing to a non-technical audience. Most recruiters do not understand technical jargon.

We are trying to appeal to them in order to land that first interview. We can include all the technical information when walking a hiring manager or engineer through our resume during the actual interview.

We’d rather simplify our work than confuse the recruiter with deeply technical language.

Aim for clarity for a general audience.

Describe experience with this format

Google’s Laszlo Bock gives great advice on describing experience:

“Accomplished X as measured by Y by doing Z

We can write something along the lines of: “Improved portfolio engagement by 10% over one year by improving AI efficiency using Java”.

This statement is much more powerful than the technical details of what we’ve done. Similar to the first point, we can save that for the interview.

Estimate impact numbers. We can also estimate impact numbers if necessary. It’s possible that these numbers weren’t measured during our time at this job, so it’s acceptable to give an educated guess. However, be ready to explain how those numbers were derived.

Use a generic title

Our company-specific job titles can be ridiculous.

Sometimes, it’s very generic (i.e. “Technical Engineer”).

It can also be too specific (i.e. “Full Stack Cloud & Innovation Engineer”).

Just put down “Software Engineer” with the appropriate level (i.e. “Senior Software Engineer”, “Staff Software Engineer”, etc.).

Companies themselves are often inconsistent with job titles, so it rarely comes up in background checks. I haven’t come across a testimony where this was an issue.

Avoid misrepresentation. That being said, we shouldn’t do anything to misrepresent ourselves or our responsibilities. For instance, we won’t get away with calling ourselves senior engineers if we’re junior.

Address non-traditional backgrounds

We’ll want to use bullet points to answer any common questions regarding non-traditional backgrounds.

What is non-traditional? Non-traditional may include gap years, majoring in an unrelated field, transitioning from an unrelated field, or anything of the like. Traditional generally refers to those who have gone through a computer science degree or bootcamp. Their goals and motivation are clear from their education and experiences.

For instance, I know engineers who have transitioned from physics to a software engineer role. They are often asked about this transition, so this is a bullet point they could put under their education.

One isn’t “better” than another, but we always want to aim for clarity. Make things as easy as possible for the recruiter.

Apply to specific roles

The first, most important thing to do is to know what we want to work on.

Skills vs. skill set. There are tons of job postings asking for the same skills, but it’s often a very specific skill set.

If I’m a JavaScript engineer that wants to work in API development, I won’t apply to a job that also emphasizes strong CSS skills, because that’s most likely a job tailored for a different skill set.

If I want to directly work with PHP and MySQL, then I won’t apply for a distributed systems role.