A recruiter contacted me to see if I am in the market for jobs, I said yes, we talked on the phone for a few minutes, general questions about my background. S/He then set up an interview with a 3rd party company. Their job is to interview, and they do it well. The interview was one part technical Q and A around a couple of topics including front-end, OOP and System Design. Fairly simple questions, for me at least. The second part of the interview was 2 coding challenges around algorithm and data structure. Again nothing unexpected, also, the interviewer did a very good job to make me feel comfortable so I can focus on my solution.
The next step was the onsite interview. I showed up for the interview and I understood why they outsource the first round of interview to a 3rd party company. They are not good at it. I was supposed to sign an NDA, but they did not ask me to, I think they forgot.
First, I met with the director of engineering. Very good interview, not very technical, kind of a culture fit, background questions type of interview. It was a good opportunity for me to ask my questions.
Then I met with 2 back-end engineers, both were new hires and not very well versed in the technology that they use. The set up was like a pair-programming setup. The interviewers drive and you navigate, because you are not expected to know the technologies and the platform that they use. One of the interviewers was late, uninterested, and s/he even took a break in the middle of the interview. But other than that they were nice and easy to work with. They answered my platform specific questions, as I expected, and were more interested in how I approach the problem, which I appreciate.
The next interview was with a Senior Engineer and it was a System Design discussion. I am more of a front-end engineer and the position was a full-stack position, so I knew I am not gonna do great if the discussion is focused on the backend, and it was. In my other experiences, for System Design part of the interview, they usually are willing and open to pursuing the part of the development stack that the candidate wants to dig in to. There is a lot of complexity involved in designing the front-end as well as back-end. To me, it looked like the interviewer had his mind set on the solution before walking in, and s/he just wanted me to say what s/he wanted to hear. I would be more interested in hearing and pursuing the thoughts of the candidate and trying to understand how their thought process is, rather than the solution they come up with. Nothing personal, but I have to mention that s/he was acting in a condescending manner, and that did not help either.
Then it was lunch. My lunch body was fasting. I respect that. I fast from time to time, but when I do, I don't go out to lunch with ppl! The whole time I was asking myself, why they couldn't find someone who is not fasting to have lunch with me.
In the last round of the interviews, I met with 2 front-end engineers. It was a nightmare. Again pair-programming, but they decided to break it to two parts, first one of them drove and I navigated, then I drove. I had to code something simple in Vue. I don't know Vue. I was expecting that they answer my platform specific questions, one of them seemed to understand that they should do that. The main person tho, s/he was saying that they don't care if I don't know Vue, and at the same time, s/he did not answer my Vue related questions, and s/he did not let the other person answer them either. It seemed that s/he wanted me to fail. Also, s/he thought that s/he know Vue very well, or at least s/he presented himself that way. But s/he had no idea what was going on in the background. For the part that I was supposed to drive, I get the keyboard and waited for him to tell me what s/he wants to do. That's what you do in pair-programming. I thought s/he is going to purposefully guide me in the wrong direction and wants to know if I can spot that. But s/he was just sitting silently for a minute and then s/he told me that I should navigate myself. I don't think it's pair-programing. They basically expected me to learn Vue on the spot and complete the challenge. And don't get me wrong, it can be fun, I am all about learning new stuff. But the time didn't allow for that.
Anyways, leaving the interview, I knew it was not the culture that I would like to be a part of. But, it was a great experience for me. I am not discouraging anyone from interviewing there. You may have a different experience, and may even find the culture interesting. Just make sure you have a basic understanding of the technology they use; Node, Vue, ...