Glowing Face. Why googling during the interview doesn't help.
This is a blog post about the interviewing process and a big mistake people do.
Once upon a time
It was a regular screening interview with someone from another part of the world sitting in the same-furniture office.
Rainy weather in winter does not help to focus at all, and I go to get some coffee. Being sleepy is something I want to avoid at all costs. Pouring over Columbian coffee gives a brain energy spike. It is important to have fifteen minutes before the interview starts. You need to switch focus away from the routine.
A notebook with a pen are prepared to record the candidate's answers, emotions, body language, and my quick feedback.
3, 2, 1, click...
Mega standard questions
"Hello, my name is Gleb. Welcome to the technical screening interview. It is one hour long in total. At the end of the interview, you will have ten minutes to ask any question. During the interview, I take some notes. If you see me typing I am not chatting with my mates. I am complete with you. These notes are for me and I will never distribute or pass them to anyone. I need these for decision talk. Do you have any questions about the interview process?"
I don't remember anyone who had any additional questions. The interview framework is dead simple. So we start.
My first question is standard: why did you decide to change your job and apply for this position at our company?
You might argue this question is mega standard, and I should omit it during technical interviews. Believe me or not but I ask this question because of two reasons:
- It is a good starting point for the conversation.
- I am curious. Everyone is different. I still remember one answer: "I decided to quit my job and apply overseas because I WANT TO ESCAPE FROM MY COUNTRY." That was a real pain.
This time the answer was: "I want to move further in my career." A good one.
I asked the second question: "What kind of techniques and tools do you use to write a good quality code?" It is usually the open one. I would like to know about the candidate's experience.
"I use ESLint for linting my code and Prettier for code formatting. It looks the same for everyone in the team," the candidate answered.
One interesting observation: junior developers often starts with tools, for example, linting, formatting, tests. Senior developers mention software design patterns, data structures, algorithms first, and all the tools second.
"Do you use Test Driven Development?" I asked.
"Yes, I do."
"Great! It is time to get hands dirty and code something," I said. "I am gonna share with you the JSFiddle link. You will find a simple assignment there. You need to implement one function that reverses a string passed to it as the parameter. You have five minutes to think about it. You can think loud and if you have any question or problem we can discuss."
"Sure, ok," the candidate said.
This is how JSFiddle looked like:
/**
* Reverse a string pased as a parameter.
* For example, reverse('Hello') returns 'olleH'.
*
* @param {string} str - A string to reverse
* @returns {string} Reversed string
*/
function reverse(str) {
}
Glowing Face
I made a coffee sip. The third interview already. My voice needs to have a short break.
The candidate was sitting in silence. The cursor on the JSFiddle page was not moving. It is worth saying the candidate's surrounding was dark. JSFiddle background is black as well, so the candidate's face was kinda in a shade.
Suddenly the face gloves. Boom!
Quick experiment: what website with a bright white background do you open when you have a question? Bingo, Google. Or maybe Bing, DuckDuckGo, it doesn't matter. What matters is I was sitting in front of the person cheating. Even if you have a silent keyboard you can still notice shoulder and eyes micro-movements.
Being caught cheating during the interview is embarrassing for both of us.
I decided to save the candidate's face and proposed:
"If you have any trouble remembering a function name or something, please, ask me. I also recommend thinking loud, so I can help you."
Candidate nodded. Needless to say, the candidate went on to surreptitiously google all the next questions I asked.
I was frustrated and hopeless to save the interview. If you need to google such a basic question what kind of questions should I ask for the middle Frontend engineer position?
We finished the interview in time.
I could not interrupt it earlier whereas I wanted with my all heart. I felt it was painful for both of us.
The coding interview result was awful. The candidate tried to google answers instead of focusing on the problem. No test was written (remember TDD was mentioned). So I had to review code samples but nothing was done until the end.
This candidate would never know what I know about cheating.
Tips for Candidates
I would love to share some tips for candidates from my 12+ years of experience.
Don't be late for the interview. Every minute counts to give you the possibility to make a better impression and answer more questions. Arrive on time if it is an offline interview.
Check your internet connection. If it is an online interview make sure you have a good internet connection and try to connect some minutes before the interview starts.
Check your surroundings. Avoid someone is walking behind you during the interview without pants.
Be sure to dress for the occasion. Even for the online interview. It also has a positive psychological effect on you. You will be more focused and in the mood.
Communicate effectively. This means being able to explain your ideas clearly and concisely. Think loud. It helps me to understand your approach to solving a problem. But also be able to listen attentively to others. Sometimes candidates are stuck during the interview. I usually try to help them. As an interviewer, I give some hints that can help. So if you listen with 100% attention you will nail the question.
Make sure you know what kind of interview you are preparing for.
There are many different types of interviews for a software engineer position.
- One type of interview may be a Q&A session. The interviewer will ask you questions about your experience, skills, and abilities. Be yourself and tell about your personality and your superpower.
- Another type of interview may be a coding challenge, where you need to show your hard skills. I recommend showing your everyday coding process. For example, if you use Test Driven Development start your coding challenge with a test.
- The third type of interview may be about your thinking on system architecture. You must prepare for answering open questions.
Be ready to answer questions about your experience, your skills, and your goals. You should also be prepared to talk about the projects you've worked on in the past, and how you contributed to them. Explain in detail your input. It is always interesting how people solve the same problem differently. If you contribute to any open source project share it! If you hack something in your free time, show it! Github is a new Tinder.
Prepare your code samples. The interviewer might want to know how you approached the problem, what solutions you came up with, and why you made the choices you did.
Show your competencies. Having a deep understanding of algorithms, data structures, and software design principles helps a lot. It is important to be well-versed in the latest technologies and trends. It shows that you're a part of the engineering community.
Be sure to read up on the company's products and services. You should also be familiar with the company's technology stack, and be able to talk about the projects you've worked on that used that technology. If this information is not available it is a great question to the interviewer.
Prepare a list of questions. Outline everything you want to know or you need from the company as a bullet points list.
Ask questions about the company's culture. I as the interviewer want to know if you are a good fit for the company and if the company is a good fit for you.
Be yourself.
P.S.
You might want to know what the candidate could do differently. If you don't know the answer, if you are confused, JUST SAY IT explicitly. Don't try to cheat or stall. Help me to move the interview forward, so I can learn more about you, your skills, and your superpower.
Materials Used
- Cover photo: Grayscale Photography of Man by Tookapic, available under Creative Commons Zero (CC0) license.