Disclaimer: In this post I list a few points that I put under consideration when I am interviewed for a job. This is not a career advice or any kind of recipe for success. This is a personal perspective of how I evaluate my potential employer during the interview stage. I don't expect everyone to agree with the statements below. English is not my primary language, so my apologies for any mistakes.
Finding a job is a vital task and can drive to several situations, positives or negatives. The candidate can end up in a promising environment and grow with/through the company or even end up working in a toxic environment and get stuck in the same point for ages.
At the beginning of the career, usually we try to sell ourselves in the best way possible in order to get the job. We usually focus on how our background can match the listed requirements of the job ad. Well, this is not bad at all.. Although, the interview is a two-way procedure.. There is the interviewer(s) who is trying to understand why you are the right candidate for the role but also it's you who is trying to understand why you should work for this employer - why you should spend X years of your life working for this company - what does this company has to give you in return for your skills.
I am in this stage of my career where money is not the main criterion to select a potential employer. I like the "select a potential employer".. This is what an interview should be at the end, the interviewer choose the right candidate but also, it's the candidate who choose the company as well. Every time I give an interview, I do have a specific list in my mind that helps me evaluating the potential employer.
Long story short. This is pretty much what I consider before choosing my next role:
This is the ground level to build the rest layers. Obviously, in order to get the job you have to prove that you have the required understanding to solve the given task. The way you divide the problem into smaller ones, the way you approach the solution, the clean code, this is what the interviewer should evaluate. The majority of the assessments are about some basic loop functions, iterations, conditionals, sql maybe. This ok, this is what you should expect. What I put under consideration in this step is the way they provide the challenge, what orders I get to resolve the task. Do they accept one solution (their solution) as a valid answer? How do they evaluate the result? Do they go through the steps I took to resolve the issue or is it the result that matters?
Does the interviewer has the ability to see any further from my technical skills? Is the interviewer able to understand my professional attitude? It's high desirable for a candidate to have a deep knowledge of a specific technology but what about the soft skills? Another project will possibly arrive and the company might decide to switch the tech stack. In that case, the candidate should follow and adapt the new technology. The interviewer should be able to identify if the candidate is able to move outside his comfort zone.
It is usual to face a kind of arrogance in our job. There are a lot of people out there believing that they are intelligent and any different thought to theirs, it is just a piece of garbage. I call those guys "rockstars" or "prima donnas" and I am allergic to them. I worked with such people in the past. During an interview you can get some signs and possibly avoid working in a toxic environment. How does the interviewer react after you are answering a question, what is his face expression, how far is he going if he has a different opinion to yours? Does he judge the tech stack or the decisions you took in your previous projects? This is a way to get an initial feeling of the company's general attitude.
It is 2020, it's a joke to do any kind of comparison between male and female engineers. This would be not proper at all at the end. Women in tech (like in any other industry) are extremely capable and can achieve high level goals. Not sure if I even had to say that - the gender does not matter at all. Although, it really matters to me having at least one female in the team for another reason. Some times the software developer teams are laid back.. Really laid back... In such a way that they are chatting using not proper vocabulary (sometimes disgusting). I won't say more.. I found out that in a team where there is at least one female member, the male members are more careful and gentle in the way the are talking. I guess they respect the fact that it's not pleasant for a woman to listen men talking like they are teenagers.
You are getting in the room, prepared to answer questions about the technical skills, education, possibly some other general questions. The thing is, how much is the interviewer prepared? Is the interview structured at all? Does the interviewer follow an order to make the questions? Does he know what he is talking about at the end? This is a real scenario, I was interviewed by four people (the whole team that I would potentially work with) and one of the guys mentioned the SOLID principle and asked me to talk about it. When I reached the "I" (Interface Segregation) another one stopped me: "this is not the "I"! The "I" stands for Inversion Of Control". He was that sure he was right, that he left the room to google about it (and obviously understood his failure). So again, you know what you are talking about although, does the interviewer know what he is talking about?
To meet the job requirements is checked. To work with good/collaborative/positive people is checked. What about the stability and the options to grow with the company? How healthy is the company and how well is it going with the competition? Even if all the above crucial aspects are covered and you are happy to work in this environment, the big picture should always be the next step and how this particular role would help you to grow. Business is business and bad things happen all the time - you cannot predict it. Possibly a few clients moved to the competitors. How is the company going to act in this case scenario? Announce redundancies? If so, what are the criteria for the selection? L.I.F.O. (aka Last In First Out)? This is definitely an issue to consider because behind the joy of creation working with code, we have to deal with our bills at the end of the day..
Well, that's all folks! The above list is what I pay the most attention when I give an interview, it covers pretty much what I want to get from my potential employer and how I imagine myself in the company.
Your opinion is welcome. I am happy to read comments and possibly end up in an interesting conclusion.