Pictured is cohort 8 from SF whiteboarding on a peer learning day

 

Software engineer interview questions


If you’re reading this article, you’re probably in the process of being interviewed for a software engineering position. Any person that has gone through the process of getting a job knows that the interview is one of the most important steps. You can study for years and think you know everything (if that’s even possible), but if you can’t answer a simple “tell me about yourself” type question during an interview, you’re not getting the job. In this article, we’ll be going over soft skills questions that you might face during an interview, and providing some example responses for you to use.

At this point in the software engineering process, you feel like you’re finally ready to apply to jobs. You have your degree/finished your boot-camp/taught yourself everything! This next step in your life is going to be even more challenging and stressful. Maybe you really are the perfect candidate, but if you can’t get the interviewer to realize that, they won’t have any other way of knowing. Let’s start with behavioral questions that mostly have nothing to do with programming knowledge.

Why should we hire you?

This question is essentially just — “what makes you the best fit for this position?”. It’s as if you’re giving a “sales pitch”, with you being the product. Try to remember that companies hire people to solve a certain problem. In software engineering, the problem could be developing back-end software or designing the company's website; the options are endless! Your sales pitch needs to focus around showing that you are the best person to solve this problem.

When getting ready for the interview, take a moment to go over the exact position you are applying for and the job description. Make a list of the position requirements — personality traits, skills and qualifications. Afterwards, make a list of personal qualities that fit those requirements. Your sales pitch will be a summary of the latter list. Here’s an example of a great answer:

"My experience with technology and, in particular, my ability to maintain and update websites, make me a good match for this position. In my most recent position, I was responsible for maintaining our department web page. This required me to update student and faculty profiles, and post information about upcoming events. In my free time, I learned to code in JavaScript and Swift. I then used my coding skills to revamp our homepage and received praise from our department head and the Dean of Students for my initiative. I would love to bring my coding skills and my general passion for learning new technologies to this position."

This answer shows how you might stand out from other applicants. It focuses on your qualities that differ from what others have to offer.

What are your greatest weaknesses?

I’m sure we’re all familiar with this horrible question. It is definitely my least favorite. No one should ever reveal their real weaknesses (and we all have them), but why not sugar-coated ones that don’t seem too bad? My suggestion is as follows:

Make a big list of all the weaknesses you feel you have and before every job interview go over the job description and think of which weaknesses matter the least for this position. For example, if you were applying to become a nurse, you might say that you are not particularly adept at public speaking.

Another possibility could be describing a weakness, while also explaining how you’re currently trying to overcome it. This shows that you’re aware of yourself and that you’re taking steps to become a better candidate and a better fit for the job. You could say — “A year ago I was terrified of public speaking. I’ve forced myself to speak in front of a crowd multiple times, and I've improved, but I might not be the best at it yet”. This focuses on your strengths more than it does on your weaknesses! The employer will be impressed with your willingness to do things that you are afraid of.

In this situation, try not to go for the typical weaknesses; “I’m a perfectionist”, “I work too hard”, these are not personal and won’t help you stand out. In this case, try coming up with personal stories and be as honest as possible. This question is meant to make you feel uncomfortable, and giving an honest and positive answer is crucial for the interview. Here’s an example:

"Sometimes I spend more time than necessary on a task or take on tasks that could easily be delegated to someone else. Although I’ve never missed a deadline, it is still an effort for me to know when to move on to the next task and to be confident when assigning others work. In my recent position, I implemented a project management tool that allowed me to easily oversee the progress of all the tasks I assigned. This helped me feel much more comfortable about delegating work."

How do you handle stress and pressure?

This is an important question — you’re most likely going to have lots of stress at this job (in the beginning at least); if you can’t show the interviewer that you know how to deal with it, they can’t hire you. The interviewer doesn’t want to hear that you never get stressed; we all know this isn’t possible. They want to know what you can do to handle these types of situations to make sure you’re a good fit.

Everyone has a different way of dealing with stress, therefore this question is very personal and you have to come up with your own structured answer. Try thinking of a time when you were significantly stressed and you dealt with it perfectly.

For me, I found that I deal with stress by making lists! I love lists! During my studies at Holberton School, we would have several big projects at once. Trying to juggle projects and social life and family and sleep can become difficult. When it all becomes too overwhelming, I make lists of every single thing I need to do right now. This can also include sleeping 8 hours tonight and making sure I eat breakfast tomorrow. After the list is complete (usually very long), I group tasks by urgency and difficulty. If the task is small (like making a phone call), I can just do it and then get started with the bigger and more urgent tasks. Getting the most important things done first clears your mind a bit and helps you relax; everyone has their own way. Here’s an example of an answer:

"Pressure is very important to me. Good pressure — such as having many assignments or an upcoming deadline — helps me stay motivated and productive. Of course, there are times when too much pressure can lead to stress. However, I’m very skilled at balancing multiple projects and meeting deadlines; this ability prevents me from feeling stressed too often. For example, I once had three large projects due in the same week, and that was a lot of pressure. Because I created a schedule that detailed how I would break down each project into small assignments, I completed all three projects ahead of time and avoided unnecessary stress."

