Philipp Hauer's Blog

Engineering Management, Java Ecosystem, Kotlin, Sociology of Software Development

Leveling Up in Job Interviews for Software Engineers

Posted on Oct 24, 2022. Updated on Nov 15, 2022

Have you ever applied for an engineering job but got a rejection? Most of the time, the job interview decides about the hire. This post takes you to the other side of the table and prepares you for challenging interviews. We point out which technical skills, traits, values, and cultural aspects are relevant and which questions are asked to assess them. This post is for engineers who want to stand out in their next interview.

Leveling Up in Job Interviews for Software Engineers

TL;DR

How to improve your interview skills.

How to improve your interview skills.

Understanding the Interviewer

First, you need to understand how a hiring manager approaches an interview.

Define Required Skills and Traits

In step one, the hiring manager comes up with a list of hard and soft skills relevant to the role. This list can be very long.

Hard Skills, Tech Skills Soft Skills and Traits
Java,
Kotlin,
Spring Boot,
Distributed Systems,
MySQL,
MongoDB,
Docker,
K8s,
Architecture,
Testing
Motivation,
Curiosity,
Communication Skill,
Team Work, Collaboration Skill,
Culture Fit, Team Fit, Culture-Add,
Willingness to learn, Fast-Learner,
Empathy and Kindness,
Initiative and Leadership,
Self-Reflection, Humility,
Alignment with Company Values,
Problem-Solving, Analytical Skills

Prioritize the Skills

Well, that’s too much for one interview or even a whole interview process. So the hiring manager will prioritize and focus on the essential skills for the role. An short list might look like this:

Hard Skills, Tech Skills Soft Skills and Traits
1. Java
2. Distributed Systems
1. Team Work, Collaboration Skill
2. Communication Skill
3. Curiosity

Approaches to Assess the Skills

What are their approaches to identifying and assessing the skills?

  • Ask a question pointing to a specific skill.
  • Observe the candidate and read between the lines.

Asking questions is easy for technical skills but more tricky for soft skills and traits. Still, there are question techniques that the hiring manager will apply. But they will also observe you during the interview, read between the lines and look for signals.

We will cover all approaches in the upcoming sections.

The Tech Stack in your CV

The tech stack in your CV should NOT look like this:

Don’t do this.

Don’t do this.

When reading this CV, the hiring manager’s face will be pretty close to Woody’s face:

Look at Woody. That’s the hiring manager’s face when they read tech stacks like the one above.

Look at Woody. That’s the hiring manager’s face when they read tech stacks like the one above.

What’s wrong here? It’s unrealistic and implausible.

  • If you have worked with a technology years ago, your experiences is not up to date anymore. Tech evolves so fast, and you get rusty and forget things.
  • Some points in the list are just small libraries that are easy to learn and to pick up. That’s not a relevant differentiator in your tech skills and not a reason why a candidate will be rejected.
  • Having a buzzword-packed CV says something about you as a person. How humble are you? How honestly do you reflect on your skills?
  • In the interview, expect digging questions that check the items in your CV. Nothing is more of a red flag for an interviewer than you can’t answer a more profound question about a technology you claim to know.

Let me give you some examples of how I check technologies in the CV:

Claimed tech knowledge in the CV Possible digging question
Spring Boot What is Spring Boot?
Microservices When would you use Microservices? What are the challenges?
MongoDB When would you use a MongoDB and when RDB/SQL?
TDD When would you go for the test-driven approach and when not?

Key Takeaways

Here are the key takeaways about the tech stack in the CV:

  • Be humble and honest in your CV and interview. It reveals important traits of you.
  • Focus on what you are familiar with as of today.
  • Be prepared to answer digging questions.

Ask yourself: Is your knowledge still up to date, and would you be able to answer digging questions? If not, don’t add it to the tech stack of your CV.

Soft Skills Questions

Let’s discuss which questions the interviewer might ask you to assess your soft skills or traits.

