Screening HR email: ‘A’ sent an email not an appointment without considering the time zone. I missed the call, however, they were kind enough to reschedule. Again, email was sent, not an appointment. :(
I had to double verify the time and day to be sure. Why not save everyone's headache and send a meeting invite instead of email.
Virtual Interview: No head up what the round will consist of, coding or resume talk or just personality. I had to send an email twice to confirm.
To my surprise, its a 5 vs 1. Its was not stressful but the initial shock if I am prepared to deal with 5 people online. Thankfully, the panelists were thoughtful. No one spoke over each other, giving ample time to pause, think and respond. Questions were C ++ quizzes about pointers. Pretty straight forward.
On Site: Again no heads up what the rounds are. No meeting invite, just email confirmation. It felt like the company was working in the 2000s.
I had to ask and re-ask for the outline. I was finally able to connect to the HM, and was forwarded the following schedule.
8:40: Arrival and Check-In
9:00-10:00 am: Presentation Q&A
10:00-10:30 am: Leadership Interview
10:30-11:30 am: Technical Interview I
11:30-1:00 pm: Lunch
1:00-2:00 pm: Technical Interview II
2:00-2:30 pm: Benefits Review
2:30-3:00 pm: Closing Meeting
The HM was kind enough to offer assistance with the topic for presentation. I thought something that made the team interested in my resume, but was told I can pick any topic basically free hand. No problem.
I would also like to know who the panelists are ahead of time. I have seen it as an industry norm. Never had an HR not disclose this.
Day of interview,
1. Check-in and arrival was smooth.
2. Presentation: went well. No surprises. The panelists were curious about the scope and impact. Great. Audience of 7. Five people were in ties. I was not even informed about attire. I felt out of place. I wish the HR informed me, it's a thing.
3. Technical Interview:
Panel of 7.
Design a game. Where a junior engineer can understand the scope and start working.
It was going well. The panelists were passive. There were no pointers on what they wanted to see. I asked questions about memory constraint, User constraint, etc, but they were like you can assume.
Once I started assuming, I got corrected. At one point, I was asked, why do you need a history of moves. I had to convince, it was a good idea to backtrack and learn from past moves. Panelist B did not seem satisfied with my reply. Oh well. My proposal was not as elegant, but I think it would work. Some of assumption, did not sit well with a panelist B. I clarified but it sounded like they had read a solution which made it hard to see from my perspective. I tried, but my point was not acked. Nothing worrisome. Overall, I think I was ok.
4. Lunch: This threw me off. I got a good sense of team/ company culture.
I decided to take a break before I joined the table. I was left to sit in a corner spot. I have been on both sides of the interview and this felt off. Never had a past experience, where candidates were sidelined. This round is supposed to know more about the candidate. I was asked 1 question by a panelist C across the table. The rest of the time people were talking about their own personal stuff. I was able to talk with 2 people sitting close to me, but they were more into themselves. Panelist B was doing all the talking about himself at the table. I don't know if I could have done anything. I was just lost. Everyone seems to be pulling each other's leg. It felt more like kool-aid culture.
5. Technical round 2: This is where things did not go as planned.
Now its 7 v 1
Write a function that prints a list of tasks completed in order, where incomplete tasks are printed first. Bonus if you add priority and print them.
The handout was given to me by the hiring manager. I asked, what the input format was? Is there something specific she wants to see? What are the memory limitations? What is the data type of input?
I was given a free hand to make assumptions and pick my language of choice.
I am thinking and talking aloud. No one panelist says anything. Every one is talking within themselves, going to their pulling legs cooler talk.
I decided to code on a projector.
I created sample input. No input or correction.
I write a function with assumption of input list of list and get the function print as expected. Suddenly panelist B why this input? Why cant it be better? The way the question was asked, I felt like being cornered. I said the HM was ok with my input when asked. The HM agreed, but changed once the panelist said there are only 2 values [completed/incomplete].
I was like we can make it enum, make int or bool. It just went downhill from there. I was asked why I did not start with an object. I was like… I assumed the focus here is the function.
“I wanted to get the function working before we make it more mature”.
I was not even finished coding, the panelist B was pointing all what is not working, line 22 needs changed, the comparison needs changed, print there etc
I had to stop him and tell I am yet to complete all the improvements. At this point panelist C was, “ let us work on improving the code.”
I knew this round decided the outcome. Fun!.
6. Leadership round: This was an Ok round. I am not sure what the goal of the round was. It did feel unique to talk to the VP about the company, but at that level all the replies are vague and open-ended.
7. Benefits round: No paternity leave. Plans are HMO. No 401k. ESOP are offered which means you put all the eggs in one basket.
8. Closing meeting: Nothing specific. I was told a decision will be made next week.
Result: The team decided on a different direction. No shoot!!
Closing thoughts:
Since, I have been on both sides of interview, here is something to think about
Never let a candidate worry about anything else other than interview, example, attire, timing, agenda, panelist etc.. HR needs to prime the candidate for better outcomes. Saves the company's time as well.
Panel of 7 for the technical round. Whom should the candidate communicate for decision making? How should the candidate get everyone's attention? More than 3 panels is noise during interview
Panelists need some basic training on how to conduct interviews and how to ask cross questions. I believe collaborative interviews bring the best of candidates. Importantly, working with candidates also reflects on the company culture.
Lunch with 7 people takes away focus from the personality of the candidate. People take it as a team outing, which it is not.
HM should have a gameplan for better outcomes.
Never let a candidate feel lesser, it does not make you a better engineer.
I hope it helps other candidates here.