It was a great experience for me because it was my first coding interview, and for such a great company like StackExchange I would be able to know which areas I need to develop.
I do not intend to go into details about what I did or did not do. Rather I would talk about the things I learnt based on Nick’s feedback and my personal review, Hopefully, it would be of great benefit to you.
Always go in-depth and be specific
At the beginning, I was asked a question about a challenge I had faced and how I overcame it. I spoke about a challenge I had when setting up Django on my machine few days ago, but I did not go in-depth even after the question was rephrased because I felt it was not relevant going technical. However after the interview, Nick said as a fellow developer what he wanted to get out of that question was if I had an in-depth understanding of what I was doing, because this would show in the way I would explain it.
Depending on the interview you are doing, if the interviewer is a technical person like Nick, then go deep and spill out all the technical details.
Ask plenty questions
One of the ways you can show that you are enthusiastic about the company is by asking questions. Research the company and ask questions. In fact, what Nick said was, “ask questions till the interviewer would have to cut you short”. Keep asking questions and then ask for the interviewer’s email address, you would like to make contact and ask more questions.
Also, one importance of asking enough questions is that it gives you the avenue to confirm if the company is where you really want to work and be happy. If you have values or habit which you hold dear, that would make you happy as a developer, you should ask if such are encouraged.
For example, I was particular about learning and improvement, so I asked what StackExchange does to improve its developers aside from providing a learning environment and StackOverflow, Nick said their developers are sent to at least one conference every year, and for people that like to speak, they are sent to conferences to speak and he mentioned a couple of other things that are exciting.
This question not only sent a message to the interviewer that I am passionate about learning, but it also convinced me that if I join their team, there are plans to ensure I grow to be a better developer and not just good at what I do for the company.
This was part of the feedback I got from Nick. He said one of the things I did well was focusing on the task at hand. The second section of the interview was a live coding test, so there were some situations when I got stuck. Nick said what some people would do was to fidget out and he as the interviewer would start calming them down and keep them focused on the task, but he said he did not have any reason to do so, and that even when we moved to another question, I did not let the outcome of a previous question distract me.
So regardless of how the interview is going, maintain your focus.
In an interview, you might be given some programming questions to solve, and one good rule is you should speak out your thoughts as you are solving it. This lets the interviewer know your thought process, and when to correct you, if you are derailing from the goal. When I got stuck on a question I kept mute and started thinking in my head. Nick said that was when I should have talked more so that he could have corrected or helped me out.
Keeping mute would not only kill the morale of the interview but also affect how the interviewer would rate you. So regardless of the situation whether you have a response or not, keep talking.
Do not judge yourself
Even though I would agree that this is hard to do, it is a good point. Let the interviewer be the judge.
You deemed yourself to be qualified that was why you applied in the first place, so regardless of the outcome of the interview, keep your optimism.
I felt I did not meet up to my expectation, so I judged myself that I would not be picked based on the criteria I thought the interviewers were looking for. After the interview when I told him how I felt, he said I should mention what I thought he was looking out for, and I mentioned several things that I had preconceived in my mind, and out of all, he said he was just looking for my ability to solve problems, and find solutions if I get stuck.
If allowed, you should rather ask the interviewer what the criteria was.
Probe your interviewer
This is about asking in-depth questions from your interviewer. According to Nick, you want to sure you would be working with smart people and the quickest way to know is to ask your interviewers questions and see how they respond.
Ensure you solve problems quickly
Though this is relative to the problem, the interviewer is interested in speed. In order to improve your problem-solving skills, I would proffer these few strategies which I use
- Solve the problem with words, write code later.
- Think on a high level, this opens you to different levels of solving the problem
- Practice more on solving problems. I would recommend Project Euler or any other problem-solving app. Just get used to solving problems.
- Time yourself when solving a problem.
I hope you have been able to learn couple of things from this
I would love to hear from you, please drop your comments and share.