The whole interview process was great. People were very nice and patient and left good impression on me.
Beside the coding challenge.
To begin with, the interviewer assumed that because of my background, I want to do the challenge in TypeScript. I did not. When I asked if I could do that in JavaScript, something no interviewer EVER said no to, he insisted I should use TypeScript.
I would never use JavaScript out of my choice for production code, but for those kind of things, like proving a concept or solving a problem, static types are just making things harder and will waste time, so JavaScript is usually my choice.
I think you should let people use whatever they are comfortable with when the interview starts. If you have problems with some interviewers not feeling comfortable with specific languages, maybe you should ask them beforehand what language they will use for the challenge and then assign the correct interviewer for that. But don’t assume their preference and force the candidate to use that language on the spot. Most candidates know that in coding challenges they can choose what they want on the spot, as it doesn’t matter what language you use.
But that wasn’t that bad, as I am used to TypeScript...
The interviewer, who was a principal engineer in the company for couple of years, was very impatient and not nice. I asked questions to make sure I got the challenges and he’s answer was “No, that’s not what I said at all” and more stuff like that.
Then when I started writing down and said my thoughts out loud what I may need to do to solve it, as it is what you should do in those interviews, The interviewer kept cutting me off and cut my line of thoughts with comments like “how would that even help you”? and like really? I am still writing and going through my thoughts, I don’t have the answer yet, like you do.
Then also when I started writing code, just so I can see it in my eyes, again, comments like “how is that gonna work for that? that’s not what you should do”. Again, I am in the process of thinking here, I will get there, I have done many of those challenges and this one wasn’t even that hard.
He also commented on semantic code preferences I shouldn’t do, that has nothing to do with the challenge itself. Those challenges should show your way into solving a problem, but not your language preferences. To reference, I used “+var" to make a JavaScript string a number, instead of using parseNumber or so and he insisted I should change it. Now if that was a pull request I would get it, but this has nothing to do with proving the ability to solve a problem.
Needless to say I lost all motivation to do the challenge after the first couple of minutes, as there was such a negativity cloud above the interview that I am sure that the person who shadowed the interview could feel too, as he looked uncomfortable with the situation too.
After the interview I ended with a big “WTF” above my head.
As someone who has 8 YOE, I interviewed a lot, and interviewed others even more. I spent a lot of time training myself on how to interview people by reading tons of resources online on that and practice. There is so many resources out there. And it might sounds like a lot but, I honestly think that interviewer should not be conducting interviews. I don’t know if he had a bad day or what, but no candidate should go through that.
It was also SOOO different than the other interviews I had @ Hopper. Everything else was such a positive experience and I was so excited to join such a team.
The only reason I didn’t stop the interview was that I know that this does not represent the team. I met the people. I saw the quality.
But if that was my first interview with Hopper I would definitely resign from the process on the spot. Who wants to work with people like that?
To summarize I think you should apply to work with Hopper. They seem great. Just cross fingers that you won't get my interviewer!