I've been seeing a lot of discussions of tech interviews in my Twitter feed and a lot of it is around the idea that someone needs to be "more technical" (that's not a thing, by the way โ technical expertise isn't linear) or that they need to be able to balance a binary search tree or whatever from memory when the job never requires it.
The typical interview process at tech companies is almost worse than useless, so I wanted to share some of the comically awful reasons I've been rejected by companies.
One company rejected me because they didn't think I would be able to jive at their scale. There are two weird things about this. The first is that they asked zero questions about my experience with scale during the interview.
The second is that this team only handled referrals โ so really only putting people through their customer-acquisition funnel. Unless this company was somehow managing to gain tens of thousands of new customers per second, it's unlikely that scale was actually a factor. That's the entire population of the US in a matter of hours, though, so probably not. Even if they were going with their company's total size, I've worked at companies several times their size with several times more traffic, data, and engineers.
Scale is an ego point for some developers. It's some "get on my level" shit.
But it's the kind of vanity metric that actively discourages optimizations and encourages poor scaling practices, so it requires a lot of discussion to understand someone's familiarity with it.
Another company rejected me because they didn't think I would enjoy working at a large company. I can't even begin to understand how they came to this as a hiring decision. Why would I apply if company size was a dealbreaker? Why are they trying to decide what I'd like? ๐
Another company rejected me because I struggled to find a given bug in the sass
Ruby gem during "the debugging portion" of their technical interview โ this was an on-site interview that lasted all day.
Apart from the fact that this Ruby gem contains 13k lines of code (not counting whitespace and comments), it's a parser and working with parsers isn't like working with typical apps. And in Ruby, parsers make heavy use of metaprogramming, making it that much more difficult to find a bug when you're unfamiliar with the code because you can't grep
for what you need.
I asked the interviewer if the role required implementing parsers in Ruby, he said "probably not". So it was a pointless exercise, but they actually told me that my inability to locate and fix this bug in a 13k-LoC gem in 45 minutes was their reason for rejecting me.
During another interview, the interviewer asked very vague questions. Every time I asked for clarification on even the kind of response he was looking for, he just dumbed down the question. And he did it in a way that let me know I was losing points for getting "hints".
He did the same when I stopped asking him to clarify and started guessing at what he wanted. Then later, he asked questions I gave him answers for earlier when I was trying to guess at what he meant.
I remember standing in front of that whiteboard thinking "they're 100% gonna reject me because this guy can't ask the questions he wants the answers for". I mean, at least I saw the rejection coming.
Even so, this one was probably the hardest rejection because the engineering manager was excited about me and even introduced me to her team because she expected a positive outcome.
At another company, they asked me about my own strengths and weaknesses. This is a pretty pointless question in general but the rejection letter said "we're looking for engineers with a different set of strengths".
This particular interview was a shit show from start to finish, but this was my favorite bit.
None of these are small startups run by no-name techbros, either. These are well respected companies. If you're in the tech industry, you've probably heard of most of them, if not every single one of them, and you've almost definitely used some of their products and services.
And yet, no matter how good they are at providing snacks in their "kick-ass office in downtown San Francisco" or "unleashing the world's creative energy by designing a more enlightened way of working", somehow they're all shit at interviewing.
Sometimes interviewers will find arbitrary reasons to reject you that have nothing to do with you. Maybe the interviewer doesn't communicate well. Maybe they have a superiority complex and are rejecting you just to exercise that power. Maybe they just had a bad day.
For these interviews, there may actually be no way to pass it. You could probably do everything "right" and the interviewer would still find some excuse to shut you down. And a lot of the time, the team may actually be amazing but the interviewer is someone that works on a completely unrelated team who would never see you, anyway.
I've been working in this industry for 15 years. Interviewing is still every bit as terrible now as it was when I started. We're all being judged on the wrong criteria. Even when we get the job, it may not be for the right reason.
Top comments (40)
I will share an interview experience that happened many many years ago. The question asked was how to reverse a string. It was supposed to test how I can think about breaking down the problem and applying any algorithm if required. So I showed the standard 2 methods using a character array and going through in reverse order. Then I showed the way recursion can be used. The interviewer was okay with my answers and asked me which method I would use. Since the position required Java skills, I said none of these methods but the java provided StringBuffer which has a reverse method. This did not go down well with the interviewer despite my explanation that it's a method available in the JDK and has been tried and tested and hence more reliable.
For the other 2 questions asked, I did show the whiteboard code to solve the problem but suggested using JDK methods.
I did not get the job because the comment the interviewer made was like they needed people who could come up with solutions and not just use someone else's code!! I could not believe what I heard. I was recommending using available, tried and tested JDK methods!!
Thanks for this topic ... I too have many experiences where half way through an interview I knew that I won't get the job or I didn't want to work there.
I was rejected from an interview for python when I was asked how I would remove the nth element from a list. It's python so I said I'd pop the index. I was told that since pop doesn't do that in other languages, that was the wrong answer and that I needed to write my own code... So yea I've got the python version of your story.
Yeap. I believe there is a different mentality when doing code interviews. The mentality is that we live in stone age and only the most trivial code is available in the language. So no fancy methods like
pop
orpush
.Worse was that they acknowledged that pop would have been great for removing the last element. Just that I was not allowed to pass it an index because languages like java didn't accept it. So it was that it couldn't be done in language that is not used at that company so we won't let you do it in language that is used at that company.
I am a pretty regular interviewer at my company (I've done about 85 last I checked), and that sounds like an awful experience.
I am generally impressed when the candidate knows the API well enough to take shortcuts (most recently someone used LinkedHashMap in Java), and I allow "I know there's a function that does this, but I can't remember the name;" we agree on a name, and I check it later.
The only exception is when I want TC to implement an existing API function, but that's rare; the solution is generally available, so the signal is less reliable.
I currently work on IBM BlueMix but before this it was all AWS. I am an independent contractor. In this interview where I work now, I asked the interviewer if I could answer questions using AWS examples like for instance the message bus I've used is Firehose Kinesis, etc. Though I'm good at Spring and Blue mix is just a white labelled Pivotal Cloud Foundry implementation, I told him I'm most comfortable with AWS.
He was okay and was satisfied that all my cloud concepts and microservices experience was all clear though I used AWS as examples. I now work in the same group as the interviewer and enjoy it. He was satisfied that my concepts were clear and knew that I could adopt Blue mix easily.
Speaking of which. Take a look at this comment thread:
dev.to/jonrandy/comment/joh6
I believe it's not about the language or what the JDK offers but about the way you approach the problem.
Well he asked me which method i would use. I replied that the character array method but for most tried and tested way I would use the jdk method. So I had demonstrated my algorithm thinking and coding ability but in reality i would prefer a tried and tested facility. Whats wrong in that?
Nothing is wrong in that of course. I've run into home-rolled code that should have never gone into production. IIRC it was an implementation for encoding a string, instead of using either the java.net implementation or Apache commons implementation. Well their implementation forgot to encode the all-important new-line character, so they were sending out incomplete emails, emails that, depending on the response, could generate thousands of dollars of revenue per month and therefore had already cost the company tens of thousands, before I figured out the problem. There's even a name for this anti-pattern: "not invented here" (or "re-inventing the wheel")
One time I got rejected because the interviewer, a Java architect with a smattering of front-end knowledge, rejected part of my absolutely correct answer because he didn't know it was something you could do with Javascript, i.e. implement built-in get/set methods on objects, e.g. developer.mozilla.org/en-US/docs/W... I even offered to provide him with a URL to the documentation, but neither he, nor the business recruiter, were interested. The business recruiter gave me some song and dance about not knowing anything for about a week, and when the appointed date came and I inquired, I was told the position had been put on hold. So I inquired of my former manager when I'd worked there previously, who was the one trying to help me get brought back on board, albeit on a different team, and he was completely baffled by this. I don't know if you get this too, but between the combination of incompetent interviewers and unscrupulous recruiters, it's really hard to find a decent position these days.
Hello fellow Gaskins! I just discovered this site, and I signed up just to comment and let you know that this article really resonated with me. I haven't had this much experience with interviewing, but I have had similarly bleak and disheartening experiences at jobs I've had. Maybe this inspires a similarly themes article, ha. Anyways, it was an entertaining read and I appreciate that you choose to share these experiences!
Holy shit!
It'd be interesting to read an article about things like this happening on the job, but I might advise a bit of caution. I wanted people who are newer to the industry to realize that an interview rejection is most likely not even about them, but we don't want to scare people out of the industry with tales of how it'll be terrible for them even after the interview process. ๐
There's actually at least one other 'Adam Gaskins' I've encountered that is a coder, haha. What a trip. I used to have a group of friends when I was on Facebook who were all named 'Adam Gaskins', there were at least a dozen, and from all over the world. I'm sure you could similarly amass a 'Jamie Gaskins' army, and together we could form an resistance movement to hold back the onslaught from the 'Haskins' lineage. [Just kidding, of course... I have nothing against the Haskins' of the world, I've just come across that name as well, and in my mind it's an hilarious scenario for some sort of twisted IRL Monty Python skit, haha]
Anyways, I agree about not scaring people away. If I do write such an article it would be to provide early warning signs of such things [ranging from outright toxicity to more benign ignorance] and advice on handling such people. I am quite the pro-crastinator, so if that article ever materializes is whole other thing... [I hyphenate only to ironically point out my skill in somehow avoiding that which I sincerely desire to accomplish].
Anyways, nice to meet you Jamie! I hope we cross paths more in the future! :)
Hi Jamie, well written article! I think there is still huge gap between interviewing process and evaluating talent. Lots of gems are lost during these poorly designed processes.
That being said, I am curious - based on experience you learned from the past, what suggestions would you give when trying to evaluate talent?
Great Article, but I would lower the tone down.(talking about the sh*t)
It was fun to read and I am actually happy that you get a rejection notice while some other companies would ghost me if ever I get to be rejected.
If you donโt like swearing, youโre more than welcome not to in your articles.
Iโve been ghosted by companies many times, as well, and most rejection letters are vague and unhelpful. This wasnโt meant to be a comprehensive list of all rejections Iโve received. It might be 5%.
Reading this article must've given you interview flashbacks, Vince. His forum - free to set whatever tone he likes.
Someone called me out for my language in the article, too. ๐
But I think you're right, the power and complete lack of accountability that comes with being on the company's side of the table, especially at larger companies, makes it incredibly easy for them to reject you for arbitrary reasons.
Smaller companies don't typically have this level of negotiating power since they don't have nearly as many people trying so desperately to work there, but some small companies try to emulate that large-company mindset, including in hiring. It kind of goes along with scale being a point of ego for a lot of engineers. But even people at Google say things like "no, this interview process is terrible, please don't copy it!". ๐คทโโ๏ธ
I had an interviewer reject me because he asked about tree traversal and I gave him inorder, preorder, and postorder as the possibilities and he was actually looking for graph traversals breadth first and depth first, one of which was specifically listed on my resume.
Another interviewer was upset with me because I said the test was easy. He went on some diatribe about empathy while demonstrating none. They wanted to both under pay and over work me.
Both of these were big names in tech. I used to be upset but now that I look back, I am better off now without them.
Honestly, I hate overly academic interviews. I am a professional engineer, not a college professor. If my experience isn't being tested in your interview process, then your interview process is broken. I should not have to develop and maintain a completely separate set of skills just to get the job. My ability to actually do the job should get me the job.
This makes me feel better. I thought it was me. Had a hunch it was them. I typically interview well then get told I'm not right or whatever for no apparent reason. Code tests do not help at all. This is like online dating but offline.
There's no you and them. It's we who are trying to build a good team together.
I was an interviewee a few years ago and now I am conducting interviews to fill positions similar to mine.
Most of what's said in the article are not causes for a denial.
It has to be combination of things and interviewer(s) might have picked just one.
It could even be the attitude (no offense, this is just a guess), but no one will say 'you had a shitty attitude in the interview'.
I disagree with this. So many tech interviewers want to โoutsmartโ the candidates. Itโs extremely common. To those interviewers, itโs absolutely about them.
Now I make it clear to the interviewer during the course of the interview that I'm good at understanding the problem and building the app/service they need. But I'm not a great algorithm inventor or steeped in comp science minutae. I do it purposely as I'm not interested in tech shock jock kind of atmosphere and I-know-better-than-you kind of colleagues. I just want to put in my 40 hours, get paid and then enjoy my personal and family life.
Also being an independent contractor, it gives me freedom to work at organizations who are using technology to develop solutions for their business processes and problems. I've had my fill of working at a tech giant and 2 networking patents there. Tech company interviewers are more interested in trumping the candidate with their mastery of some minutae and beating them down. โบ๏ธ So I prefer non tech clients.
I totally relate to this. IMHO, smaller startups tend to ask the right questions and assess real experience and ability. They want to know if you and the team get along well and tend to give more real-world programming assessments.
Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more