First, no interviewer will ever ask you:

Are you a team player? Yes? What a surprise! Me too!

Are you a team player? Yes? What a surprise! Me too!

It’s a highly suggestive question; it’s obvious what the interviewer wants to hear. Moreover, it’s a closed question (aka a yes/no question) that doesn’t give room for further discussions. It doesn’t kick off a conversation, but that’s what the interviewer (and you) want.

Fortunately, there are common question patterns that interviewers use. It’s beneficial for candidates to understand them:

  • Hypothetical questions (aka situational questions)
  • Experience questions (aka behavioral questions)

Hint: I came up with my own names for these question patterns. I find the original names (situation and behavioral questions) not so easy to differentiate because each type simultaneously refers to a situation and behavior.

Hypothetical Questions

One better way is to ask you how you would react to a hypothetical work-related scenario:

“Let’s assume you argue with a teammate in a code review. You disagree with their code changes. How would you handle that?”

Experience Questions

The other way is to ask you about concrete past behavior and examples:

“Tell me about a time you had a conflict with a teammate.”

Both types of questions are open and can kick off a conversation. You have to provide concrete examples or descriptions of your behavior and intentions.

STAR Technique

A popular pattern for answering that kind of questions in a concrete and structured way is the STAR technique:

  • Situation - The situation you were facing.
  • Task - The task you had to do.
  • Action - Your actions to fulfill the task.
  • Result - The outcome of your actions and your learnings.

The STAR technique provides a compass for navigating the answer to a question. Expect the interviewer to ask follow-up questions following the STAR pattern when your first answer doesn’t cover all aspects (e.g., “What was your contribution?"; “What did you learn?"). Moreover, you can use the technique to prepare answers for likely questions.

Key Takeaways

  • Prepare past examples for situations that might be relevant to the role
  • Apply the STAR technique
    • What were your concrete actions and impact?
    • What did you learn? What would you do differently now?

During the Interview

The interviewer can’t address every soft skill and trait by directly asking a question. However, many of them can be identified by observing you during the interview and reading between the lines.

In the following, I go through some traits that an interviewer might be looking for. I also explain how you can act to make a good impression.

Show Curiosity

Prepare Questions

I’m looking for candidates that are curious and have drive. That’s why I put one question right at the beginning of my interviews:

“Do you have any questions?”

Good candidates now ask many diverse questions about the team setup, role expectations, challenges, the tech stack, career and mentoring opportunities, work times, etc. Often the questions start an informal conversation, and I’m happy to skip many of my prepared questions. Often, these questions give me more insights into the candidate’s skills and traits than my prepared questions. Plus, it’s more fun for every participant.

For me, it’s a red flag if you don’t have any questions. Or if you have only questions that could be answered by either reading the job description properly or googling five seconds. Having no questions can mean many things, and none of them are good: a) you are not prepared, b) you haven’t researched about the company, c) you don’t care about your concrete work environment, or d) you don’t care about any topic and you lack drive.

I discovered a correlation between the quantity and quality of the candidates' questions and their overall quality.

Inspiration for Reverse Questions

This process is called “Reverse Interviewing”, and you should prepare for that carefully. If you need some help with good questions, think about what is important for you at work (e.g., the team atmosphere, tech stack, the development process, collaboration, work-life balance, not being on-call).

The “4 Ps” (coined by Thiago Ghisi) can also be a good inspiration:

The 4 Ps. Think about the Product, the Platform & Tech, the People & Culture, and the Processes of a company. Next, try to come up with questions that matter to you.

The 4 Ps. Think about the Product, the Platform & Tech, the People & Culture, and the Processes of a company. Next, try to come up with questions that matter to you.

Some more general questions I like to ask are:

  • What will be my biggest challenge (or pain point) in this role?
  • Assuming I join, what advice would you give for being successful?
  • What does success look like for this role?
  • How will success be measured?
  • What are your expectations for this role?
  • Why are you still working for COMPANY? Is there something you don’t like?

