What to Expect and How to Prepare for a Software Engineering Role (Entry-Level to Mid-Level)

Every software engineering interview is going to be different. Each interviewer works for a different company, with a different technical background, has a different personality, and wants to know different things about you. You really cannot know exactly what to expect. How can you prepare for this kind of interview? I will tell you how I prepared for mine (often companies will help you prepare by telling you the interview style in advance).

These positions pay a lot of money, so these companies will want to have multiple rounds of interviews to ensure they're spending their money in a smart way. Expect at least 3 rounds of interviews, even more entry-level. Most companies will begin with a phone round. This is typically not with an engineer and is usually with a member of HR or a hiring manager. These people don't really know much about the job you're applying for in terms of technical prowess, other than buzzwords. I have had an instance where the actual engineering manager gave the hiring manager a couple questions to quickly vet out bad candidates. Out of nowhere, this hiring manager goes from asking me about my personality to ask me what the different types of SQL joins are. This is an easy question, but when you're sort of in a different mental state this kind of question can throw you off since it's off-topic. Phone rounds usually last 15 minutes and are typically designed to make sure the candidate knows what the job is about and that they still want it. Topics like, "This is what we make here, do you want to make this with us?" or "Does technology excite you?", or even "Tell me about yourself" are quite commonplace. These interviews are usually much easier than the other rounds. So easy that I used to step outside my previous job to take the 15-minute calls from my car.

After the phone round usually comes a technical interview. This one is usually discussion based. I have had this round in person and over video chat. Let me tell you, video chat is easier. This round usually lasts between 30 minutes to an hour, with time at the end for you to ask questions (which is very important!). Depending on your role, you're going to want to prepare likely weeks to months for this interview. I spend two weeks preparing for my most recent sprint of interviews. I was applying for several (maybe 13+) C# roles for desktop development. I had let my skills become stagnant from working the same job for 3 years, so I turned to YouTube to buff my skills. I found that watching Questpond videos, videos regarding "top interview questions" along with reading about design patterns is what helped me get callbacks from each interview. It really is that easy. I suggest reading the job application requirements and then watching a video or reading an article on each topic. I also ensured I understood each C# topic listed on TutorialzPoint by watching videos on them or reading about them. This way if an interviewer even touched on a subject I would be comfortable talking about then, this included really obscure topics like writing my own C# extension methods (which I have never done and was never even asked about). I wanted to be able to talk about each possible topic even a little. As long as you show you know a decent amount about the tech stack and can show you have room and the ability to develop you should be in good shape.

After the discussion-based second round, there will usually be a form of coding challenge. This is where the interview will greatly differ from company to company. In my first job out of college, I was asked to walk up to a whiteboard in a room of 4 interviews and write a function to reverse a string. Quite simple, but when your back is facing a room of people and they're watching you, and you can feel yourself heating up in your suit you might find that your thoughts leave you. I have also been asked to solve incredibly complex graphing problems in LeetCode within some arbitrary amount of time like 30 minutes. These kinds of problems plague the industry because FAANG started it. If Facebook does it we oughta do it because it's Facebook is so successful. With these problems, you need to think back to early age word problem-solving. When solving a childhood math word problem, the first step is to remove the words and look at the numbers. This is the same strategy I used when solving coding problems and had good success rates. Often I would fail these, though, because the problem was too hard to solve in 30 minutes. That's okay. You're not the right person for each job. Take your loss and move on.

I've even had instances when companies gave me a take-home assignment that I had to solve over a span of a few days or a weekend. I actually muffed this one up and turned it in to get a response stating I had failed. This gentleman actually gave me a second shot because I misunderstood the directions. Keep in mind, this wasn't a FAANG company where they have thousands of applicants who are happy to throw you away and move on. This was a small, close-knit 10-person team of engineers.


When thinking about a software role and how the interviewer will possibly ask their questions, it is important to gauge how large the company is. If you're applying for a 50-employee company as compared to a 1000+ employee company, you can expect this to be a pretty different set of interviews.


I have noticed that the larger companies (think FAANG) all the way down to companies such as Pluralsight (with 1,766 current employees) will often ask you to perform at minimum 3 rounds of interviews. This is actually pretty standard across the board.

Recruiters in the company vs recruties for like IG

Comments