HACKER Q&A
📣 aristofun

Do I have a chance to get into FAANG as a slow thinker?


I have 15+ years of software engineering experience. As an IC in real world scenarios on average I tend to outperform many of my peers in delivering features, both in dev velocity and the quality of code.

But. My mind is quite slow in the initial phase of analyzing the problem, gathering the requirements, figuring out the best solution, trials and errors edge cases etc.

This feature failed few faang interviews for me already.

It looks impossible to me to deliver a quality (or even just working correctly) code for rather complex puzzle in 40 minutes.

Even if it’s the puzzle I’ve already solved on leetcode. I have hard time memorizing stuff, it’s much easier for me to rebuild solution from scratch, once I understand the core idea. But it takes time.

So how do I get to faang or other company with comparable benefits if their all interviews seem to be heavily biased towards quick, rather than deep thinkers?


  👤 jatins Accepted Answer ✓
> It looks impossible to me to deliver a quality (or even just working correctly) code for rather complex puzzle in 40 minutes.

FAANG interviews have been gamified to death at this point. Trying to solve the question at the spot is a losing battle. Your best bet for FAANG coding interviews is to just practice leetcode and after a point you'll be able to find patterns and reproduce solutions in reasonable time.

To get a perspective on this: think from the perspective of a FAANG interviewer. Say, they are 3 years out of college and have been asked to take an interview. Do you really think they'll be cooking up fresh new interview questions or just going on leetcode and picking their fav question so that they can get done with the interview and get back to their sprint deadline?

> So how do I get to faang or other company with comparable benefits if their all interviews seem to be heavily biased towards quick

Their interviews are biased towards prep and not much thinking imo.


👤 olvy0
I have no real advice to give you except to say that I have the same problem. I'm respected where I worked and can deliver features fast and with quality, but I'm very slow and methodical when gathering requirements. I also have a hard time memorizing stuff. So I suck at leetcode. To top it all, I tend to panic during interviews.

But trying to make this post a bit more constructive, like other people said, I think it's a matter of practice. I believe that anyone can be good at anything (within reasonable limits), it's just a matter of how much time and effort you're willing to put into it. Personally I like working where I'm working now, despite the relatively low salary and the tons of support I have to do. And having worked at a MAMAA company in the past I don't think I'd want to go there again, for various reasons.

If I'd really want to go work there again, what I'd do is double down on leetcode questions, there are lots of websites for that.

I'd also try doing Advent Of Code and get all stars, preferably in real-time, during December. This isn't exactly leetcode but doing it helped me a lot with my self confidence for solving problems fast. I sort of felt like my brain was forced to stop dawdling and thinking of the problem from all aspects and instead just go ahead and solve it. It wasn't easy and it was very tiring but it helped a lot.

Also: I fully agree with what @YouWhy said, having worked in BigTech myself.


👤 nvarsj
Fellow "slow thinker" here. Yes, you can! In fact, I recently got a staff engineering role at FAANG. I also have really bad performance anxiety and don't sleep at all before interviews. Yes, it felt like everything was stacked against me and I thought I'd never be able to pass these interviews.

I won't touch on handling the anxiety since you don't mention it, but for "slow thinking", what you need to do is train the pattern matching part of your brain that doesn't require deep thought to answer questions. The way to do that has been covered extensively for FAANG - you just need to grind and spend a stupid number of hours preparing until you can pattern match the broad categories. This is for both LC and system design.

Then, a lot of it is luck and you may simply need to keep trying until you get in. I have a close friend who didn't prepare much, but passed an L5 interview - he didn't get any DP, graph, backtracking problems, they were just greedy/array problems which is incidentally about all he prepared for. The interviews I passed happened to also be in my strongest areas (backtracking, graphs), which was pretty lucky.

Feel free to DM me (email on my profile) if you'd like.


👤 mnorris
How much prep have you done?

People have a wide range of reactions to FAANG interviews. One of my friends has panic attacks when thinking about interviews. I actually find LeetCode questions to be fun way to spend the evening and I like being interviewed, but I know I'm in the minority.

I consider myself a deep thinker too. And I've been slower at solving interview questions before and got faster over time.

The key about doing these problems is not memorization. I haven't memorized binary search. That's not why I'm fast. But I know the concepts and I can reproduce it at will, maybe with a bug or two which I can iron out while walking through it.

Solving problems in 40 minutes is actually the very last step in the learning process. So not being able to do that just means you haven't completed your training yet.

The process of practicing different problems over and over helps you see the patterns across different types of problems. Similar problems will have similar code structure, data structures, and algorithmic choices.

If I hear a new song on the radio I can guess what band it is before the singing starts because bands often have the same style of songs. It's the same thing when I see a coding problem and choose how to solve the problem. It's an impulse I learned from training, it has nothing to do with me being a quick thinker.

Some people on Blind mention that they do 100's of questions on LeetCode before doing FAANG interviews. Some still fail. I've failed plenty.


