Neetcode is the most well-known coding interview prep creator with over 1M+ subs on YouTube. I interviewed him about the latest on coding interviews, his career at Amazon vs Google, and what it was like quitting big tech to do his own thing.
Check out the episode wherever you get your podcasts: YouTube, Spotify, Apple Podcasts.
Timestamps
00:33 - Quitting Amazon after 2 months
06:00 - Testing Neetcode on Leetcode
12:57 - Memorizing vs deriving solutions and intelligence
16:13 - The story behind Neetcode
22:24 - Getting a job at Google
27:47 - How it was quitting big tech
29:38 - What he hated most about Google
30:52 - Top technical book recommendation
32:34 - Advice for his younger self
Transcript
00:33 — Quitting Amazon after 2 months
Ryan:
[00:33] You ended up unemployed. What was going on at the time?
Neetcode:
[00:40] Yeah, it’s a funny story, I guess, now in hindsight. Basically, I started working. I got my first full-time offer at Amazon. I had heard it was a pretty tough environment from the online stuff, the things that you see on Reddit or Blind, but for some reason I just wasn’t nervous. I just thought, okay, it’ll be fine. And as much as I would use the word intense, I think it was more so that it was a culture shock for me, which is I was very introverted, didn’t do too many activities or extracurriculars.
[01:13] And then, being in a place where it’s not really academic, there’s a lot that goes into having a full-time job and working with people and all those other things. That was really, really tough for me. And so, among other reasons, Amazon was not the ideal environment. In hindsight, I probably could have survived if I had to redo it, but I just didn’t really know things at that point.
[01:37] And so, for whatever reason, I just decided to quit after a couple months. And it was just a really dumb decision because it’s not like I had a backup plan or I was broke. I couldn’t afford to quit, but I still did it anyway. So it was just... I’m glad it worked out, but I wouldn’t probably recommend it to most people.
Ryan:
[01:54] What did you see at Amazon that made you want to quit so quickly?
Neetcode:
[01:58] Yeah, so it was like I said, a very intense environment, but I think many people have dealt with that. I think there’s intense environments where people are still happy. People are trying to perform at the top of their game, and it’s kind of like a sport, I guess, where people are super competitive and they want to do the best that they can. But there are other environments, I think, that are super cutthroat.
[02:21] And it’s not people trying to do their best. It’s like people—you can tell people are not rooting for each other. Like, people are—I wouldn’t say they’re trying to screw each other over. I wasn’t really there long enough to judge that. But you can tell people are not friendly. Like, there were some meetings, like icebreakers that we had, and like nobody—all, it was like 10 people.
[02:43] Five of us were new grads, literally. We all had joined within the first month. The other half were super burnt-out experienced people, mid-levels and seniors and stuff. And they were just very unhappy. And that spreads pretty quickly to the rest of the team. And like I said, I think every other new grad on the team probably survived that experience. I didn’t really keep in touch with them.
[03:07] I don’t think they probably got pipped or whatever. But it was clearly like most people left that team, I think, within a year. I have them all added on LinkedIn. So they were not happy there either, I don’t think.
Ryan:
[03:19] What gave you the confidence to just quit your job so quickly?
Neetcode:
[03:23] Yeah, I think it was a very uncharacteristic thing of me. I think I was 22, and it’s so weird because right before I had started that job, I was like, I’m on top of the world. I’m like, everything is going so well. I had, I was broke and now I have a job. And okay, it might be stressful, but I’ll have it for the rest of my life. Or maybe I’ll switch to another job.
[03:46] It’s so crazy how quickly I was literally on the moon and it all just plummeted overnight. It was my first day. My manager’s like, “Okay, the team’s a little burnt out. Try not to ask too many questions.” And so I’m just like, okay, whoa, what’s going on? It’s like a horror movie. It keeps getting worse and worse. But yeah.
Ryan:
[04:06] Anyways, did you have to do LeetCode to get that job? Yeah.
Neetcode:
[04:11] The funny thing is, I don’t know if I should say this, but it’s been seven years at this point. The LeetCode questions for Amazon were actually surprisingly easy. People always say that you can cheat now. At that point, I don’t remember the exact question. It was some variation of Two Sum and questions that really weren’t that difficult. They really grill you on the leadership principles though.
[04:34] And I think it’s important to be at least a little bit honest with that because I lied for every single question for that. Because it’s like a personality test. It’s like, okay, if you’re in this situation, what would you do? And I know what they’re looking for. They’re looking for the personality type who has high agency. They’re not really scared. They’re gonna take risks, and they’re gonna show up and stuff.
[04:56] And so I gave answers like that, but that’s really not my personality. It’s, like, the opposite, where I’m very risk averse and I try not to mess things up, and I take initiative. But at Amazon, they want really high initiative, where on your first day you’re just making decisions. So it took some getting used to.
Ryan:
[05:16] Well, I asked. Because when I was doing recruitment, I remember this is a long time ago, Amazon, they did some weird thing where they had this group at my college where they sat down hundreds of us and gave us these sequence of logic puzzles. Basically, it would be something like, I mean, this makes it sound really trivial, but it’d be like multiple choice and be like, A, B, C, D, colon.
[05:45] And then it’d be like E, F, G, blank. What’s the remaining? Just continue the pattern kind of stuff.
Neetcode:
[05:55] I think I had something like that actually. It was like an online thing. It was like one section of it though.
06:00 — Testing Neetcode on Leetcode
Ryan:
[06:00] You said you weren’t good at LeetCode to begin with. And I mean today, let’s say, I don’t know how practiced you are right now. If I gave you the hardest LeetCode hard, could you solve it? No problem.
Neetcode:
[06:13] Probably not. And I don’t think I was ever actually that good because LeetCode is such a big spectrum where as you get better, most people can’t really tell the difference between a good engineer and a 10x engineer. And that’s the level most people see LeetCode where somebody who’s really, really good at LeetCode hards, they’re just indistinguishable.
[06:34] But there’s other platforms like Codeforces, I think is the other big one where the distribution is really known because you’ll be like on the completely other end of somebody else who’s better than you. But you might be the same on the LeetCode spectrum as they are, but on a different platform it’s much wider. But I guess to answer your question, yeah, I’m not.
[06:57] I’m like, decent still, surprisingly. If you do something for years, it’s actually hard to forget it. And I just kept making videos for years even when I didn’t need to. So, I’m pretty practiced with the core patterns. I could look at a problem and tell you what the solution might be, but it’d be harder to actually hand code it up. Especially now that I feel like most people aren’t hand typing code anymore, including myself.
[07:18] So yeah, it might be tough.
Ryan:
[07:22] What percent of LeetCode mediums could you do right now? If I just tested you right now, say, do this one or whatever.
Neetcode:
[07:29] I mean, I’d be curious. But not all of them for sure. I think for the vast majority of them, I could probably at least tell you what the solution would be or roughly the pattern.
Ryan:
[07:41] Do you want to do a LeetCode problem?
Neetcode:
[07:43] Yeah, we can try it.
Ryan:
[07:44] So I was genuinely curious to see how good he was at LeetCode. And so we actually did do an impromptu LeetCode whiteboarding session where I asked him nothing but LeetCode Codeforces hards and he had no time to prepare. If you’re curious to see how he did, I uploaded it to my YouTube channel separately because it didn’t fit in the podcast. Anyways, back to the original conversation. You mentioned Codeforces.
[08:06] I think they have an Elo system in that. Right. This is my mental model is that LeetCode is actually just the beginning. And LeetCode Easy is you’re just barely doing it. LeetCode Mediums, you get jobs. LeetCode Hards, you’re a bit better, but there’s—you can go past that many standard deviations into Codeforces. And so where do you think, roughly, someone who can pass interviews decently?
[08:35] Well, let’s say they can do LeetCode mediums pretty well. Where does that place you in the percentile of all Elo ratings, would you say?
Neetcode:
[08:43] Yeah, so that’s really kind of funny. And I don’t know how people are going to feel about this because I talked to a lot of people and I’ve spoken to a lot of people over the last few years. And some people have the mentality that if you want to get a job at big tech today, most of them are still doing some variation of LeetCode. They think that they need to be able to do the hardest questions, super hards.
[09:07] And if they failed their interview, it’s just because they weren’t able to do all the LeetCode hards and somebody else did. Unfortunately, that’s not what usually happens. The people who are passing their interviews, it’s not that they’re dumb; they are competent and they’re just as good as anybody else. But most likely they were just asked a question that they were able to answer, and the other person just wasn’t.
[09:28] And I mean, that’s provided you meet some bar of, okay, you kind of know the core patterns that you’d be able to solve a question you’ve already seen before and stuff like that. So I think, unfortunately, the answer is wider than you think. There isn’t an average. I think you could be pretty low on that end and still pass interviews. You could be pretty high and fail some interviews, but if you’re really high, probably you won’t fail most of them because it’s a numbers game at that point.
[09:56] But I think the average is lower than a lot of people think. I think if you can solve some LeetCode mediums, like a third of LeetCode mediums, you have a pretty good chance of passing an interview.
Ryan:
[10:10] One story that really showed me how big the gaps are is this was in college. Google hosted some event where they invited all these colleges to bring their A team to go and compete in this set of puzzles. And one of the rounds was just pure competitive programming. The other ones were like word association and some other things, but then the competitive programming one. My team was full of people that were all stacked in terms of getting jobs.
[10:45] LeetCode was no problem for them. But these problems were so hard. I think there were 13, and no one got any of them. And then one of the guys on our team was a little bit. He was much better than all of us, and he carried us, and he did like three problems out of the 13. But the crazy thing is there was another college, Caltech. They did all 13, and they just destroyed us. So there are.
[11:15] There are levels to this stuff. It’s really crazy. So I interviewed someone who’s a complexity theorist. I want to know. So clearly competitive programmers, that’s above LeetCodeing. Where is complexity theory and all on all this stuff, right?
Neetcode:
[11:31] I feel like to do something and to learn it or to just do anything, the best way to do it is to actually do it. And so if you’re training another skill, it doesn’t really work out the same way. I guess to use an analogy, even with muscles, I feel like I could be wrong about this, but if you’re doing a leg press machine, it doesn’t actually help you that much for your squat like you think it would because it’s the exact same muscle, but for some reason it actually doesn’t.
[11:57] It’ll make a very small difference. And I think that’s how a lot of life works. If you’re preparing for competitive programming specifically, you’ll get pretty good at that. But maybe your communication will suck during the actual interview, or you’ll miss something else. In my case, I did a lot of videos, and I think that actually doesn’t make you that much better at solving the problems at a certain point because it’s more of a distraction.
[12:20] Because it’s like if you take four hours to make a video, most of that is spent making the video and trying to understand somebody else’s perspective rather than making yourself better. So if I had to guess, I don’t think the complexity theorists are probably as good under time constraints and typing as fast as they can, but maybe for really hard problems, they could probably, I don’t know, they’ve probably just seen way more stuff so they can kind of recall something like, okay, maybe this algorithm or this technique will work on this problem or something.
[12:49] Because a lot of them get really, really elaborate at that level where you need some really crazy obscure algorithm you couldn’t have possibly heard of.
12:57 — Memorizing vs deriving solutions and intelligence
Ryan:
[12:57] There’s this idea, I think this was true throughout when I was learning math and various things in school. This idea of deriving something when you need it and then memorization in this hierarchy, deriving it as the true intelligence. That’s where you really come up into the math. You don’t know the formulas, but you’re good with math and you can figure it out on the fly.
[13:25] What percent of performance in LeetCode do you think is just people memorizing the solutions versus deriving things when they hear the question?
Neetcode:
[13:38] If I had to guess, and even just from speaking with people, I’d say at least 90% it’s people just memorizing one way or another, which I think is fine. Because if you look at the entire problem of interview preparation, there’s a lot to cover and you just can’t possibly do it yourself. But the other thing I will say is that you can’t just memorize. You do have to. This is what makes it really hard because you have to cover a lot of stuff, but at the same time you have to build at least some of the skills to understand what’s going on.
[14:10] So you’re not just blindly memorizing, or you’re not asking yourself, okay, should I do DFS or BFS? You should still have some high-level understanding. And that’s really hard. I think actually covering things in a smart way. I guess.
Ryan:
[14:25] Since we’re talking about this memorization versus deriving, and you’ve taught so many people LeetCode, is LeetCode an accurate assessment of intelligence?
Neetcode:
[14:36] I think definitely not. I think there are components to it. I think, like, is the SAT a sign of intelligence? I think not really, but it’s a sign of a lot of things that correlate with it. And some subset of it surely isn’t intelligence because it’s not like a dog could pass those tests or do a LeetCode problem or something. So, yeah. But I think it’s, I don’t know, I think people get caught up on that because then they see some people doing well and some people aren’t, and they’re like, well, it just must be intelligence or something else.
[15:08] Maybe partially. But I think that’s, it’s not just that. I’m just saying this just to say it, but I actually believe it now. After meeting so many people and seeing so much stuff, and I’m sure you’ve seen so many high-performing people and you’ve spoken to a lot of guests and stuff, I feel like the number one thing, the number one bottleneck is usually some level of enjoyment or passion or work ethic or just something of that nature where somebody keeps doing something.
[15:33] Because I don’t think I really did anything that special. All I did was make a lot of LeetCode videos when most people wouldn’t have been willing to do that or just not had the time to do that. And I think that’s what most things boil down to. A lot of the really smart people that you have on the podcast, I think they just enjoyed what they did and then just kept doing it and then built their life around that, and then it just becomes that.
[15:56] And I think the people usually, in terms of LeetCode, they’re usually people that either did a lot of math or programming or some kind of math club when they were kids. To get to a certain level, like the Codeforces level and stuff, you just have to have done that since you were a kid. Like if you’re a chess player, you have to just start early.
16:13 — The story behind Neetcode
Ryan:
[16:13] What kept you making these LeetCode videos for so long? Because you have hundreds of them.
Neetcode:
[16:19] One thing I guess I didn’t like about school, and for the most part I liked school, but I always thought that the computer science classes, especially, every time we would get to a part where it’s starting to get really interesting, whether it’s databases or ML or something else, you get to the end of the class and you do your random project or whatever, and then you kind of know the core stuff of that class.
[16:41] And then that’s the part where I want to go 10 times deeper. I just want to do one thing and then do it really, really well. I think that’s why I wasn’t, in terms of being the best developer I could be. I think I’m better at other things than that. And I think when I got to LeetCode, I just enjoyed that and I felt productive as I was doing it. Even though like it.
[17:04] It really wasn’t on paper. I was like making a video getting like 50 views, and I was enjoying that, but it wasn’t like I was ever gonna make a living off of this or anything. So I just kept doing it just because I was like stubborn and I enjoyed it, and I was. I thought I was helping people as well. So I just stuck with it.
Ryan:
[17:23] You had this one video, I remember it was like, “Maybe some people should just give up,” or what? Was that the title? Yeah, it was like, “Maybe some people should just give up.” And yeah, I guess a question to you is, do you think that anyone could be good at LeetCode? Are some people inherently not able to do it?
Neetcode:
[17:42] I think the vast majority of people, especially anybody who is a programmer and likes programming, I think they could get to that point. I mean, they might feel like they’re not smart enough, and they might feel that many steps along the way. And I think that’ll probably burn them out before they can get to that point. Because it’s not like everyone wants to do everything.
[18:02] If they want to pass their interviews or for whatever reason they need to, I think they could probably do that. But I think most people will find that there are other. Most people decide, for whatever reason, that there are better ways to spend their time. Most people will start the LeetCode grind and then give up. They’re like, okay, screw this. I’m going to get a job another way.
[18:21] I’m going to network my way. I’m not about to do 300 LeetCode problems. And that’s perfectly fine, I think.
Ryan:
[18:27] But yeah, so when you say that maybe some people should just give up, what’s your take on?
Neetcode:
[18:34] Okay, yeah, I don’t recommend anybody to give up. I really don’t. I swear. For me, I want the opposite. I really do. I want people to push themselves and to be the best that they can be. And I don’t know. I guess it’s just that the reason I made that video, I guess, is that there’s a certain attitude that I feel like just really turns you off.
[19:02] Like, sometimes you’ll see it in school, especially early school, where half the class is paying attention and half just doesn’t really care. And that’s fine, but it’s like, I don’t know, it’s like, the more seriously you take something and you spend a bunch of time making this video explaining all these parts, and somebody asks you a question, like, they could have answered, it just makes me disappointed.
[19:23] Just makes me think, like, I know you’re better than this. Like, you can figure it out yourself. Like, you’re smarter. Like, you’re too smart to give up that early. That’s how I feel. But obviously, the words that I said and say it a certain way. I recognize that people aren’t going to interpret it that way, so I have to live with that.
[19:45] But I think I had a lot of people. I’d say, like, 95% of people actually liked that video. Like, clicked on that video, which was surprising to me. Most people that reached out or commented, they said, “Hey, I needed to hear this. This was like a wake-up call.” And I had somebody message me before. They’re like, “Microsoft intern interview.” And they’re like, “Hey, I really needed this.”
[20:04] I’m going to lock in for the next couple of weeks. And I was like, okay, I guess I’ll leave that video up because at least somebody got something out of it.
Ryan:
[20:11] But yeah, I see. So the energy in that is like a disappointed teacher. Disappointed.
Neetcode:
[20:20] Yeah. Because why would I make videos that are teaching people and then on the same side tell people that they should give up and not do this? It doesn’t make sense. And yeah, so like I said, I can live with what I said. It wasn’t the nicest thing. If I could do it over again, probably whatever. I think the only thing I said in that video though, I think that was actually offensive is that I can’t believe somebody would ask me this.
[20:43] Dumb. And I said another word after that, and I said question that. That’s literally the worst thing I said. I didn’t make it personal with that person. I didn’t call anybody not smart enough or anything. But yeah, anyway, I’ll stop there before I do more reputational damage.
Ryan:
[21:00] When you were recording this video, because I like the video, by the way, but when I saw the packaging and it was like this unhinged thing that you had dropped, were you worried at all on your side? Because you gotta record it, watch it over, and click send, right?
Neetcode:
[21:22] So yeah, I watched that video a couple times actually, because I was like, am I sure? But sometimes I’m just like, I think when I made that video, if I could somehow find a way to harness that energy, I’d have so many viral videos by now. But I really can’t. I’ll just, every few months, get mad about something and just make a rant video. But I really wasn’t planning it like that video.
[21:43] When I look back at it, it was just a really long ramble where I went off on five different tangents to make my point. I’m like, if I was trying to make a viral video, this could be a little bit better.
22:24 — Getting a job at Google
Ryan:
[22:24] In your career path, I mean, you went to Amazon, you instantly quit, and you started making these videos, right?
[22:49] You keep creating these videos, and later you get your quote-unquote dream job.
Neetcode:
[22:54] Yeah, so when I was making the videos, I was hoping that somebody would give me a job interview at some point and that I’d ace it. It took a long time. It took almost a year. And then it just happened to be Google. And I was like, I kind of would have actually preferred somebody else so that the interview would be a little bit easier, but I was like, okay, well, I guess, here goes.
[23:14] And the interview itself, I wasn’t very nervous for, for whatever reason. I guess I just prepared so much. And then getting into Google, pretty much like you said, it was like my dream job. I think a lot of people, young college students, they see a tech company like that, and once you’re in, you feel like you’ve made it. And that’s definitely how I felt. And I was making pretty good money.
[23:34] I was up here in Seattle and everything was going well. My team was really nice. It was kind of the opposite of Amazon, where everybody is super friendly and willing to help. And the work was, I would say, fine. It was technical at least, but it wasn’t the most interesting. It was a lot of processes and bureaucracies, so that was kind of boring. But then I got to a point where I felt like I could actually go full time into the YouTube Neetcode thing.
[24:05] And that was pretty risk averse. I probably could have done it a lot sooner. And yeah, I really enjoyed my time at Google, but it was just something that I felt like I enjoyed algorithms and stuff more. And it was an opportunity that wasn’t going to be there forever. So I just wanted to take it. But I could have definitely seen myself working in big tech my whole life. A lot of people I talked to, they don’t feel that way.
[24:29] A lot of people are like, “I’m just here until I don’t have to be here anymore,” for however many years that is. But for me, I was pretty happy just doing something technical my whole life.
Ryan:
[24:40] You mentioned that some Google interviews maybe were a certain level of hardness in LeetCode. If you were to come up with a tier list of just purely LeetCode, so purely which companies ask the hardest LeetCode questions, and if you pass that bar, you must be pretty great at LeetCode, what’s your tier list?
Neetcode:
[25:01] I think the labs ask pretty tough questions these days, like OpenAI and Anthropic, but they’re not exactly like the traditional LeetCode format. They’re a lot different. But yeah, I think it usually just comes down to the supply and demand, like how many people are trying to get into that company and how many roles does that company actually try to fill. I feel like the smaller companies are usually harder.
Ryan:
[25:25] You said OpenAI and Anthropic’s interview process is a little different. How does OpenAI and Anthropic do their coding interviews?
Neetcode:
[25:33] Yeah, I’ve heard a lot of mixed things. Recently, what I’ve heard is that knowledge of data structures and algorithms will be pretty helpful. It’s pretty hard to get through it without that. But it’s definitely not like a LeetCode interview, is what they would say. There might be components of an algorithm or multiple files, or you’re just given a problem and you kind of have to reason through it.
[25:58] Some of them mentioned that they have AI access, but I think for Anthropic it’s not. And I think the most recent person I asked for OpenAI also said that they don’t have AI access, which is really interesting to me. I think interviews are just kind of really random lately. I’m trying to figure out where this is going, but it’s really impossible. I thought it was going to be AI-assisted, but all these companies are still figuring it out as they go.
[26:23] So it’s been interesting to watch.
Ryan:
[26:25] You went to Google and you liked it, but it sounds like you left because you wanted to pursue it full time. It wasn’t like you were running from something; you were going toward LeetCode and content creation. I remember back in the day, you were faceless. Were you nervous at all to post your face?
Neetcode:
[26:46] Yeah, no, it’s kind of funny, I guess, because it’s been six years now since I made the YouTube channel. And for the first three years, I think I was faceless. Roughly three years ago this month, I think is when I did it. And so now I’ve had half and half. And I think it’s been great because I’ve gotten to actually be a person. And after I did that, I had a lot of people reach out to me.
[27:07] They’re like, hey, I didn’t know you were the guy who did that. Like, hey, let me know if you’re ever in town, blah, blah, blah. And I guess it was cool to actually meet people and, I don’t know, just meet people, I guess, that you can relate to, like content creators. Like, we met as well.
[27:21] I mean, there’s a part of me, I guess, that kind of liked the faceless version as well, because you just get to be really introverted and not have to ever deal with people. But people are pretty nice to me, and I don’t have any regrets about that. Once in a while, I’ll be out and somebody will recognize me, and if I’m with a friend, it’s like you can kind of show off or act like you’re a big deal, but for the most part, I don’t know, I just.
[27:44] Yeah, it’s been fun meeting other nerds and stuff.
27:47 — How it was quitting big tech
Ryan:
[27:47] How’s your experience quitting Google and doing your own thing full time?
Neetcode:
[27:52] I think in my case, I really enjoyed what I was doing, so it was a lot easier for me. I have a lot of people reach out that they don’t really enjoy their jobs, but they don’t really know what else they want to do either. I think that’s a lot harder for me. It was just that I liked algorithms and doing things around that, whether it was building my site or making YouTube videos. And I just kind of leaned into that.
[28:15] And that’s been working out for the past few years. And more recently, I’ve been trying to expand into other areas and stuff. But I guess what I’ve learned is that passion really matters. And it’s like, if you’re passionate about one thing, that doesn’t necessarily mean you’ll be passionate about everything. But, yeah, I think I’ve definitely had no regrets. I think it’s been a success for the most part.
[28:40] But yeah, it’s not perfect. I wouldn’t necessarily recommend every person out there needs to quit their job or do their own side hustle or whatever. I don’t, buy into a lot of that stuff.
Ryan:
[28:51] Do you ever miss Google a lot?
Neetcode:
[28:54] I miss, I can afford food now, but I still miss the free food for some reason. I don’t know if you had that experience, because they really make it in a way that you’d miss it if you weren’t there. Especially the free coffee and stuff because I would always get a latte. But anyways. But yeah, I miss. I mean, the one thing I miss is the culture because I could, at Neetcode, I could hire a bunch of people and kind of create my own culture.
[29:21] And it’s really nice that you have the freedom to do that. But I’m not really a culture builder. I’m more of a person that just does things or solves problems or whatever. I don’t consider myself a manager, but I’ve had to do that a lot the last couple of years, and it’s been a learning experience.
29:38 — What he hated most about Google
Ryan:
[29:38] You mentioned what you miss about Google, but what is it that you hated most about working at Google?
Neetcode:
[29:44] That’s a good question. I think it’s just really slow. Urgency and speed doesn’t seem to matter, which is fine. I guess the reason that’s a problem is because some people would see that and think, oh, it’s like a work-life balance paradise. You can kind of just chill and do whatever you want, which is true because there’s that side to it. But the other side is that if you’re ambitious or you’re trying to get your project delivered sooner, or you’re trying to get promoted or just anything, you’re gonna be fighting against all that work-life balance culture because you’re trying to get somebody else to do something and you don’t want to put too much pressure on them.
[30:18] You don’t want to mess with their work-life balance because then they’re gonna mess with yours. And yeah, it was just really slow. If you’re a technical person, you want to be there because they’re not gonna probably at Google cut too many corners, but sometimes you wish they would because it just goes so slow and they prioritize processes over actually making an impact for a customer, like getting a project delivered.
[30:41] It’s just like, yeah, they care too much. I think about what the engineers think and what they feel rather than actually trying to serve customers. So it’s like the opposite of Amazon, I’d say in that respect.
30:52 — Top technical book recommendation
Ryan:
[30:52] What’s the top technical book recommendation for software engineers? Do you have any thoughts on that?
Neetcode:
[30:58] Yeah, I guess I really liked DDIA, Designing Data-Intensive Applications. I just spoke with somebody a month ago, and they were telling me that they did read through it, but for them most of it didn’t really stick. And I think that’s fair. Actually, I think for most people it wouldn’t stick, but I think my brain is just kind of wired a different way, where rather than, I think most people learn by getting an introduction to a high-level topic and then digging deeper into that.
[31:24] But for me, I like understanding the actual building blocks of something, and that’ll help me understand the higher-level stuff. So, for example, why did data warehouses use a completely different query engine than an actual transactional database? I mean, most people don’t need to know, and it doesn’t really matter most of the time, so you probably won’t remember even if you did learn it.
[31:44] But there happens to be the way the data is actually assembled, and for certain query patterns, these things do matter. The reason I say it’s a good book based on that isn’t because you’ll necessarily take those exact details and then apply them to some problem. But it changes the way your brain thinks about things, the same way learning algorithms will help you think about things differently.
[32:08] Understanding just general computer science problems and distributed systems and all that stuff for me at least. I notice a lot of parallels and stuff when I’m reading DDIA. Practically every single chapter I can find at least a few LeetCode problems that can help explain certain things or help me understand certain things. And so in that way it’s been useful for me, but I wouldn’t necessarily say for everybody it would be.
32:34 — Advice for his younger self
Ryan:
[32:34] Last question is, if you go back to your younger self when you just graduated college and give yourself some advice, what would you say?
Neetcode:
[32:42] Definitely focus a little bit more on what you enjoy. Because my priority at that point was just trying to get some job that I would reasonably enjoy. And I thought anything technical would be fine. And so, as I was doing computer science, I started learning a lot about web development, vis-à-vis software, people talking about that online, and learning React. But I think probably my career would have been just as well, if not better, had I done something like really random and obscure, like operating systems or databases or something, which I would have enjoyed a lot more.
[33:14] And I think I probably would have been better at it than I was at web development. Even though people say web dev or just building apps is the easy thing, I feel like it’s not really easy if it’s boring to you. And to me it was pretty boring. So, yeah, people say the same thing about LeetCode. It’s hard, but for me it was, I guess, easy because I just enjoyed it. So, yeah, I’d say, yeah, I think a lot of people are asking that question now.
[33:38] And so I would just say that try to enjoy it at least a little bit.
Ryan:
[33:42] Awesome. Well, thanks so much for your time, Neetcode. I really appreciate it.
Neetcode:
[33:45] Yeah. Appreciate it.










