How to prepare for a job interview
Let’s say you have a job interview in a few days. How should you prepare for it so that you can make an informed decision about joining the company, as well as make sure that your interests are taken care of?
Prepare your questions
An interview is a two-way street: it’s not only the company investigating you as a potential employee: in addition, you are investigating the company as a potential employer. Hopefully, you have some other options available—such as staying at your current place or trying out other companies interested in you. In the best case, you’ll have flexibility to decide whether you want to follow through with the company or not.
To learn about the potential employer, you need to ask questions. The question will depend on what’s important for you at the current stage of your career. Some things I would like to know before deciding to join a new company are as follows:
- What is their development process? If they use some standardized methodology as Scrum, I would like to hear how they implement it. Especially whether they have Scrum Master and Product Owner roles covered—and whether those people are easily reachable. I would also ask if they do retrospectives meetings.
- How do they do quality automatization: things such as unit tests, e2e, CI & code-style enforcing? For things that they don't have, I would ask if they would like to see it in the project.
- I would ask about their product, and how they do product design/discovery.
- Life–work balance questions inspired by Healthy Software Developer’s video: how long do employees usually work? how do they deal with emergencies? ** how often is there a need to receive a call or respond to messages outside working hours?
The point of going to the interview is to get to the salary negotiation. The result of the negotiation will have a great impact on your life for the whole time you spend at the company—it’s a smart move to prepare well. The earlier you start, the better—as you will have more time to investigate, ask questions, and plan your strategy.
The best resource for preparing for an interview in IT is Fearless Salary Negotiation. You can buy the complete e-book, read the chapters online, or get the key advice from the bite-size articles on the website.
Before you start negotiation, figure out the current situation at the market. A little bit of time spent on systematic investigation can give you a much more precise picture than anecdotes heard here or there. Check out this chapter on market value estimation.
Decide your minimum
Great advice is to decide on the minimum pay that you’ll accept before you start speaking with the company. It could happen that during the various rounds of interviews, they will manage to sell the company very well, or that the effort you have already invested into the company will make you more flexible than you should be. In those cases, having the minimum salary decided ahead of time can be very helpful. Relevant chapter from the book here.
Think open about your options
As you negotiate with the company, it’s good to be flexible about options you consider. If you are asking for more money than they have budget for, you can propose reduced hours with the same hourly rate that you are happy with. Similarly, commuting to the office can easily take 1–2 hours of your day, so a lower salary could be worth it if it comes with guaranteed remote work.
Try role-playing an interview with someone. If you can handle it, you can ask them to be tough on you—stricter than what you would expect from a real interview. Ideally, you’ll have a tough, low-stakes interview that would make you relaxed during the real thing.
Investigate the company
Learn about the company—all you can before the meeting, that is. Check their website, their LinkedIn page, and their key employees. Play around with their product if you can. In short, spend an hour or two trying to learn as much as you can about the company. It will help you ask important questions and make a good impression.
A bit of preparation can go a long way. As developers, we often think about the technical part of the interview, but learning about the company and preparing for salary negotiation can help us even more. We can filter out companies we shouldn’t join, and we can make sure that we get as good a deal as possible.