My name is Genrikh and I'm a frontend developer. I have passed pretty much interview over my career in IT as, I'm sure, a lot of developers. I suppose, almost every developer has passed a few interviews and will have passed a few more in the future. Of course, I have been preparing for interviews. I was repeating themes that had been starting to seem a little bit forgotten, solving algorithmic tasks, updating CV and LinkedIn account and even, probably, was trying to put in order my Github account. After a few interviews, a pattern for preparing has appeared. I formed the most frequent meeting questions list and list of themes for repeating to prepare a technical interview. Since I have done it, I look through this list before each interview. Also, there is a lot of advice on the internet about how to write a CV, etc. However, on the basis of the last few interviews, I created one more list, which I going to use in the future - it is a list of my questions to an employer.
As I said above, there is a lot of information on the Internet for applicants how to pass an interview. Mostly this information is useful, but in fact, it is quite general guidance, like, it is better to choose a product company instead of a web studio, good to have the ability to make a career and have professional colleagues. It is good guidances and it works, but I wanted to make a more precise approach to finding an employer.
Below you can find the list of themes and questions that I usually discuss with potential employers and potential managers/team-lead. I'm sure that list isn't full and comprehensive but I didn't include default questions like work schedule, salary, etc. I think it is granted questions and it doesn't need to show up it there. Also, I would like to notice, that the question list is not ordered on question value.
The ability to affect decisions is made in a team is essential for me and it is one of the most important criteria in the job choosing process. And I always ask for describing the decision-making process instead of the straightforward question about employees' ability to affect decisions. It is good if that ability is presented in the description.
Short working process description.
From the idea of a new product/feature to deploy on a production server. What kinds of teams are there, how are responsibilities shared between teams, how information streams are organized, etc. It is an important question that allows understanding, based on an answer, what are employer expectations from the position on which you are being interviewed. Moreover, it is possible to find out the diff between your understanding of a job and employer expectations
How big is the team, what roles are presented in the team. It is useful for more precise work process understanding.
I usually ask for two examples. First is the code which team-lead considered as the sample of the best code and second is the sample of the code which should be refactored as soon as possible. Great if you could be received code examples by, for example, email and look into that at home with appropriate attention.
Code review process.
Is it exist in a team? Which linters, rules, agreements, and methods are used in a team for support code quality and control about code? An answer to that question, in my opinion, has a good correlation with the degree of code love.
How a team does work with tech debt? Does a team have an organized process to work with tech debt? Do managers/team-leads admit of tech debt existence? On one of my interviews, potential team lead said that developers in the team were so good that they don't produce tech debt. Probably, answer like that lets to make some conclusions.
How are meetings usually held? Is an agenda is necessary for meeting making? What reasons do usually lead to a meeting? Are meeting artifacts required? My opinion is that: reasons require meetings should be reasonable, not very minor, and every meeting should have an agenda and artifacts.
Question for potential manager / team-lead: Explain what micro-management in your opinion. Is it good or not and why?
I really hate micro-management and I really appreciate the existence of freedom (within certain limits). Answers to those questions you could fit in your opinion.
Question for potential manager / team-lead: Could you remember some significant decision you have made and give arguments that guided you?
It is an answer where it is possible to understand how your potential manager makes decisions. In case you are familiar with the decision theme, it might be interesting to have a discussion.
Current situation in company and working mode.
Sometimes companies search developers when don't have time to release product. And right after you have joined team, you get to the center of a rampant storm of development. I don't say that it is bad, but I'm pretty sure you want to know about that circumstance when you are thinking about a few job offers.
Expectations from an employee on a role you are being interviewed.
General question, however, expectations at each place are different, sometimes you could hear interesting things in answer.
Main inside and outside company priorities.
Of course, everyone wants to know more about a potential job. Even if you know about company priorities it could be useful to hear employee interpretation.
Plans for the near future.
A main plans and tasks for the next one or two years.
I hope this list will help someone to make a better decision about a job choosing and avoid disappointing at a new job as it helped me.