Last but not least, there is a popular GitHub repo “Reverse Interview” with many questions. But prioritize your questions; you will likely only be able to ask a few.

Be Up to Date

To address technical curiosity for trends, the interviewer might ask some proxy questions like:

“Do you know recently added features to the Java language?”

It’s a controversial question. The point is I don’t care about the concrete answer (as long as it’s not “Lambdas and Streams API” :-) ). But the question shows me if a candidate keeps himself up to date about the latest trends and development. And knowing the latest updates on the programming languages a developer uses every day is something I can expect.

Flip Questions

Another recommendation is to proactively ask questions during the interview, even if you are not directly asked to do that. You can flip questions. Some examples:

  • The interviewer asks you about testing approaches you have already used. You can flip that question by asking, “How do you do testing?”.
  • The interviewer asks you about your behavior in a conflict in a code review. You can ask, “Do you have conflicts frequently in your code reviews? Is this a likely situation?”.
  • You can also flip if you don’t know the answer to an interviewer’s question. This shows that you are curious about the answer and want to improve.

Key Takeaways

  • Prepare Questions for the “reverse interview”.
    • What is important for you at work?
    • Inspiration: 4 Ps (Product, Platform and Tech, People and Culture, Process)
  • Flip questions that matter to you.

Show Communication and Collaboration Skills

Software development is a team sport where good communication and collaboration are essential to success. Hence, the interviewer might look for those skills by observing your behavior during the interview.

Ask For Clarifications

Ask for clarification first if you don’t understand the interviewer’s question. Ask for more context if you need to gather more information before answering a question. If you need help or a tip, ask for it.

First, find out more, then think, then answer.

To clarify before answering is a sign that you are a good communicator and approach a task in a structured and careful way.

Be aware that some questions are open and ambiguous on purpose. The interviewer might want to see how you are dealing with uncertainty because that is what we often face in our daily work.

Have a Fluent Conversation

Try to have a fluent conversation, not a boring question-answer-sequences where the interviewer asks a question, and you spit out the perfect answer followed by silence. Try to answer questions by checking and having a real conversation. Try to solve a problem together with the interviewer.

Interviewers love questions, and they love to have a conversation.

Listen Carefully and Answer on Point

Gergely Orosz explained this point nicely, and I take his great example:

“Would you mind briefly summarizing your experience and talking about what motivated you to search for something new?”

Don’t think, “okay, it’s intro time”. Don’t recite your prepared introduction template/monologue or read out your whole CV. Instead, listen carefully. Have you noticed the words “briefly” and “summarizing”?

Moreover, some candidates forget to answer the second part of the question about their motivation.

All of those pitfalls could be a sign that you are either not present, don’t understand the question, hesitate to ask for clarification or are not somebody to have a conversation with.

Be Concise and Offer Details on Demand

Let’s imagine I’m asking the candidate:

“When would you use a Microservice Architecture?”

Often, candidates start talking a lot and extensively elaborate on the many advantages of Microservices (out of the playbook), but that is not what I was asking for.

For me, a better answer would be:

Mainly to scale our development department. [short explanation of this single answer]. Period.

Followed by:

“There are more benefits and trade-offs. I can elaborate if you like.”

The basic pattern I propose is:

  1. Answer concisely
  2. Provide details only on demand, but offer them.

Let the interviewer decide when and where to dig deeper and discuss details. Otherwise, you may waste precious interview time and might appear as somebody that can’t answer on point, can’t prioritize, or can’t structure and focus on the important aspects. This also fosters having a real conversation in the interview.

