11/22/2018

How to prepare yourself for an interview as a software developer?


Introduction

Attending a job interview is really not easy and it can be quite stressful, but that’s almost the only way to get your dream job if you don’t have a good network. Your performance at a job interview can decide if you are getting the new job or not, you need to be fit from technical point of view and you need to pay attention on your way of communication as well. With a short preparation you can make your chances much higher. All the next points are based on my own experiences. I attended many interviews from both sides: as an interviewer and as a candidate. In this article I’m trying to summarise my experiences.

The application process is different at every company, but it’s a good idea to figure out what is waiting for you. The interview can be just a short introduction focusing on that what you are searching for. It can be an interview where they are focusing on your personality. Or it can be a technical interview. And it can be any combination of these three. So if you are getting an invitation for an interview and based on the invitation it is still not clear what will be the topic of the interview feel free to ask. You should clarify the language of the interview as well.

How to prepare yourself for the different type of interviews?

If it is an interview an HR partner most likely it will focus on that what you are searching for and on your personality. In this case you should not expect deep technical questions. Most likely you will go through your CV and you need to talk about your experiences. So before attending an interview always read through your own CV and try to introduce all your previous workplaces for yourself, focus on that what you were really doing there, which projects were you supporting, which technologies did you use, which responsibilities did you have. You should talk ca. 2 minutes about each previous position. There can be questions regarding studies as well, then you need to tell what were your studies, what was the main focus, what was the topic of your thesis. One more important thing: for sure you will be asked for what you are really looking for. For this question you need to have a clear answer. Like “I’m looking for a C++ developer position, where I can deal with software architecture as well”. Next to that there are some typical HR questions. To be honest for me it was always the most difficult part for me. Because I have no problem with talking about technical topics, but answering questions like: why are you better than the other candidate, or what is your strength and weakness is really difficult for me. So I would suggest you to collect the possible HR questions (you can find a lot of collection of them online, with some ideas what to answer), make a list from them and write down your answers. So that on the interview you won’t need time to think about.
At most of the companies there is a technical interview as well. But some companies are merging the HR and the technical interviews. As preparation for the technical interview read again the job description, which you applied for and the main technical skills in your CV. Of course you can not learn everything in some days, but it’s helping a lot if you are checking these topics before the interview. For all technical topics there are some popular interview questions. Like if you applied for a C++ developer job I’m almost sure that there will be questions about smart pointers and about multithreading. At the preparation try to focus on these topics. For all technical topics you can find interview question collections online, read them through and try to answer, if you can’t answer google it. If you are still not feeling comfortable enough my suggestion is the following: apply for jobs which has a similar description, but you are not really interested in the company (it is too far from your place, you heard a bad feedback etc.). So if you wanna have a job as a java developer apply for some java developer position even if they are not so interesting for you. Then you can take part on some interviews, where you have absolutely no risk, so you can try out yourself without stress and you can figure out what are the typical questions in that field.
Before the interview always try to find some information about the activities of the company. It can help a lot if you are thinking a bit before what can be their technical challenges or which technologies are they using.

How to behave during the interview?

During the interview stay calm and confident. The interviewer may try to make you feeling uncomfortable, but try to stay calm. Typical questions for making your feeling uncomfortable are questions like “Why would you like to change your job?”, “Why are you better than the other candidates?”, “How is your connection with your current boss and colleagues?”. It is good if you are preparing some answers for these question before the interview. They should be honest, but political correct. So it is not a good idea to answer: “I hate my boss, because he’s a shitface.”, better to tell: “Sometimes it is a bit difficult for me to ensure my boss about my ideas.”.
If you are already at the interview try to give always your best answer, stay calm and confident. But one important thing: don’t be shy to give the following answer: sorry, I don’t know, I have no experience with that. So you can save a lot of time for the interviewer and some uncomfortable minutes for yourself. At most of the interviews it is not a problem if you don’t know everything, but that’s a problem if you are telling something what is totally not true. It happened thousand times with me as well. When I’m leading the interviews and asking the candidate: “do you have experience with QT Signal-Slot model?” I’m usually get the answer: yes. And then for the question: “How does it work?” I don’t get a clear answer, just some bullshit. So that’s something to avoid, it is much better to tell: “No, sorry”, then no problem, let’s talk about some other topic.
There’s one more thing: a job interview is like dating: both sides try to make sure that you are matching together. So you need to show your best side: mention everything what you can do, but don’t lie, they will realise and you can get some really uncomfortable situations. On the other hand you need to check if the company is fitting to your needs or not. At the first part of the interview let the interviewer ask, but after that normally the interviewer asks you if you have any other questions. Yes, you should have! Ask about the position, ask about the company, ask about the used technologies. So that you can have a clear picture about the opportunity and you can decide if you wanna join them at all. On the other hand it makes a better feeling to the interviewer as well, it makes the feeling that you have real interest in the position.
On the day of the interview don’t make any stress anymore. Fine some matching clothes. At this point you should follow the dress code of the company. Check their website before and if they have pictures check what their employees wear at work. The most important: go there in time. It is better to plan your arrival 20-30 minutes earlier than the start of your interview. A lot of thing can happen: no parking slot in the near, traffic jam, your train is late, you can’t find the address etc. But if you are arriving too early don’t enter the building. Use this time to walk around the building and check everything what can be interested: where are parking slots, is the a place where you could eat etc. Enter the building around 10 minutes before the start of your interview. Go to the reception introduce yourself and tell that you came for an interview. Never forget the name of your interviewer (if it was in the invitation). At the beginning of the interview most of the cases you will be asked if you need water. It is good to say yes. You can always win some really useful second during the interview by drinking some water. In the meanwhile you can think about the answer. Regarding winning time: if you know the answer but you need to think some seconds you can start to bullshit. OK, this is maybe not the most correct word, but what I mean here is sentences like: “Yes, I had to solve such a problem at my previous project, it was quite complicated to find the solution…” and the you have some seconds in the meanwhile to formulate your answer. Or just one more example: the question is how locks are working in multithreading. Then you start with that what is locking and why is it necessary at all and at the end you can tell how it is working, but then you had some time during your introduction to formulate your answer.
And last but not least: at an interview your technical knowledge is not the only thing what is checked, your attitude, your personality and your way of communication is very important as well! Be honest, open-minded, look motivated, that a half success.

The big question regarding salary

One of the most interesting part of the interviews is the salary. Usually this topic is coming up only at the end of the interview. Let the interviewer come up with the topic. If the topic is not coming up don’t worry, maybe it will only come up on the next round interview. Regarding the answer: If I’m searching for something new I’m always deciding first what is the minimum salary I can accept. When I’m asked about my salary needs I’m usually telling 10-20% more than this amount, but I’m mentioning that I’m flexible. So if the company can pay my wish for the position I will be more than my minimum expectation, if not there’s still space for some further discussions. For me this strategy worked well. If you have no idea about what would be realistic use google: there are several pages which can tell you what is the average salary for a specific role in your city!

Summary


These were my tips for this topic, I hope I could help you, feel free to extend it if you have more ideas. So prepare yourself for the typical questions, know what you want, be honest and do your best! I wish you a good luck at job search!

No comments:

Post a Comment

Software quality assurance in practice

Introduction Every software developer has some idea of a good quality project (bug free, fast, easy to adapt, readable code base etc.)....