Technical interviews are a nerve wracking experience that can demoralize a developer. In the past, these consisted of weird brain churning questions where you had to calculate how many golf balls can fit in a school bus. Thankfully, we don't have to answer these anymore. But to this day, the interview process has candidates solve unrealistic problems, with at least one other pair of eyes judging your every move, in at least 15 minutes.
A little about me, I graduated with a bachelor's degree in computer science. It was the hardest experience ever and I even grew some gray hairs. However, I was fortunate enough to have found an amazing group of friends where we regularly studied together in the computer lab until dawn, with our minds blank, our eyes dry and our bellies full of fast food.
Some of the companies I interviewed with that made a long, lasting impact on me
IBM
- Year: 2017
- Position: Front-end Developer
My first blunder. I haven't done a coding assessment before. I attempted my first one through an online platform that recorded you through your webcam. I received two questions, one was similar to FizzBuzz. FIZZBUZZ! I didn't know how to solve it. I swear. I was a mess on that keyboard. I had no idea how to solve that question fully. I gave up, submitted whatever I had and went to my next class.
What I learned:
Although I was humiliated to fail FizzBuzz, I realized this was only my first coding assessment and definitely not my last. I was going to take Leetcode more seriously and keep applying to more companies in order to gain more exposure to the interview process.
ESPN
- Year: 2017
- Position: Front-end Engineer
I was asked some front end questions like: Explain AJAX and what does Asynchronous mean. There were also a couple of Leetcode easy questions. I didn't have any prior front end experience so I didn't know how to answer the specific front end questions, nor did I expect them.
What I learned:
In addition to Leetcode, I needed to study for the specific role I wanted to go for. I started searching up typical front-end interview questions as well as practicing my skills by creating side projects.
- Year: 2017
- Position: Engineering Residency program
The first round included two technical phone interviews. The interviewer called me on my phone and sent me a google doc link. He also pastes the coding question on the doc and I dove right into trying to solve the problem. Then I became confused. I asked him questions about what's a valid input and what isn't. Then I got more confused and he spent a lot of time trying to explain. Then I told him, I didn't want to continue the interview further. There was sympathy in his voice as he tried one more time to get me to understand the problem but I was firm and we hung up.
I cried.
I cried until it was time for the next interview. The person was calling my phone and I refused to answer. They left a couple of missed calls and then my recruiter immediately tries to contact me and asked if I was still joining. I didn't answer her either.
I ghosted Google.
Google, if you're reading this I'm sorry. I've grown since then.
What I learned:
- I had a friend pick a random problem off Leetcode and I had to solve it on a video call while sharing my screen.
- I had recruited classmates to join me in white boarding the coding problems we encountered during our interviews in the library.
- I had organized a study group every weekend where we tackled data structures and algorithms together and solved Leetcode problems together.
I put in the effort to practice more and more, no matter how grueling it was. I forced myself to be put on the spot more, to get used to this uncomfortable feeling and become more confident.
Microsoft
- Year: 2019
- Position: Software development engineer
I passed the first round interview, which was a mix of behavioral and technical, and then proceeded to the final round. This was at a conference where I had two in-person interviews. The first one, I believe I did great for the behavioral questions where I talked about my past projects that were listed on my resume. Then he hit me with a system design question. W H A T. I didn't know how to solve it but I tried anyway. Didn't solve it correctly and the interviewer showed me the correct flow at the end. When it was time for me to ask questions, I asked him for something that stuck out to him that I should improve on. He said that I need to learn how to say I don't know if I didn't know how to solve a question... Point taken.
What I learned:
I accepted the fact that I needed to say "I don't know" in the interview. But I couldn't just leave it like that. I honed my answer to be something like "Honestly, I don't know, but if I were to guess, I think ..." I like to believe this answer instead has a better impact.
- Year: 2020
- Position: Full stack engineer
I was getting ghosted a lot this year, it was tough to get any company interested due to the pandemic. I was pretty happy to get someone to invite me for a first round coding interview.
This was conducted over BlueJeans and I was sent a Coderpad link. I've done a good amount of studying at this point but was still nervous because of the competitive reputation of this company. I was asked a question regarding calculating taxes. The majority of the time, the interviewer had to explain to me the MATH behind taxes. I DON'T KNOW WHY I COULDN'T MATH. It just wasn't sticking. Because I couldn't math, I couldn't come up with a working solution and then time ran out.
What I learned
- Taxes.
- The UMPIRE Interview strategy. I needed to know exactly how to approach a technical interview. After learning and practicing this strategy, I felt more confident on understanding the problem and solving it and pretty sure this impressed my future interviewers as well.
Wrap up
When I received the email that started out saying "Congratulations! We're pleased to offer you the position of Software engineer", I felt this burden drop from my shoulders. The constant Leetcoding, the burnouts, the vast amount of time on submitting applications, networking and still contributing to my side projects were finally done. (Maybe more like put on pause)
I promise it gets better. Utilize your community, uplift one another, and remember the reason(s) why you're striving for success.
Tips
- Interview constantly. Interview with companies you don't care about.
- Immediately after the interview, write down everything you've been asked. Redo the coding problems given to you. Go over what you've done and figure out what you could have done better.
- Practice solving the questions under pressure e.g. timed, having someone watch you, think of ways to optimize the algorithm right then and there, etc.
- Utilize the Pomodoro technique. Learning this technique helped me take my Data structure and algorithm studying seriously. I stayed alert and focused and was able to increase my completed questions on Leetcode from 50 to 100.
- If you're financially able to, invest in Leetcode Premium. It helped to see the solution when I was stuck on a problem.
- Depending on what software engineering role you're going for, you'd need to study for the position as well. For example, front end roles will ask you about AJAX, the DOM tree, etc and iOS roles would ask you questions about Swift and Objective C.
Resources
- Cracking the Coding Interview
- Leetcode
- The Pomodoro Technique by Francesco Cirillo
- The Standout Developer
- How to Prepare for a Software Developer Interview
- The Ultimate Strategy to Preparing for the Coding Interview
- Tech Dev Guide With Google
- CodePath's Computer Science Guides
- Tech Interview Handbook
Top comments (38)
There is a lot of consensus going around that prefers coding homework to coding interviews.
Who programs in front of a boss at the job? Not many...and not often.
Coding interviews reward rote memorization, and are a poor indicator of ability.
We are working IN software....to pretend like stackoverflow and google are not your second brain is delusional.
Anyway, Farhana thank you for sharing your story and you will soon get what you want if not already! Happy New Year!
Great take, Hunter! Agree with everything said, I hope to see more companies give take home coding projects as part of the interview process, as well as compensating the interviewee for their time spent on the project. But that's a different topic :)
Happy new year!
Totally agree with the compensation. Example: I tackled a coding project for a company (4+ hours), including some stuff nobody knew there. They learned something from me for free, especially since they rejected my application. It has a bitter taste.
Disagree with compensation. If a company took advantage of applicants as a free labor pool....it would get a terrible reputation. ;-)
It's not about free labor. It's about commitment. Without fee, company lose nothing, but an applicant lose a lot of time without any guarantee of a feedback
Well. I allow use google or stackoverflow on my interviews. It's ok to not know everything, but you have to be able to find solution (and understand what you've found).
Thanks for sharing Alex, I once had a front-end interview where the interviewer was okay with me searching up whatever and even said its okay to use a personal project's source code. It felt so wrong to me because I wasn't used to it. But it shouldn't have felt wrong because this is what every day development is all about. I'm happy to hear more interviews are allowing to use resources :)
What a great article! As a developer who regularly conducts technical interviews, a lot of this is absolutely true. Although I feel like the industry is way too critical of their entry-level positions, following this guide would get you a solid place on my team.
So according to the author, the author has a BS. degree in CS. I believe it may have worked out some way - as in help. For someone without a degree, fairly new to the industry, what is the guide for such a person to get into the industry? I am actually asking what an interviewer would expect from a person without a degree. Thanks a lot.
I don't have a degree either! It is absolutely possible to thrive, though we are at a disadvantage until the interview. But that's where non-traditional developers usually shine.
Do the same things as the author said -- keep learning every day and bettering yourself. My best experiences have been starting side projects. Make a text based game, or create a shopping list mobile app, or do one of those 50 projects in 50 days lists. It doesn't have to be super successful, but it will take you through real problems and teach you to be much better at problem solving.
And an aside, try to learn the industry standard terminology. I struggled a lot in interviews because I didn't understand what 'array notation' was.
+1 on every Christopher has said! My side projects were definitely the star of the show during the interviews. I started with creating my portfolio website and listing that on my resume as well as creating a ReactJS project because I felt like a lot of companies were heading towards this framework.
Otu Michael, I wish you the best of luck and tons of good vibes on your studying and searching. Networking with people already in the industry helped me learn what opportunities were out there as well as attending conferences, both free and scholarship awarded. The FreeCodeCamp website is a favorite website of mine that has a ton of real world project ideas to work on, where a lot of software developers gain new skills for new opportunities. Keep networking and studying!
Thanks, Man...
I am 58 and, after reading this, I have to say I am thankful that I am no longer looked at as a technical job candidate by employers. Some of these interview processes are just mind boggling and nothing like I had to go through decades ago. Good luck to the current and up and coming generation.
Quizz: what's the most important for a company?
I didn't see many interviews testing the second point. Instead we have interviewers throwing a subset of all possible questions one can ask a developer. How many questions is that? Way too many for us to keep our sanity.
This is ridiculous.
I've considered sharing my coding interview failures as well since I've had the luxury of not passing three of the four FANG company final stages. This post provides lots of great inspiration and pointers, so thanks for that! My tech career over twenty years has primarily been a mix of learning on the job and getting new roles by referrals. Since I didn't complete the traditional computer science path, I have less of an advantage when it comes to the LeetCode questions. I'm not saying I couldn't catch up, but there is less motivation to do so when work remains stable. I do like the approach of coding homework assignments over brain teaser quizzes that put the candidate on the spot.
Thanks for sharing your experience Farhana. In a world where every engineer is stuck creating the perfect persona, It is quite easy to forget that our failures are what keep us real and i believe every engineer has a backstory like this. Forming atomic habits of spending more time on leetcode and improving your skills inline with what the interview process expects (however flawed it might be) is one way to come out of this though. Also, don't lose motivation. Rejections are natural and can happen in surprising ways. There is something to be learned from every rejection.
Nicely said Gaurav! Agree with everything said.
Thank you for sharing your experience. It helps to prepare one's interview with companies.
One note though: there's not at all a standard for recruiting a dev in all companies, some companies do recruiter quicker than others and for the same position, you don't have the same expectation in two different companies.
Good point! I'm sure a lot of companies don't follow the standards that I experienced. But I believe whatever your craft is will still be asked about during any communication with a potential employer. Thanks for reading my post!
interview with companies you dont care? that is so selfish....
Thanks for the read Cristóbal! Continually practicing and getting better, no matter the company, helps all of us in the long run. Practice makes perfect :)
This is a great article. Very interesting to see what goes on during interviews at various places. Do you also create a portfolio of projects that you supply to the Interviewers? I try to build complete small apps that display my abilities. I recently did that with my entry in the #DOhackathon here at dev.to. Have you submitted an entry? Let me know I'd like to check it out. If you get a moment check out my entry and let me know what you think. Thanks.
If your partner's commitment is in doubt or you wish to know what your employers are doing behind your back, kindly reach out to "hackingloop6@ g m a i l . com". he is a reliable and legit hacker,he helped me gain closure to my Ex's phone activities during my divorce, tell him I referred you.
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