I originally posted this post on my blog a long time ago in a galaxy far, far away.
Overconfidence killed all my chances of success.
I applied for a role as a software engineer at a FAANG or MAGMA or "insert-newest-acronym here."
And I failed.
I thought: "I have more than 10 years of experience. I've seen quite a lot."
A "short coding assessment" got me off guard. 80 minutes and 3 exercises made me feel like an impostor. An uppercut and 10-second countdown.
I don't want this post to be another "hiring is broken" and "life is unfair" post. So...
If I could go back in time, this is what I'd tell myself before that coding assesment:
1. Review data structures, especially those you don't use often.
Take the time to review data structures. Lists, hash maps, queues, trees.
Trees, is this you? Haven't seen you in a while...I haven't used trees since my data structure class back in university. And probably, I wouldn't use them if I had passed the interview and joined.
But, surprise, surprise. That was one of the questions.
2. Practice using a timer and a coding editor without auto-completion
I know it's unrealistic and sounds crazy.
These days, we have IDEs with autocompletion and even AI at our fingertips. But MAGMAs insist on hiring using coding platforms without autocompletion. The old way.
Since practicing a skill should be as "real" as possible, close your IDE and practice using a bare-bones text editor. And with a timer on.
3. Read all questions first. I know!
Yeah, I wanted to be an A-student playing with the rules. I jumped right to the first question.
50 minutes in and I had barely an answer for the first question. I had to decide between solving only one question or moving on and trying to solve another one. One and a half questions are better than only one, I guess.
I could have nailed the second one first. It was way easier. And definitively, I could have solved the last two questions and skipped the first one. If only I had read all the questions first.
Read all the questions and start with the easy ones. Old advice that I forgot.
Voila! That's what I'd tell myself before that coding assessment. Yeah, hiring is broken, but we have to go through gatekeepers. Or ditch our CVs and interviewing skills and build a place for ourselves.
Join my free 7-day email course where I distill 10+ years of career lessons into 7 short emails. Save years and thousands of dollars' worth of career mistakes while you refactor your software engineering career.
Happy interviewing!
Top comments (20)
Seems like a canon event for us 10 year old seniors, it's a very humbling experience!! I had the SAME situation as you did and I've been hitting myself since last year because I did so badly in the interview hahaha
But don't worry, this means that the universe is redirecting us and telling us this ain't it!! Something better is looming on the horizon, we're just too focused on the road ahead to see it ;3
Kinda same here. That's why I decided to write this one as a form of free public therapy :)
Loved it! Yeah, if one door closes, another one and a window opens up :P
As a 1 year junior, it's really "comforting" to know that interviews are just like that.
I've been quite anxious about jumping to a different job, but I always feel like I'm gonna mess up the coding part, like I'm back in college.
Yes, it's like that. The truth is we (as an industry) don't know how to hire: trivia, data structures, LeetCode, take-home coding exercise, interrogation-like interviews...Arrrggg!!!
I had same feelings, having 20 years of experience, that sometimes they are not checking you but rather try to show you how poor programmer you are, but after few interviews You will get used to it.
The sad thing is that I had situations when I talked with people having less knowledge than me, and they reject me with reason "lack of knowledge", like in situation when people I speak with, wanted to hear their preferred solution which I know is wrong, and will fail soon in large scale. Also I had situations where person wanted to hear some specific sentence, like on exam, and any other form was unacceptable. Then I had not so fun situation, that I received a response with explanation "lack of knowledge in .... blah blah area...", but we not even talked about that. Person which I speak to, confused me with someone, but after rejection, nobody wanted to talk with me anymore and explain anything.
Fun fact is, that they check Your knowledge and skills in a way You never been checked, and then when You get the job, You realize that you will do exactly same s**t as usual, using 1% of your knowledge which most mid devs should be also able to do, for half of your money.
Sorry to hear about that experience.
Oh boy! So true...yeah, sometimes interviewing is about saying what the hiring side wants to hear and move on to the next stage :\
WOW! Yet, that person didn't lose their job for "lack of knowledge in organization". They crucify you but pass on their own incompetence.
Quick tip:
Coding interviews aren't about having the perfect solution of perfect code. It's true that you don't use an IDE, but that's because it doesn't matter if your code doesn't even compile! As long as your general train of thought is in the right place, you will be fine! You need to be really communicative, mention everything you can think of, ask for feedback on different possible solutions you can come up with, even before writing anything down.
Also, the worse part of interviews in my opinion, is that you are kind of at the mercy of your interviewer, of course they are not your enemy, but people are different. I managed to land 2 internships at FAANG during college out of 3 attempts. 2 of my interview processes were incredibly straightforward and I actually enjoyed it a lot. The other one however... let's just say my interviewer felt like he wasn't as experienced as the others, I was basically leading the interview myself... So yeah, if you have a bad experience, keep in mind that an interview takes 2, so don't blame it all on yourself.
Keep trying and you will get it!
hey thanks for your comment. Wow!
That's true! That works for face-to-face interviews...This time I was on a LeetCode-like platform with a countdown timer and no one from the hiring side to hear my chain of thoughts :\ I guess they're putting more hops on the process now.
Thanks, I already processed it and got over it (by writing about it :)) I don't think I want to repeat the experience in a while
I applied for a FAANG company, I could NOT progress to the next question then go back to the previous question. I tried. I was warned that I had to "submit my answer before going to the next question"
Trees? Ha! I wish - mine was making squares given a list of numbers that had the max area. EX: [10, 1, 2, 3, 4, 5]: make 3 squares so that the sum of the areas is the greatest possible number.
FTS I'm building websites and writing SQL queries. You want mathematical problem solving - hire a mathematician.
As an aside, I worked at a company where we hired a guy who passed our Hacker Rank test with close to 100% correctness. passed on a guy who had been building responsive web apps for 2 years but only got 1 question right.
Guess who got fired after 6 months because he couldn't
It was that day that I learned if Hacker Rank or Leet Code actually found good engineers, then they would hire those devs and be most valuable company in the world. We would have Hacker Rank phones, running Hacker Rank OS. The best video games would be made by Hacker Rank. We wouldn't "Google" thinks, we would "Hacker Rank Search" things.
Windows? Linux? MacOS? Nah, I'd take that Hacker Rank OS cause you know it's going to be the best.
ChatGPT? Why not use Hacker Rank AI.
Yeah, Hacker Rank and Leet Code are scammers who are making money hand over fist and laughing all the way to the bank with their stolen logic puzzles
Liked this one
It seems he learned the answers for the exam just to pass. I feel I'm like the other guy from your story (well, without the frontend part :))
Good point! :)
Thanks for sharing!
Thanks for sharing your experience! I read about a developer who had a few job interviews that went wrong because they thought I had all their 30 years of programming knowledge at their fingertips at that moment. Pretty ridiculous.
It sounds like a memorization competition not like an interview. :) Sure there are lots of details we can't recall immediately but we have the vast amount of information on the Internet at our fingertips...Once I was asked what was the maximum length of values allowed by Redis in a dictionary. Couldn't recall at the moment, then "we have decided not to proceed with your application" Anyone can google/bing/duckduckgo/chatgpt that in a second.
I think this has been cited in other posts, but this repository helps prepare for interviews: github.com/yangshun/tech-interview...
Thanks for sharing!
Any tips to see the question? Or maybe usually question will be given?
I got questions on trees, strings, and arrays. The one on trees got me off-guard. I solved the one on strings, but ran out of time. :\
Do you hve recommendation site to learn the interview questions?
LeetCode is probably the best place if you want to see the actual interview questions :)
Hey! I host interview prep calls every week here at AWS. If you or anyone else is interested I can always share details.
Also - if anyone is looking for a SDEII role within AWS please send them my way! :)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.