For some time I do interviews. I'm not an HR person. I'm developer. I do technical interviews for my company. My responsibility is to check how experienced is the person which apply for a job. How this person fit to our team from technical and personal point of view. This process is not about being perfect. It's more about being honest. Finally team and candidate should be able to work together. Today I would like to tell a little bit about what I expect from person to interview. I would like to show my point of view on this kind of conversation.
For me is very important to respect others time. So I'm always prepared for the conversation. I read a CV, prepare questions regards to skills, knowledge of person and project, which she/he worked with. Each time I do that separately, because each person is different and have different experiences. I spend some time in preparation to don't waste others time. The same I would like to get from the candidate. To be prepare to the conversation. I don't expect all correct answers. I expect own opinion, logical thinking, easy moving in technologies which she/he work with. Of course on specific level. It's depends on the position which we offer. There are different expectations for junior and different expectations for senior.
As I said the most important to interview is to be prepared. This is the key to success. Even person isn't someone who we are looking for now. For example, we are looking someone to backend, but a person has more frontend skills, but have an interesting point of view, and is good in her/his job. I will remember this person. And I will reach to this person when we will need someone like she/he. Even this will be another project.
What those mean be prepared? What you should do to be prepared?
Know your CV
When I start my preparations I always read the CV. This is the base for my starting questions. I ask about projects, technologies, architecture in this project. Everything related to information in the CV. Dates, projects, approximate time of work and other skills, trainings. It is very important to be aware what you have in the CV. So when you are before interview go through all information which you have in the CV and remind yourself what were your responsibilities in this project? What technologies do you use? How you resolved problems? This is not the best impression when you read your own CV on the interview. The same when you say that you don't remember your last project and it was a month ago. Of course, this is normal that you don't remember what you did 5 years ago. Although when you go to interview you should remind yourself last 2-3 projects. This is also a good place to tell about one more thing. Never, ever add to your CV elements which you don't know. It is easy to check your knowledge about that and very hard to change the first bad impression.
Remember projects and companies
This is part of the first point. I would like to mark that. Who should know better projects and companies which you work for, then you? I really ask about this. About the responsibilities in projects, architecture, what is project about. If you don't want to talk about something or you cannot do that, maybe you shouldn't put it into the CV. Of course there are projects with NDA. In this case you should also go through this project and think what you can say and what not. This is an example how I prepare questions: If you put in a CV that your project was done on microservices, you should know how looks like architecture? How it looks like communication between services? What is for your service? Do you like this kind of architecture? Advantages and disadvantages?
What's new in your sector
This not only related to the interview. You should know the news from your environment on daily bases. In my opinion working in IT need developing skill all the time. I know it is hard to know all news. I also have problem to stay keep up to date with technology, but still trying. It is good to refresh knowledge from time to time. On interview, I will ask about: What is the last version of your language? What are the new features in the framework? Any new libraries? New concepts or ideas? This will allow me to check how you take care about your skills. I know it is impossible to know everything if you don't know something just tell me that. As I say, be honest, don't lie.
Tools, workflow, interesting applications
I always ask about workflow, about tools, editors, system, version control. How you work? Which libraries, gems do you use? Everything related to work. How to be effective? How to have good communication with the team? How to check if the code is good quality? Maybe you know something about TDD, metrics, PR/MR (pull/merge request), code standards, work remotely. I'm interested in your opinion about this topic. I would like to know if you are conscious programmer. If you know, what will make you more effective. What will increase the comfort of your work?
What do you do in project to have good architecture, good code quality? What do you do to be able in fast and easy way make some changes in the code? Design patters? Programming rules? Code standard? Main concept of language? Frameworks?
This is more important for you. You apply for a job. You should know: What company does? What is product of this company? What is a market for them? How looks structure of the company? How looks theirs product? Sometime on an interview I ask about this information but rarely. This should be interesting for you. It is better known this information before sending a CV. You will save your and also others time.
Be prepare to show you code
On short conversation, it is hard to ask all questions and check all knowledge. Specially code related. So I always ask about some code example, project access. It is very good when a person has something to show and this is not only Rails Scaffold. This should be something which you are proud of.
Be ready to some live coding
I know this is a very stressful situation. Especially when someone watches you each move. For me it is one of the best possibilities to check your programming skills. How you handle problems, how you work with stress, how you think about the problem, how look like your communication skills. At this moment don't think about me just say what you are doing, think about the problem, ask when something is not clear and everything will be fine.
When this is not your first project you should be able to say something about methodologies. Do you work in a team? How you work? How big was your team? How did you organize your work? Did you use any methodology? Which one? Do you use Scrum, Agile, Waterfall, Lean? What you use for communications? How you fix bugs, create new features? How you deal with your client? How you solved problems? What you like and don't like in this methodology? And why?
Prepare some questions for me
It is a lot of things you would like to ask. Maybe about our workflow. About team. About features. About code quality. Architecture. I always really happy to answer your questions. There is nothing better than person which know what he/she know or not. And have enough courage to ask, questions. Finally, you also be excited to join our team.
There is one more and very important request for you. All these tips are from my point of view. What I expect from person to interview. This is not a way to cheat, but way to be better prepared. Be honest with yourself and with recruiter. In the end this is important for both sides to know each other. To check if we match together. A company can choose you, but you also need to choose the company. This is some kind of agreement. Everyone should be happy about working together.
Do you know any other tips how to prepare to interview? If so, please add them in the comments. Have a nice time and see you next time!