What could go wrong in a software job interview? — an Interviewer’s perspective.
It was a shiny Saturday morning, I showed up early in the office with a lot of excitement to hire some good talents for our growing team. I grabbed my first coffee of the day and started looking into a few shortlisted resumes. My coffee kicked-in, and I am all set for the techno-managerial round of interviews.
I love taking part in recruitment drives a lot. Hearing people’s experiences, problem-solving style, their thought process on technology is something I really like. This helps me to choose some of the best talents in the industry. My excitement is kicking in with the caffeine and I asked our interview co-coordinator to send the candidates to me.
Here I am sharing my experience of a specific day but this is something I experience in most of the interviews that I take part of.
The first candidate of the morning showed up in my office, I greeted him and started having a casual conversation about how his day to day job looks like at work, what are the technology components he is working with, an overview of the architecture, etc. He started answering my questions in a very high note. I was started getting most of the answers I was looking for. When I asked him “Do know why this is done in this way?” he answered, “Our architect asked me to do it in this way”. I asked few follow-up questions then and there itself “Do you know why did your architect asks you to do it in this way? Can you think of a different way to address this?” and the instant answer I got was NO.
So, what went wrong here? I didn’t get turned off by the answer NO, because he was able to answer more than 70% of my questions. I got turned off because the candidate didn’t even try to think why it was done in a certain way? he didn’t even show a willingness to think of an alternative solution if at all possible. These make me feel that interviewees are keeping themselves contained in a small boundary. They are not thinking beyond what they are asked for and just following instructions. For long-term growth and staying relevant in the software industry, it’s always preferable that someone can think and see the broader picture. Not just excelling inside their own boundary.
No excuse please
I took my next cup of coffee and asked for the next candidate in the morning. I greeted her and started having a conversation. While discussing with this candidate I understood that the technology/framework this person was using in her project was almost two years old. In the last two years, there has been a lot of advancement in this technology. I asked her “Do you know what is the latest version of this framework?” She replied with a version that is not the latest either but close to the latest one (that version number doesn’t exist actually). The Follow-up question from my side was “Do you know what the new features are or advancements have happened in this latest framework?” She replied me back “My project is two years old, my tech lead never asked me to use this latest framework, and hence I do not know about it.”
I hear this answer a lot. Candidate blames their projects or their tech leads. When I hear this answer, I feel like the candidate is not willing to learn new things or lazy. There shouldn’t be any excuse when it comes to learning and upgrading skills. The project’s framework version or team lead’s instruction is bounded to work only and it can’t be a bottleneck for learning new things. Keeping up to date doesn’t need a lot today, one just needs to follow some technical channels, be it on YouTube or in twitter or any online tech magazines for that matter. Spending 5–10 mins a day is sufficient enough. Running a personal project and keeping experimenting with all the latest and greatest stuffs gives a huge mileage. A job aspirant must keep themselves updated all the time with at least one technology that they work on day to basis to stay relevant in this ever-changing industry.
Time was passing by and by noon I was able to select a few candidates of my choice. Post lunch next candidate showed up with a lot of smiles and confidence in his face. I started discussing in a very casual manner while re-scanning his profile. He was very fluent in describing what he knows and what he does, I was impressed with his confidence. In the meanwhile, I got attracted by some of the latest trendy technology buzzwords and names. They were ChatBot and Microservice. I got very-much interested to know more about those from him. I asked some basic question around ChatBot, it’s usages and implementation. Similarly, for Microservices as well. After 10 mins of further discussion, it appeared to me that he was referring to a normal chat application as a ChatBot application. Also, he was referring to a HTTP service API as MicroService since it was very small (micro) in nature.
I am seeing a lot of candidates these days are writing all these trendy technology names in their profiles such AI, ML, ChatBots, Microservices, etc. When asked about basic fundamentals they started giving answers which are no way related. Knowing about disrupting and the latest tech is always advantageous, it makes a candidate’s profile shiny, but one needs to make sure that they at least understand the basics. Just write these to woo the interviewer may not work always, these words attract interviewers’ eye at the very first place.
Self-rating with cute numbers
With the next candidate, I was very much impressed with his credentials and the way of explaining and solving problems. I was rating him very high on his skillets on a scale of 1 to 10, while 10 is the highest. At the end of my discussion last I asked him to rate himself on a scale of 1 to 10. He started rating 7/10 where he was very good at, and less than 5–6 for those where he was weak as per himself. I have seen a lot of such cases where candidates rate themselves 3/5 on a scale of 5 and 7/10 on a scale of 10 if they want to rate themselves high. I think candidate uses these cute numbers (who doesn’t love 1,3,5,7 — yes, they are cute) 3 and 7 when they are in doubt about themselves and try to be diplomatically correct. Although this is not a deal-breaker but this makes me feel that candidates are not confident enough about themselves, and are in fear of getting asked tough questions if they rate more than 3 or 7. In my opinion, a candidate should be generous while rating themselves on something which they are really good at. If you can’t take a lead on yourself then who will? :)
In between, I observed a few more small resume mistakes worth sharing. Most of the resumes are copy-pasted from someone else’s resume. I am completely okay with that. Who doesn’t want to save some time? but one should take care of the content very carefully and read it through line by line, word by word, no excuses should be made here. Candidates looking for a software job usually write about their projects and technology used in their resume. I found many cases of using totally unrelated technologies for a single project. Which makes no sense technically or practically because those two different technologies never go hand in hand. These expose candidate’s carelessness or lack of technical know-how.
Having a profile in GitHub or any other repository gives good Brownie points for sure. I have seen some developers show off their GitHub profile links in their resume but there is no activity in it, no personal repository, no contribution at all. Having a blank profile and showing off is not going to help, rather it could incur some negative impressions to the interviewer.
Last but not the least, candidates resume should be in sync with their LinkedIn profile. Past experience, job profile should not completely be different than the resume. It gives an impression to the interviewer that the person is faking something.
By the time sun goes off, I was done with interviewing all the shortlisted candidates. I took my last cup of coffee of the day and wrapped it up nicely. Yes…, it was a hectic but a good productive Saturday indeed. I was able to select some good talents with an awesome attitude. Looking forward to upcoming recruitment drives and share some more experiences.
Disclaimer: I am taking interview of engineers for various software roles for quite a sometime now. We are in the consulting or software service industry look for someone who can think, have a positive attitude towards problem-solving, honest, understand fundamentals, and asks the right questions. All of the above are based on my personal experiences. It may vary based on the situation, person, and places. This shouldn’t be taken as professional advice.