👤 RayFrankenstein
You do software engineering the way it’s supposed to be done. FAANG glorifies useless BS. People like you get into a FAANG buy beating it and buying it out.

👤 ralusek
I do all of my best thinking in the shower. If I'm in an office, and encounter a hard problem, I immediately resent not being able to get in the shower to think about it. I get anxiety about jumping into a solution that hasn't been signed off on by my shower brain.

Interviews are basically the opposite of showers. That being said, I don't think I've ever failed an interview, but I sure do come up with horribly sub-shower solutions to questions. I do wish there was a little more diversity in the way interviews are conducted, although I have gotten the impression that companies have moved away from the dynamic-programming code challenge style gauntlets, at least a little bit.


👤 scarface74
This probably won’t be helpful. But I suspect that if you have spent 15 years in software development without having to do the leetCode/DS&A monkey dance, you were probably doing enterprise/corporate dev.

I spent 25 years doing enterprise/corp dev at unknown companies before I got my first BigTech job and it wasn’t as a “software engineer” it was in the Professional Services department as a cloud consultant (yes it’s a full time role) specializing in “application modernization” - meaning the same type of enterprise dev work using cloud technologies along with a shit ton of yaml, HCL, PowerPoint slides, diagrams, etc. It requires a combination of people skills, project management skills, writing, presenting and technical.

Three of the Big 5 tech companies have similar divisions. I was personally looking at both AWS and Microsoft because while my short at the time “cloud” background was AWS. My development background was in Microsoft technologies.

There are a lot of “older” former pure “software engineers” who pivoted toward consulting and Solution Architects.

My interview was all behavioral except the initial screening was AWS techno trivia.

In an alternate universe where I was rejected from the big three, I might have been greedy enough to “grind leetCode”. It definitely would have been for the money. I never had any desire to be software engineer at a large company. At least now my projects are ones where I can take ownership of the entire project or at least my part from pre-sales to conclusion.


👤 boshalfoshal
The implication you are making here is that quick thinking is mutually exclusive with deep thinking. Practicing deep thinking repeatedly (i.e with a good practice regimen with leetcode) in a non interview setting will allow you to naturally come to intuitive solutions on your own time, and this will implicitly make you think quicker as well. I agree with @p1esk in that you either need to change the way you approach practicing, and if you can't do that (either with unwillingness or lack of learning flexibility), it will be an uphill battle to get into FAANG and FAANG like companies. Unfortunately this is how the interview process works and there isn't much you can do about it.

More pragmatically, even on the job you won't have the luxury of having infinite time to ponder the most optimal, clean solution to a problem, especially at some of the FAANGs. The things you described that you are "slow" at are pretty important skills to have at the level of a FAANG company. A dev that figures out requirements, delivers products, has good code quality, knows edge cases, _and_ does it fast is objectively better than a dev that does all of those except slower. Top companies are looking for the former types of devs.

All this applies if you are trying to get in via the traditional route of applying and interviewing.


👤 howon92
As a person who’s done this many times, I’d say the trick is practicing a lot. Before thinking about strategies, measure how much you actually practice interviewing (solving algo problems, system design, etc.), and increase that as much as possible. From my experience, the amount of interview prep one is willing to do is the most important and you don’t necessarily need to be “smart or quick thinking” to make it into any of the companies.

👤 scarface74
That begs the question, why do you want to work at a FAANG? Money? Supposed “prestige”, new challenges?

If you want to solve tough business problems, outside of the cloud consulting departments - Google, Microsoft, and Amazon all have them - you may not like it, It is a completely different culture. I work with service teams (the developers who build services) at AWS all of the time advocating for features/enhancements that would help customers based on my interactions with the customers. I’m also a contributor to a couple of popular open source projects sponsored by the company.

I have never been tempted to try to transfer over. But I’m at the point in my life/career that the marginal value of another dollar means less than it did a few years ago.


👤 YouWhy
TL;DR: specialize in a niche field such as advanced web development or production engineering; you'd be able to be interviewed for your skillset outside of the crowded leetcode funnel.

Proper disclosure: worked for BigTech (hated it). The above is based on my cohort members and peers who were selected as specialists, rather than generalists.

A major thing to consider is - if you excel in the leetcode game, your prize will be peers that are fellow leetcode winners, which is a high grade type of corporate cannon fodder; however people selected by that principle are not expected to be and are not allowed to become the big-picture/high-trust problem solvers that many of us aspire to be.


👤 tartoran
My question is, besides more money, would you be happy working at a FAANG company? By all means, do fulfill your ambition but keep in mind you may not be happy there though you’re going to bump up your resume for sure

👤 faangiq
FAANG is a big place. You can get in to a low tier team yet still get paid just as well. At any top tier team, this skill level will not cut it. You might squeak by for a year or two, but it will be painful.

👤 bjourne
Practice more. Speed comes with experience.

👤 p1esk
How much have you practiced solving those puzzles?

Either you don’t want to practice, or your mind is not flexible enough to learn a new skill. In any case seems like you’re not a good fit for them.