Throughout my career, I have interviewed with 20+ companies for junior, senior and lead positions and I would like to share the questions that keep coming up. To make the questions easier to follow I have named the company FakeForty2 (which is not a real company!)
Photo by Frank Vessia on Unsplash |
Questions
Would you like to give us a summary of your career so far?
From experience, this is often the first question that gets asked in an interview as it is a good opportunity to get warmed up. It helps to read your CV beforehand as it will make it much easier to answer this question. I always regret not doing it.
What is your understanding of what we do at FakeForty2?
This is an opportunity for FakeForty2 to get to know what impression they have made outside of the company and it also allows them to fill any gaps in your knowledge. Don’t forget to research the company beforehand!
Some things you could research include the company’s products, leadership team and values. It can also sometimes help to look at company rating sites such as glassdoor.com to get an impression from people who have worked there.
What made you decide to become a software developer?
This question naturally comes towards the beginning of the interview. In my very first blog article, I share my reasons for doing it, if you are looking for some inspiration.
What is a recent (technical) challenge you experienced and how did you solve it?
My advice here would be to pick something that required you to learn something new. For example: “To understand why there was no error propagation, I had to research how GraphQL handles errors.” If you don’t have any previous experiences you could describe what you needed to learn to complete a recent project.
Another tip: Try generalising the problem in a way that doesn’t require too much context. If you are using acronyms specific to the business domain of your previous project your interviewer might not be able to follow you.
Has there ever been a time where you have had to compromise quality to release software on time?
You could start answering this question by emphasizing that it depends on the situation, how much quality you are willing to compromise. If the company’s survival depends on the feature you are implementing, then it’s probably not worth refactoring anything that slows down the feature you are currently working on. If it’s a normal situation you might decide to stop writing a test after spending an hour on it. Either way, I think it’s important to emphasise that compromising on quality makes software more difficult to change and ultimately slows down future feature work.
Tell me about a time you received (constructive) feedback from your supervisor/mentor/teacher/friend
Alternative: What are your strengths/weaknesses?
This is not only an opportunity for you to share your strengths through the positive feedback you have received but also an opportunity to build trust by sharing constructive feedback you have received. Sharing constructive feedback also allows you to share what actions you took afterwards, which can make a very good impression.
If you are struggling to think of how to answer this question it might be a good time to gather some feedback. For example, you could send out an email to anyone who has worked or studied with you on a project and ask: “What did I do well?” and “What could I have done better?”
Just in case you directly get asked what your strengths and/or weaknesses are, it might be a good idea to prepare three strengths and three weaknesses. I would suggest also backing it up with some feedback you have received.
What is your expected/desired salary?
Alternative: What are you currently getting paid?
I would recommend thinking about how (and when) you would like to answer this question. Sometimes this question even gets asked before the interview. From the research I have done, it seems that is best to mention a range that you would like to earn within a year, with your desired salary at the lower end. For example, if you would like to earn 50 000 a year you could say: “I would like to earn between 50 and 55”. From experience, it also helps to ask: “Does that fit in your range?” If it doesn’t fit in their range, it will be an opportunity for an open discussion. If your expected salary doesn’t fit in the company’s range, you will know that you haven’t aimed too high.
If you get asked what you are currently getting paid and answer it, it is likely to put you at a disadvantage. To avoid answering it, you could say: “I would prefer not to say”. If they are really pushy, you could admit that you don’t feel comfortable disclosing it or that you are not allowed to, as your current employer wouldn’t want you to share it either!
Do you have any questions about FakeForty2?
At the end of an interview, the interviewer will often ask if you have any questions. I usually have a lot and try to ask them during the interview so it doesn’t seem too one-sided. If you need some ideas I have provided some questions in Ensure it is the right job for you by asking these questions.
Additional resources
- Is High Quality Software Worth the Cost? - Martin Fowler. An article about the advantages of investing in quality
- Never Split the Difference - Chris Voss. A book on negotiation
- Crucial Conversations - Kerry Patterson et al. A book on communication
Timeline:
- November 2020: Rewrite
- April 2017: First published under Interview questions that should not surprise you