In this week's Ladybug Podcast episode we discussed the frontend technical interview process.
Technical interviews are terrifying, and I'm sure we've all had bad experiences. Hopefully talking about why our experiences were not so great can help educate the tech ecosystem about how to give a great technical interview!
I'll go first.
Years ago, probably in 2016, I was interviewing with an overseas company. It was a startup and it was a product I genuinely liked. I had a great talk with the recruiter but decided to pull out of the interview process as I was unprepared to move abroad at the time.
I truly had a great experience with the recruiter though so I wanted to stay in touch.
Fast forward two years later, I re-connected with the same interviewer except this time was... not so great.
He called me at 6 am my time (due to time zone differences), and proceeded to badger me with technical interview questions like "whats the difference between const and let?", which I explained correctly but he made me feel like I gave the wrong answer.
I was duly unprepared for the technical interview questions, and explicitly stated as much, yet he kept throwing them at me.
Not only that, but the recruiter seemed like a different person.
The first time we interviewed he was SUPER down-to-earth and made me feel special. This time around he started the conversation with "have we met before" which threw me because A) we spent a lot of time communicating and you made me feel like you remembered me through email communication and B) you clearly didn't take two minutes to check if we had previously interviewed.
He even was answering Slack messages during our interview because "my teammate is having Zoom issues and I'm the only one who knows how to fix them."
Horribly unprofessional.
I left the interview and told him "thanks but no thanks."
He just reached back out to me (a year later) and needless to say I won't be following up with him.
What's your technical interview horror story? Leave it below!
Top comments (21)
This is kinda a flipped version of me causing horror in the interview:
Before I knew how to use a transaction on a SQL DB, in an interview doing the live coding portion, I accidentally forgot to add a WHERE clause and deleted their test database. I was so embarrassed, and thought to myself "Well, I guess this was a good practice, I am not getting this job". Two days later they called me with an offer and I accepted.
However, I have been completely unprepared for a technical interview because a recruiter I was working with told me the wrong information. This was my first contact with the employer, and I was told I would go in to meet the director of their development team, just to have a casual meeting and see if it's a culture fit. I go in, after researching the company, reading their blogs and achievements, to my horror that I was going to have an hour technical interview, meeting not only the director but three senior devs. They were all great, but I was hit with 50+ questions fired off left and right. I got the job there as well
I have also been horribly underprepared for a technical interview due to recruiter incompetence. I was told that the company I was interviewing with was not worried if I wasn't 100% comfortable with advanced JavaScript code and/or whiteboarding. When I went into the conference room for the interview, the first thing the interviewer did was write a problem on the whiteboard and then told me to open my text editor and code the answer. He then proceeded to stand behind me/sit beside me, practically breathing down my neck, and watch me. Then, as soon as I started coding, he said to me, "Talk out your thought process." I immediately went blank. It was the most horrible experience of my life...and I had to sit in the parking deck in my car crying for 15 minutes before I could even get myself together enough to drive on the freeway. I'm not spooked and don't know if I even want to try again. I know I shouldn't give up, but how do you get over something like that?
I'm really sorry you had to go through that. That is terrible.
Actually my previous employer didn't even do a technical interview, hired me saying they thought I would be a good culture fit, then expected me to act as a Senior Dev on my team when I only had 1 year of experience.
Throughout some of the worst interviews and job placents even, I've learned that many companies do not understand development. They assume a lot, and have expectations that are outrageous. However, there are companies that do understand hiring a JR Dev is an investment.
For me, I beat myself and blamed myself for failing. In reality, they failed me. They didn't provide a platform for me to thrive, to learn, and to have healthy critique. But even when I left, my experiences left with me. My value wasn't diminished, quite the opposite. These horrible situations would help me to have a much better perspective and I know will be used to encourage and shape the Dev community as a whole.
Your experience sounds like the recruiter was willing to say anything to make you apply so they could get a commission. While the employer interviewing you was expecting to pressure you into performance. Not meeting you at your level, seeing your value and asking how they could benefit from your skills. If anything, chaulk these experiences as being thankful you weren't hired on, and you were spared from working for a company that acts that way.
Thank you, Zachary. I really appreciate your kind words. I'm trying to chalk it up as a positive that I now know I don't want to work for a company like that, but it was still just an awful experience and I think a lot of interviewers do enjoy trying to pressure junior developers into high performance. In my experience, however, it leads to just the opposite. The interviewer even had the nerve to ask me on the way out, "What would have made this interview easier for you?" Which I'm sure he took into the next interview with the next candidate, who probably got the job. It just sucks.
Yeah, that isn't something someone should have to ask. I have found a lot in our industry has a difficult time with human interaction, not coming off abrasive with their words. My first mentor in my bootcamp would yell "STOP! Why are you writing that! It's terrible!" when I would do a live coding with him. I would freeze up, take it personally, and not be able to process the problem anymore.
I think imposter syndrome is a common buzz word in our industry because of these experiences.
Some practial things I do to help:
I am choosey with what companies I apply for.
What I mean is, I may interview with them, but my thinking isn't if they like me but if I want to work for them. I have a trade, a skill and it's valuable. I can't down myself for my mistakes and throw out that value, it's there. So I can be choosey with the companies I want to work for.
I am choosey with the recruiters I work for.
I have a list of three or four recruiters that I know care about me and my personal development. I actually keep in contact with them often even though I am not looking. I like to send other devs I know that are looking their way occasionally.
When I do land that job, I find ways bridge the gap between development and the rest of the departments.
There is so much misinformation and assumption when it comes to the Dev team and how they work, doing this helps fix peoples expectations.
Some mantras I live by:
Assume the best in people.
So although the intervewee came across as completely abrasive and rude, he most likely didn't mean to. I am sure he wanted to give you a good interview, but just isn't skilled in it. I know I have seen Devs at my first job who struggled with the balance of helping. One would let me squirm all day, and wouldn't throw me a bone.. while the other would over help and write the code for me.
Your value and worth isn't dependant upon if others see it or not.
You are smart! Yes you are. You are creative! Yep... I am talking to you. But you can be your worst critque. Celebrate the small victories. YOU had a ROUGH interview, but you made it through and are still programming, even through you are scared from that experience. You are strong to get through that.
And, even if the interviewer used your advice and the next person got the job, you can still be thankful you didn't. No experience is wasted.
Shopify was probably my worst experience with a technical interview, and was very disappointing.
Sometimes people don't get jobs: sometimes they're not qualified, sometimes they're just not a fit.
Unfourtunately, this was a scenario that seemed to have been caused from a disconnect in corporate communication vs boots-on-the-ground.
And most disappointingly, up until the last step of the interview, I would say that my experience working through the process was one of the best I had ever experienced.
Shopify's technical interview falls into a number of steps from phone interviews to live-chat pair-programming sessions to in-person interviews.
Throughout that process, the idea is reinforced that Shopify values candidates with a diverse technical background with a range of experience. They do their best to hammer home that the journey is as or more important than the destination, to not worry about arriving at the correct answer, and to instead focus on the process and problem-solving aspect.
This was thoroughly refreshing and a wonderful experience up until the day of the in-person interview.
The in-person interview was broken into three pieces:
Shopify ends every in-person day with a follow-up call to discuss feedback on their selection process. This is awesome, and I encourage everyone to do this. If you're the person applying, calling and asking for feedback when you don't get a job is always helpful.
Now, without going into the details, the ultimate feedback from the day revolved around miscommunications, misaligned expectations, and candidate volume.
The feedback that was given included direct quotes taken wildly out of context, as well as opinions that were created without a dialog with the candidate (me).
Other than the direct miscommunication with a misinterpretation of something that was said, the general consensus was that I was likable, effective, and knew what I was talking about. However, they had some problems with how I completed the pair-programming challenges. These problems were addressed during the interview as in fact not-being problems, but seemingly came back up during the feedback stage.
To their credit, I do think the bulk of the Shopify interview process was quite good. But the last stage left a really bitter taste in my mouth, as it seemed to be the polar opposite of the culture they seemed to advertise from the initial steps. I also don't think this should discourage anyone from applying. Shopify fields an insane number of candidates every single day. The final day of interviews is completed by developers, not hiring managers. This will mean that they could have any level of hiring experience including none at all, and I understand that.
If anything, the best thing I got out of the process was a reinforcement in my desire to work for smaller companies :)
Thanks for documentating your experience here! I think the behaviors of these companies should be more transparent. Sites like Glassdoor and reviews like these keep them accountable.
Like I mentioned, it's hard to say where the issue was, and in something as charged as a job interview, it's hard to come across as unbiased.
In my personal opinion, it felt mostly just like the developers doing the interviews with me didn't have interview/management experience: how to get the most out of a candidate, topics to explore, etc.
The critical miscommunication was regarding a question to do with testing. The interviewer asked me what my current jobs architecture was and if we had automated tests. I said no, and when he asked why, I explained that it was a legacy product and that testing was difficult as the software wasn't written in a way to deeply support them.
My feedback from the followup was that the interviewer took my comments as suggesting I didn't believe in unit tests and thought they were a waste of time.
Silly things like this are easily solvable by taking notes and just being present, and it's a real kick in the teeth to feel like you have to play a he-said she-said game with a potential employer.
Yeah it sounded like the interviewer heard what they wanted to hear. They already made up their mind about you. Either that or they were incredibly lazy that day and just jotted down the first interpretation of your answer without taking any time at all to think about it. Both cases are sloppy and unprofessional.
Yup, I was interviewed for a Web Front End development.
Two questions they asked me:
how does a B+ Tree work inside of a relation database
and some other in past interviews:
something like: given all the river, sand patch, rocks, on a 1000 x 1000 block of map, how do you find the shortest or quickest path from one point to another point given the difficult of travel for each type of block.
if 300 pages of document is shredded into 80 strips per page like by a shredder, how do you reassemble the original document. Your solution works... what about a more optimal solution? What is the most optimal solution?
How do you design the server infrastructure if you have to support Google's search engine and suggest system? How do you implement the search engines and the how do you tell what results are most relevant to user's search? How do you do the load balancing?
These questions are asked for a web front end development work. And this reminds me... someone was saying, a singer on stage, if she sings a song, there is nothing much, but the audience may want her to tell some jokes and it is consider exceptional. Or a stand-up comedian, if he can tell some jokes on stage, people are not impressed. He has to sing a song in order for people to be impressed. So I guess that's why when you are good in JavaScript and ReactJS, they are not impressed. They have to ask you about server infrastructure and load balancing.
With today's hot job market, there's zero excuse for having to jump through (I'm smarter than you) interviews. Do what I've done, walk out as soon as things go unprofessional. Companies that insist on coding interviews don't trust your resume. They don't trust you.
Recently I spent 10+ hours (I wish I didn't do this) for a frontend home task for a quite big modern company, made it very accurate and beautiful, covered by different tests. Sent it to the company, they told me something like: "cool, we will come back to you in 1-2 days".
Nothing happened in 2 days. Nothing happened in 1 week. I sent a polite follow-up email just to check it because I understand that something could happened and their devs just don't have time. (but hey, just say it). And finally I received a default rejection email without providing any reasons why.
I strongly believe that it's beneficial for candidates to know why they were rejected. Besides, why candidates have time (like 10+ hours) for the task but company doesn't have 5 mins to explain rejection reason?
So I asked for more detailed feedback. Again, my email was ignored for a while. After a week I sent a little bit more aggressive reminder and I received an answer immediately and it was so weird:
"I had issues with my mailbox and had to use the external tool for "cleaning" and unfortunately about 20 candidate emails were deleted as well. I've figured it out only today after a couple of more emails like yours :( So my apologies for this long period of silence! "
Really? Hey, just say that you missed my email. That long overcomplicated explanation looks extremely fake, I won't ever believe into it.
And I don't even tell that detailed feedback wasn't even close to detailed feedback. It was just vague generic words "we didn't like your styling approach, not a pixel perfect". Do I need to tell that "mockup" was a png screenshot file? Did I go back to ~10 years ago when I used ruler tool in Photoshop to get all sizes?
I'm totally fine if they didn't like my solution, but, hey, add some humanity to your process, don't treat me in that old-fashioned way.
When I attended an interview for Software Test Automation Engineer in a reputed company 7 months ago. They required 2 years experienced Engineer in the description. But I have one year experience and I sent them my Resume, Cover letter with the message of my years of experience.And then they called for an interview(Technical and HR interview). I passed the Technical and HR rejected me for my lack of experience. I showed him the email that I sent. I argued with her and She ignored me and sent off me with the "We'll let you know". Even they didn't send me an email after the interview. The lesson I learn is When I apply for a job, I call them and ask them about their experience requirements.
More of a funny-nightmarish story: I spent the night before the interview making sure that the camera and microphone on my laptop worked and that I knew how to use them. This was to be my first ever interview and the first time in a long time that I used my (very crappy) computer fir a video call.
Of course the next day when I got the call, nothing was working. I couldn't share my screen with the interviewer. He was really understanding and suggested a few options, but nothing worked.
In the end I had do do the coding assignment he gave me with one hand while filming my screen with my phone with my other hand.
I was a bit surprised when they told me they wanted to proceed with the interview process. I have to give credit to the interviewer for making me feel at ease (also, I kinda knew him because we practice the same sport, which definitely helped me stay calm).
The worst I had was for a data visualization development position at Datadog. The position listing focused on experience with D3, so I expected something relevant to that experience, maybe to do with array methods. Instead I got a code challenge to write a function to generate a fibonacci sequence (eye roll). When it came time to review my function, the interviewers had been given and prepared for a DIFFERENT problem by HR, and had to try and and catch up on the spot. They asked me something vague about how I might refactor my solution, and then one of the interviewers, a backend specialist, asked me a series of condescending backend-specific questions that had nothing to do with the position. I felt embarrassed and exhausted, and expressed my concerns about the process to the HR rep. Didn't get the job, and felt pretty afraid to apply for frontend positions going forward. I'm finally trying to work through that anxiety 3 years later!
It can be very hard to get back onto that ride when you experience things like this, so try to take some solace in knowing that you are not alone. If I have a bad experience it can sometimes derail my entire job hunt process for longer than I'd like to admit.
I have one: the startup company wanted to hire me, and they have me talk to the Scrum master as well, just getting to know each other.
The Scrum master asked me something from the textbook, and the solution that was refined over the years was like 3, 4 lines long. I think I had 5 or 6 lines, same time complexity O(n), and the first time I wrote it, I was considering all the cases and I forgot to increment
i
.That usually is not a big deal, as I fixed it within 30 seconds, just added
i++
at the end of the while loop. Most capable programmers will not see it as really an issue.But the Scrum master highlighted it, saying that I wrote code that "caused an infinite loop", and therefore is doubtful about my programming skills.
And I can say, I was writing machine code and assembly, when that person was wearing a diaper.
But anyway, his feedback was also circulated to the CEO and the COO, and that company didn't want to hire me as a full time employee, but instead wanted to hire me as a contractor to "try out", until 3 or 6 months later. In the past it was true, it could be the developer that barely got out of college for 2 years, and they are the ones giving me the most trouble in terms of giving any feedback. Some companies have a rule that everybody has to "thumb up" before they can make a hire, so I think I won't have any luck with interviewers like this.
My story is about an interview I had at FANG. Getting a job in that company was my dream at that point of time.
It was the system design and my background at the time was in mobile, mostly Android and a bit iOS.
The interviewer came in and his first phrase was: "I don't know anything about mobile engineering, I'm a backend developer". So he obviously read my CV and knew that I'm not a backend dev.
Then he asked about scaling some backend service. I was trying to move the conversation into border areas that I know and have experience with, like the API design and things needed for the clients, but he was not interested in it at all and was just asking questions I had no idea how to answer.
I miserably failed that interview.
And it felt like the message was: "Your experience is crap, see, I don't know anything about mobile and I'm here and you can't even answer this question I ask?"
Since then I've never replied to their recruiters.