Things you should know to be successful in IT interviews
I’ve spent the last few months quite heavily involved in recruitment activity as my company is growing quite substantially. However, in sitting in on many interviews with supposed experienced tech professionals, I’ve noticed some common trends which I feel are hampering many aspiring candidates and so I thought I would write a short article to perhaps help those within the tech industry be more prepared both for their interviews, but also just in finding growth within the IT industry in general. I know other people may not ask these questions, but to me, they are very important and help paint a picture of exactly who a person is beyond just their technical ability.
I will tackle this by providing things that you should know the answers to and why they are important. I’m avoiding those typical questions like what are your strengths and weaknesses or where do you want to be in 5/10 years because these are common questions we should always expect. Instead, I want to focus on areas that show who you are as a person, both technically and holistically.
Avoid sticking to a specific programming language
While you may be an expert in your favourite programming language, software evolves and different languages may be used that better suit different features or solutions in future. Try not to focus on only speaking up why you are an expert in a certain language but show that you are also adaptable and able to understand the differences between programming languages.
Why do I ask it? – While I may be hiring you for a specific role now, I want to think about your position in the company long term and that may require a skillset outside of just one language. Knowing that you are adaptable to different languages makes you a more rounded developer, better problem solver and more useful to the long-term needs of any organisation.
Understand your existing company’s architecture
You may think your job is just to write some code or tests for a small feature, but it’s important you understand your company’s bigger underlying architecture and how it all fits together.
Why do I ask it? – To me it shows many things. Your ability to understand the bigger picture of what you are working on, knowledge of different technologies and how they fit together but most importantly, a curiosity, because if you are truly curious at how your existing company works and can make software better, you should understand all this information.
Know how the customer benefits from the software you currently make
We all build software that needs to exist for a purpose and it’s important you are not just writing code for the sake of it but understand the bigger purpose of what you are building and why.
Why do I ask it? – I want to know that you are more than just a coder, but someone who understands the purpose behind what they do. Even I the work you are doing is not customer facing, this should be important to you and therefore I would expect you to know these details.
Be familiar with the technology in the company interviewing you
Much like I expect you to know the architecture about your current company, I expect you to know something about the tech of the company you are applying for. While I wouldn’t expect you to be familiar with every aspect of the architecture and even the tech being used, you should know a fair amount about it.
Why do I ask it? – I need to know you are not only passionate about the company you are trying to join, but also interested in its technology. In fact, I expect you to probably ask me questions as to why and ho things work because I want to see your curiosity and interest in it.
Know the pros and cons of different technologies you have worked on
Along with the software architecture and technologies you have experience with, I will ask you the pros and cons of them. Even if you are not an architect or in a senior position, I still expect people to understand these things.
Why do I ask it? – Curiosity and the ability to think critically. I don’t need to know that you can work with the technology, I also need to know that you understand its strengths and weakness so that you will be able to do things better in the future and come up with solutions.
Know what you would do better and why
I always ask people what they would do to improve things in their current role if it was up to them. I want to know not just what you do, but how you are able to think of improvements in your space and explore solutions to current problems.
Why do I ask it? – I am looking for people to solve solutions, not just identify problems. If you are not able to see what can be improved in your current workspace, I have concerns that you are either not passionate about improvement or not solution oriented. Of course, this is a multi-layered question because once you’ve provided me with what you would change, I am going to ask you why you have not don anything about it yet, because I also want to see your ability to take initiative and have ownership.
Know how to prioritise
Software development is a challenging task that involves multiple dependencies and moving deadlines. Any good developer or tester should be able to juggle these and know what to focus on to develop the best viable product in the given time constraints.
Why do I ask this? I always ask a question somewhere related to a person’s prioritisation skills because I know that there is always going to be change and I’m looking for people that can think on their feet ad make the best technical decisions when circumstance change. I don’t want you to rely on a product owner or lead to make these for you, but that you have the ability to think this way on your own.
Explain how you test and why
This might sound like a typical question I would ask given my focus is more on the software testing side if things, but I would also ask normal developers this questions were I would want to explore how they approach software testing, automation and how seriously they take.
Why do I ask this? – Your code is only as good as the quality of the testing involved and so if I can see that you don’t know how to write a good test or take this seriously, I am less confident in your ability to deliver good code. It also helps me to see if you understand the bigger picture of your software architecture as testing need to encompass more than just your code.
These are not the only things that you should focus on in an interview and here are a multitude of other important questions and technical assessments that companies will likely evaluate you against along the way. However, if you can deeply understand these principles, there is a strong chance that you have what it takes to be successful within the tech industry.