Tell me about a time you had a conflict (in general or in a team).

Ahh. The question of all questions! Most software engineer interviews include this question, and it makes sense. You will probably be working on a team, and conflicts ALWAYS come up. If you are not able to deal with conflict, you can’t work on a team. There’s a format called STAR to help you answer these types of questions.

S/T (Situation/Task)

Situation

Give a brief description. Make the assumption the other person doesn't know any specialized vocabulary, or industry-specific challenges. You can also ask the interviewer about their familiarity with the topic you're about to describe and mold your answer based on the other person's level of context (a more or less technical answer). Example:

"Three years ago I was working on a small engineering team at a startup and we had an important deadline approaching. Are you familiar with the Agile workflow? We were approaching a sprint deadline, and it was clear our team was behind with only 2 days left to deliver."

Task

Be specific about what was your responsibility and be explicit as to why the challenge was difficult. Example:

"It was my responsibility to implement the UI for the payments workflow. To complete this, I was waiting on the designer to provide an updated asset. When I approached him about it, he blew up at me. I couldn't afford to walk away. I needed to meet my deadline."

A (Approach)

Talk about the actions that you took. The focus should be on how you resolved the conflict/disagreement in a productive and professional way. Walk through your actions, and explain why. For example:

"He relaxed a little when he saw that I wasn’t attacking him. He told me about all of his other competing projects and how overwhelmed he was. I asked him if there was any way that I could help him come up with a solution."

Remember to stick to the actions that are most relevant to the conflict.

R (Result)

Every story has a happy ending! Finish yours with a description of the positive outcomes from the conflict. The results can be either quantifiable (increased sales, saved the company 10k), or anecdotal (increased personal connection with a team member, the manager gave a promotional). Such as:

"He apologized for his blow-up and thanked me for my help."

Make sure to practice your own answers before going in. This is one of the most crucial questions in the interview!

What were your biggest successes and failures?

This question should be divided into two answers, two very different answers. Questions about success help the employer learn about how you achieved accomplishments and your general work ethic. Questions about failure show how you manage difficult situations and how you personally grow when you feel defeated.

Questions about success

If you get asked this question, consider yourself lucky. It’s the perfect opportunity to “show off” and talk about your most impressive experiences. Unfortunately, a lot of candidates are uncomfortable praising themselves. I’m sure a lot of us experience the common Imposter Syndrome (especially in this industry), but this is your chance to forget about it.

The story you decide to tell will say a lot about you, such as clues of what you value most. Are you proud of a big closure deal? Leading a great team? This will give the interviewer an indication if you’re a good fit for the job and the company's culture. This puts power in your hands to impact how the interview sees you, so make sure to prepare as much as possible.

Remember the list we created earlier (there were lots of them) about the job position's requirements and skills, because we’re using it again. When you come up with your story, try to have it demonstrate those skills. This shows that you have what it takes to succeed in the desired position.

It is also important to focus on the values of your success. Try to show how you have helped others or a company, and not just yourself. I’m not going to give an example for this question, for it is completely personal and dependent on your own story.

Questions about failure

HONESTY! Honesty is the key here. These types of questions are similar to “your weaknesses”; they make you feel uncomfortable and vulnerable. So how do you talk about failing without sabotaging your chance of landing the job? First, we should realize what the employer might be looking for — 

  • Are you someone who can learn from failure?
  • Are you self-aware enough to recognize your failures and weaknesses?
  • Do you take risks?
  • How do you view failure and success in general?

In order to give a good answer, try to answer these questions within your experience. The steps to answering could be:

  • Choose a real failure. Most of us have failed multiple times, so try choosing one that is more minor (one that didn’t lead to a complete disaster). Make sure the story is real!
  • Don’t raise any red flags. While you want to keep complete honesty, you still don’t have to share your deepest and darkest secrets. Make sure the failure is something professional and not related to personal issues (relationship with someone, etc.).
  • In the end, focus on how much you learned from this experience and how it shaped you to become better. Instead of remembering the failure, the interview will realize you have the ability to turn difficult situations into learning experiences. You can also discuss how you would do things differently, and what things you can do to avoid the same situation happening again.

What things should you not say?

  • Don’t blame others. Try keeping it positive, and blaming other people does not give the best impression. Try finding a real story where you’re at fault (to a certain degree).
  • Don’t make excuses! No one likes this, and I’m sure you’re aware of that. If the failure is pretty bad, try focusing on how you would like to solve it or change the experience. It’ll show that you’re proactive, flexible, and willing to move forward when things aren’t looking good.
  • Don’t provide too much information. If this failure caused you to be fired, you can leave that part out :)

Conclusion

We went over just a small amount of questions in this article, and there’s lots more to go! With soft skill questions, it’s most important to try and prepare beforehand as much as possible. REALLY prepare. Prepare more than you think you need to. Interviewers could sometimes trick you on purpose — when asking about your weaknesses, they might ask you to give a few more once you finish answering. Be prepared for that too, it could happen with any type of question.

Once you feel you have your answers ready, it’s time to move onto the technical part!

Written by:

Ethan Mayer, Cohort 8 (SF Campus)


Resources