Another example is when I ask you, “What are the challenges of Microservices?”. A good approach would be to simply enumerate them (e.g. “Unreliable network and therefore outages, performance, more resilience implementation effort, harder refactoring, data consistency, higher effort for operations and monitoring, cognitive complexity, etc.") and then just say “I can go into details of each aspect if you like.”

Key Takeaways

  • Ask for clarifications and gather more information before rashly answering the question.
  • Have a conversation
  • Answer on point and provide details on demand
  • Listen carefully to the question
  • The questions might be open and ambiguous on purpose

Show Openness

During the intro time at the beginning of each interview, say one sentence about you as a person. A phrasing help could be to start with:

In my spare time, I …

I say something like:

I’m a family. I have a son, a wife, and a dog. So I don’t have any problems with too much spare time. :-)

This statement always makes my interviewers smile. Some may even respond by also sharing some personal facts. This way, you directly connect on a human level.

By leaking some of your personality, you show openness and create a trustful environment. It can also serve as an icebreaker and kick off the interview in a more relaxed atmosphere.

Sharing personal information is optional as not everyone feels comfortable with this. That is fine. You can decide what do you want to share. Sharing your hobbies is usually not a big deal.

Key Takeaways

  • Optional: Leak your personality

Show Motivation and Drive

In an interview, the interviewer will ask you about your motivation. This comes in two flavors:

1) Your Motivation to Switch Jobs

Why are you looking for something new?

2) Your General Drive at Work

What motivates you at work? What does a great day at work look like?

The interviewer wants to see what is driving you. There is no right or wrong. It helps the interviewer to get a feeling for the human, your priorities and if you fit into the company’s culture.

What are things that drain your energy at work? That you don’t like/are demotivating?

That’s the more interesting question. The interviewer wants to see if you are honest, reflecting, and can also show weaknesses. Again, this is also about cultural fit.

Under which circumstances would you regret your switch to {COMPANY}?

It’s the same question about demotivating factors but with a different spin. Some candidates struggle with the drain-energy-question but they can answer this one more easily.

Key Takeaways

Be prepared for questions about

  • your motivation to switch jobs and
  • the things that motivate and drive you at work.

Mindset

Having a certain mindset as a candidate is valuable as beneficial behavior follows.

Interviews are a Learning Opportunity

Interviews are a Learning Opportunity

Interviews are a Learning Opportunity

Treat interviews as a learning opportunity. You will learn and grow - independent of the outcome. So stay curious and open-minded.

First, this changes the dynamics of an interview. You start asking questions - and interviewers like questions. Second, it should make you feel less stressed (at least a little bit). If it doesn’t work out, it’s not the end of the world. Ideally, this should relax you. And third, a curious mindset should make you dare to apply in the first place.

“You were not rejected, you were redirected.”

Interviews are a Practice Opportunity

Interviews are a Practice Opportunity

Interviews are a Practice Opportunity

The more you do interviews, the better you get. It will warm up your interviewing muscles. So apply (internally and externally) and do interviews from time to time. Practice it to be prepared when the stakes are high.

Bonus 1: This will make you more relaxed in an interview as the situation is nothing new for you anymore.

Bonus 2: You get to know your market value.

Preparation

Create an Interview Knowledge Base

I recommend creating a knowledge base for interviews. It contains:

  • Past or googled interview questions and my written answer to them. Forcing me to write down the answer is crucial as it helps me to reflect on the question and myself.
  • My reflection on past projects, challenges, conflicts, failures, and lessons learned.
  • Prepared reverse questions.
I use Notion as my knowledge management tool for interview preparation.

I use Notion as my knowledge management tool for interview preparation.

Brain Dump Asked Questions After the Interview

Right after an interview, write down the questions you were asked while it’s still fresh in your brain. You can even try to make short notes during the interview, but that’s advanced. This way, you build up a real-world interview question catalog that you can use to prepare for your next interview.

Create a brain dump of the questions right after the interview to create a real-world questions catalog.

Create a brain dump of the questions right after the interview to create a real-world questions catalog.

Moreover, you will discover patterns in the questions (e.g., they are always asking about your motivation, biggest challenge, failure, or conflict), which is again helpful in the preparation.

Contribution and Further Reading