NeetCode on Why Learning Hard Things Still Matters When AI Writes the Code

Open on YouTube ↗
Overview

Navdeep Singh, known to many as NeetCode, built one of the most widely used coding-interview preparation platforms. He worked briefly at Amazon and then at Google before going full-time on his own business. In this conversation on The Pragmatic Engineer, the central question is a paradox: most engineers now prompt rather than type code at work, yet data structures and algorithms (DSA) interviews have barely changed. Singh's position throughout is that the value of that kind of preparation, and of learning difficult things in general, was never mainly the algorithms. It lies in the thinking, communication, trade-off reasoning, and effort the work builds. He argues that these are becoming more important as AI makes everything else cheap.

32 min read

Why coding interviews have not died

The host opens by noting how many people predicted that coding interviews would disappear once AI could write code, and that they haven't. Singh finds this funny too. Coding itself has changed dramatically over the last few years, and especially the last few months, yet the DSA format has been "really really sticky." Some companies are experimenting with AI-assisted coding interviews, but the core format persists. That confuses people, himself included. In his description, you can now ask an AI almost anything about a codebase or have it implement a feature, and it gets perhaps 90% of the way there.

He gives two reasons for the stickiness. First, DSA interviews were never a good test of whether the skill translates to the job. They were a way to check whether someone can think. Second, he believes companies simply don't know how to evaluate candidates and probably never did. He cites a conversation with a friend at Amazon named Steve, who said Amazon had run studies showing that, however much data you have and however you run the process, it is very hard to predict how someone will perform. Even a skilled hire might not be motivated or might not fit the team.

The host suggests an "if it ain't broke, don't fix it" mentality may also be at work, and Singh agrees. Any change risks making things worse, and changing the process at a large company is bureaucratic and requires retraining. He points to Meta's attempts at AI coding interviews. Getting training right is hard because most interviewers dislike interviewing. Large companies want a standardized process for thousands of interviewers, and adding variables such as new evaluation criteria and AI prompts makes that "practically impossible" to measure. He expects companies to try new formats, but thinks the transition will be slower than most people predict.

From electrical engineering to a love of programming

Singh originally studied electrical engineering because he loved math and physics. His first programming course, an intro to C, was a requirement he didn't want to take, and he struggled at first. He remembers fighting with printf format specifiers while classmates seemed to pick them up quickly. Although programming seemed related to math, it was a different way of thinking.

After a couple of months of variables, conditions, loops, and functions, something clicked. What first felt boring revealed "infinite complexity": simple primitives compose into software that solves enormous problems. His example is Google Spanner, which draws on physics, atomic clocks, and GPS as well as programming. He fell in love with it.

That enthusiasm met reality once he started working professionally. Programming in industry is a business, so you don't get to choose the languages you like or the problems you enjoy. That took some of the fun out of it for him, and he describes a "love-hate relationship" with programming that he thinks many people share.

The CAP theorem and the urge to go deep

The host brings up Singh's dislike of the CAP theorem. Singh explains it as the familiar "pick two of three" framing across consistency, availability, and partition tolerance in a distributed system. He calls that framing not very accurate and the theorem itself incomplete. What he loves about programming is its determinism: if you want to, you can trace behavior down to the exact line, the assembly, the ones and zeros. The CAP theorem felt hand-wavy by comparison.

He felt validated when he found a blog post by Martin Kleppmann criticizing CAP. He notes that the post was somewhat controversial, with commenters arguing Kleppmann was technically right but nitpicky. Singh prefers PACELC: during a partition you choose between availability and consistency, and otherwise you still trade off latency against consistency. He finds it more complete and, if anything, simpler, and doesn't understand why anyone would learn CAP instead.

The host wonders whether only a small subset of engineers actually go that deep, while most accept "two out of three" and move on. Singh ties this back to the tension of professional work. During onboarding at Google, with its enormous internal documentation, he wanted to do a depth-first search through every linked document. Jobs don't work that way, and no one understands a massive codebase in full. He sees a similar transition now with agentic coding, where engineers may not even read the code they ship. You lose some of what you enjoyed, he says, but that's business.

Quitting Amazon after two months

Singh corrects the host: he attended Washington State University, not the University of Washington, which rejected him because he wasn't a strong high school student. He ground hard on interview preparation, kept a good GPA, and landed at Amazon, where the DSA-heavy interviews suited him.

He was self-aware that he wasn't well-rounded. He was comfortable reading documentation alone but found working with people very difficult. He joined a team in Alexa, an org he says has reportedly been gutted in the LLM era. He describes it as a stressful environment with lots of manual work, "not a well-oiled machine." While reading the team chat history from the week before he joined, he found a message saying the job felt "thankless."

About five or six new grads joined within one or two weeks, more than doubling a team of about four experienced engineers. Because the team faced deadlines, the new hires were largely left on their own. At the introduction meeting the experienced engineers said almost nothing, and the manager had to keep prompting them. He saw every experienced engineer committing code at 3 a.m. before an 8 or 9 a.m. meeting, with others reviewing PRs at the same hour. He doesn't think a manager ordered this. He read it as an implicit culture: if you're the one not working at 3 a.m., you may be first in line to be pushed out.

The host adds context about Amazon's target of 6% "unregretted attrition" at the time, which made some orgs cutthroat. Singh says he submitted his resignation three times before it was accepted, and half-jokingly speculates this was because it would count as regretted attrition. At two months he was too early to be put on a performance improvement plan. He stresses that he holds no grudges against individuals or Amazon. It was a bad situation, he had personal issues at the time, and he made an impulsive decision. He believes that if he did it over he could probably have survived, though it would have been stressful either way. He felt relief at first and then much worse, not knowing what to do next.

Google: the opposite experience

Singh later joined Google Cloud and describes it as the opposite experience. He arrived in "Amazon PTSD mode," assuming that professional life meant not asking questions, not being friendly, and working as intensely as possible. People were friendly, so he reciprocated, but he was still afraid to ask questions and mostly worked alone.

His manager gave him a project that turned out harder than expected. Believing he had to finish it independently, he did almost all the work himself. The manager and team read this as independence, which is what promotion from junior to mid-level requires, and he was promoted in almost exactly a year, which he says is uncommon at Google. Only after the promotion did he feel comfortable asking questions, which he finds ironic since that is expected more of juniors.

The host observes that engineers carry reflexes from earlier companies that can make adapting hard. Singh adds that much of Google Cloud's leadership came from elsewhere, including Amazon. A VP or GM who came from Amazon left after a few months, though Singh doesn't know the details. Googlers worried Amazon managers would bring Amazon's frugality. Over his time there, he says, Google moved somewhat in that direction, especially with the layoffs.

On promotions, Singh plays down any suggestion of genius. You need to put in the work and be reasonably smart, which he thinks most people are. Beyond that it comes down to the right team and the right project, because a 10x engineer on easy work can't show they solved hard problems. He describes Google's culture of supporting everything with metrics or artifacts, such as design docs, which produces too many docs for simple things. He calls it a necessary evil, since otherwise engineers might work on things with no business impact.

How NeetCode started

Singh began making videos after quitting Amazon, about six years before this conversation, purely "for the love of the game." He was studying anyway and wanted to help others. There were few tutorials then, mostly forum posts with complex solutions he struggled to understand. He believes most people only grasped those solutions at a high level without knowing why they worked, which was often enough to pass an interview. He went much deeper, spending hours on videos that 50 people would watch, because he enjoyed it. He calls this deep-thinking tendency more of a personality trait.

About a year after he started posting consistently, he got into Google. He found the interview fairly easy by then, backed off the videos, and posted that he had joined Google and wouldn't be around as much. After that the channel "went exponential." He thinks the announcement added credibility: he had made the videos before getting in, so it was proof that the method worked, "the best sales pitch in the world." It bothers him somewhat that the videos didn't change, only the framing. He then built a free website that cataloged the videos, and that went viral too.

Leaving Google to go all in

Shortly after his promotion to L4, Singh considered going full-time. At Google he couldn't go as deep as he wanted, whereas with algorithms and data structures he could go deeper than most people would ever want to, and he had a reason to because he was explaining them to others. He genuinely liked Google, its people, and its relatively low-stress environment. His tech lead, effectively his manager at the time, said he was perplexed that Singh would leave after such a fast promotion when another seemed likely.

Singh had assumed he would spend his whole career at Google working his way up. But he felt the chance to try something on his own might not last. Google's policy of generally letting people in good standing return within about a year made the decision easier. Friends still ask him whether they should leave Google; one asked just the week before because she wanted to do content creation full-time. He observes this seems almost like a trend.

The switch was hard in unexpected ways. He had struggled with Google's internal tools at first, then missed them after leaving. He isn't a big fan of GitHub, citing UX issues rather than the uptime complaints others raise, and notes that companies like Cockroach Labs were founded by people recreating Google-internal systems for the public.

The bigger challenge was people. He only got comfortable delegating and managing within roughly the last six months. That came after hiring people, letting some go, and learning what fits and how to motivate different individuals. People aren't like agents that take a task and produce code, he says. He used to hate this work and now loves it. When a hire works out and he can guide their growth, he finally understands what leadership means and can imagine how much it matters at larger scale, as when a new CEO sends a company up or down.

The tech stack and taking shortcuts deliberately

While still at Google he built the free site with tools he knew: Firebase on Google Cloud and Angular. He regrets both. He mentions that he now meets people and thinks he might move to Convex. With LLMs, though, migration has become "relatively trivial," so he may switch eventually. Building the application never interested him much because there were few deep problems in it. What mattered was the education: if an explanation is bad, no one cares how the site looks or performs. By his account, he was bad at building, but the value of the content outweighed his poor tech choices. That taught him to prioritize what matters and take shortcuts elsewhere. He cites Elon Musk's multi-step process for optimizing a workflow, which involves cutting aggressively and adding back what turns out to be necessary. Working mostly alone, he probably should have hired sooner, but he took many shortcuts and still does.

The memory leak he chooses not to fix

His example, which he expects people to get mad about, involves a code-execution service he was paying about $3,000 a month for. When "vibe coding" took off, he figured he could write his own version, perhaps in a couple of weeks with AI, instead of the month or two he had estimated before. He finished it in two or three days, and says it did require coding skill; a non-programmer could not have done it. It now costs about $200 a month.

The service has a bug, probably a memory leak, that crashes one or two instances every couple of days. He estimates that finding it would take longer than the three days it took to build the service, since this is the point where vibe coding forces you into the details. Instead he runs about four instances, so a crash is replaced within a couple of minutes. Before switching over he routed only a small amount of traffic to it for a couple of weeks and, despite expecting problems, saw essentially none. He says he has had practically zero outages and fewer than LeetCode, with only a couple of people running things. Because the service runs on better hardware, it is also faster, and no user has complained.

The host pushes back: isn't this typical of AI-assisted development, where founders replace a SaaS product with something subpar, get by, and then find it too hard or uneconomical to fix code they didn't fully write? Singh says he has thought about it a lot. Fixing the leak would let him shrink the server pool and save perhaps another hundred dollars. The engineer in him hates leaving it, and he admits it still bothers him. But he has learned to prioritize business value, short and long term, over perfection. The host sums it up: the overall package is cheaper, faster, and replicated, so it is better than before despite the regression.

What interview prep actually teaches

The host asks what DSA preparation gives people beyond the algorithms. Singh points to his own path. In the year between Amazon and Google, he mostly made NeetCode videos rather than doing development. That work trained him in speaking, communicating, thinking deeply about a problem, and weighing trade-offs between approaches. At Google he believes his raw coding experience was below most of his peers', yet he got promoted. Faced with a hard problem and unfamiliar internal tools, he could sit down, make a plan, and communicate it to his manager much as in an interview: here's the approach I'm thinking of, so we're on the same page; give feedback if you have time.

He sees trade-offs as the essence of engineering. Unlike math or science, engineering has no single correct answer, only the best solution for the moment, as with his memory leak. He worries people now focus too narrowly on hard skills, like whether they can write a particular loop or know a particular data structure, and miss what engineering is about. Strong engineers who move successfully between domains usually don't stand out for mastering one language. They stand out for what they gained from learning hard things, much as years of education shape a person in ways that are hard to pin down.

Systems thinking versus domain expertise

Singh recounts a conversation with Chip, a previous guest of the show. She said it is impossible to know which hard skills will matter with AI, such as which language to learn, how high-level to go, or whether coding will be necessary. What she was confident about was systems thinking. Singh illustrates with a construction site. Individual workers do small tasks, but someone designed the system of rules, procedures, and verification that makes a complex building possible. Most people are the "worker bees," while the value comes from whoever architects the system. He says there's no course for this, and that it takes many experiences to get there.

The host challenges this: systems don't exist in a vacuum. Agriculture, law, and healthcare look very different by country, and great systems thinkers are often simply deep domain experts. Payments, where the host worked, is one example. Perhaps abstract systems thinking and domain expertise overlap, and knowing several domains improves the abstract skill. Singh agrees domain knowledge matters and admits his idea is hard to articulate. Still, he points to engineers you'd trust to move from payments to real estate. They face a learning curve but learn faster and perform better. He doesn't think this is innate. He calls it a mistake to dismiss any subject as wasted time because you didn't use its details on the job. He sees people making the same mistake now when they ask why they should learn loops they may not write in a few years. Going deep, especially when it's hard, is not a waste of time, he says.

The hiring bar and alternatives that work at small scale

From user feedback, Singh sees early-level interviews at big companies still dominated by DSA. People anecdotally say interviews are getting harder. But judging from those who pass, he thinks difficulty at companies like Google isn't very different from before, at least in the US. India is very different, he says, with nearly all algorithms and LeetCode hards and "super hards." Because of cheating tools during five or six years of mostly remote interviews, Google has "pretty much" returned to on-site, whiteboard-style interviews. Candidates can use a laptop, but someone watches them code in person.

Asked what he'd do without DSA interviews, he says any standardized, scalable process can be gamed. The best signal is seeing someone actually work, as with an intern. He says many small companies he has spoken to recently use trial periods ranging from a few days to a couple of months, though others say this doesn't work for candidates who already have jobs. He has moved that way himself. He can gauge LeetCode ability quickly, so he doesn't spend four rounds on it. He gives candidates work similar to the real job, or just talks with them, and focuses on why they give an answer rather than what it is. He wants to know whether they are regurgitating something from ChatGPT or can reason through trade-offs, and what's good, bad, or improvable about their work. He doesn't expect big tech to adopt this because it's hard to scale.

The host notes that open-source companies rarely struggle to hire because they recruit their contributors. Singh adds that Dax, of OpenCode, hired people he already knew from contributions or their own open-source projects, sometimes with just a DM. Working in public lets others see how you work.

AI at NeetCode and why value got harder to build

Over the last six months, Singh says, most of NeetCode's code has been written by AI. He was a "really big AI hater" for a long time and is sometimes accused of becoming an "AI shill." His view is that he's being pragmatic: the tools used to be worse, and his work is mostly CRUD apart from the code-execution service. The stack is Angular, Firebase, Google Cloud, and TypeScript, which he describes as somewhat outdated.

In the early years his code quality was "very very bad." He used TypeScript riddled with any, inline CSS, and other shortcuts, knowing he understood the whole codebase and could move faster. He now considers that trade-off fully vindicated, because AI has cleaned much of it up, and he could probably migrate stacks quickly if he wanted. His broader point is that you may make the wrong decision, but you can go back and correct it.

The host quotes one of Singh's posts: in 2026 it has never been easier to build things, but it's ten times harder to build value. Singh explains that features once not worth building are now trivial to add, so products can accumulate a new feature every day that nobody wants. That clutters the product, confuses users, and can slow performance. Speed matters, but so do decisions. Teams shipping too fast don't measure impact and let things regress. He cites Anthropic as an example of recent regressions. He says he saw Boris replying to users that they hadn't noticed a problem, before the company recently published a blog post acknowledging it.

The host reflects that the old trade-off between moving fast and breaking things doesn't appear to have been abolished by AI. Singh adds OpenAI shutting down Sora and refocusing on a smaller set of things, including coding, as he sees it following Anthropic's more focused approach. The host notes the apparent lesson that focus beats fast execution across many things. Singh jokes that the Transformer paper was titled "Attention Is All You Need."

The disappointing redesign contest

Singh offered $2,500 for the best NeetCode redesign. He hadn't finished evaluating the results, but so far he was disappointed. Nearly all submissions were obviously made with AI, which he says is fine. The problem is that when he asks designers why they moved, removed, or added elements, they can't answer or give vague answers. After five minutes with their design, he can articulate its choices better than they can. He doesn't think this is about intelligence. He attributes it to effort, caring, and perhaps design skill. Entrants focus on how pretty the design looks, while he wants a design that explains what the site is about and its value, which he considers the real point of UX.

The host points out that the contest structure flips incentives. If only the winner gets paid, the rational effort is a fraction of the prize, which encourages low-effort AI entries. Singh agrees that in hindsight he should have paid a small pool of designers up front and chosen among them. He adds that someone could sketch the key decisions on pen and paper and hand them to an AI. On his own site, even for AI-built parts, he can explain why each element is placed where it is, for example making the most-used features prominent based on metrics. He had also told entrants his criteria, which some didn't follow.

The future of software engineers

Revisiting a Tim O'Reilly article from about a year earlier on "the end of programming as we know it," Singh finds it surprising how little has changed in business terms despite how much coding has changed. His big-tech friends code completely differently, but most still have jobs and are doing more work than before. He thinks some companies went too far toward AI and are rebalancing. He expects programming may become a completely different field. But he doesn't think knowing what value to produce or making engineering trade-offs will go away, because weighing what matters is, in his view, a very human thing.

The host adds that even a simple "report a bug" button hides edge cases, state, user tiers, and business context. That knowledge used to live in code and in the programmer's head, and someone still has to hold it when prompting. Singh says change itself is the constant. He mentions reports that Microsoft is offering voluntary buyouts. A friend confirmed the buyouts but not the reported criterion that they target people of a certain age with 10 to 15 years at the company. Singh speculates that Microsoft may see those people as less willing to change, and compares it to the 2014 layoffs after Satya Nadella took over, which the host notes were not voluntary. His takeaway is that willingness to change will matter, even when it means doing things in ways you don't enjoy.

He doesn't foresee the extinction of programmers: "my guess is as good as anybody else's," but thinking and problem solving won't disappear. Fewer programmers may be needed, yet cloud computing and higher-level languages didn't reduce demand, which surprised him. He wonders whether tools like Replit and Lovable will make everyone a programmer. The host raises DHH and 37signals leaving AWS to save money, suggesting that at scale it may always pay to build lower in the stack. Singh adds that engineering isn't a science and culture drives adoption. He suggests MongoDB's growth was probably due more to sales, marketing, and snowballing adoption than to the technology. He also thinks cloud services have become very complicated, and that AI's cost could become a big issue once subsidies run out. That might lead companies that embraced AI programming to cut back.

AGI, skill erosion, and agency

On AGI, Singh offers a philosophical take. Chasing it feels like approaching infinity, where you stay the same distance away however close you get. Technology has brought us near abundance, yet human nature keeps people competing at ever-higher levels, and new problems appear in marketing, edge cases, and elsewhere. If AI really replaced every job, he argues, that would in some sense be good, as the decline of farm labor was a net positive. The danger is that people's livelihoods depend on those jobs, which he frames as a political problem more than a technological one. The host says he's still waiting for software that lets a normal person file simple taxes or find a plumber, with little progress in 15 years. Singh says we shouldn't assume progress is preordained. Civilizations have peaked and lost technology before, and policy decisions will shape what actually improves people's lives.

On skill erosion, Singh says many students now "learn" everything through LLMs, which is often just cheating, and experienced programmers are affected too. A friend preparing for interviews hadn't handwritten much code in months and struggled to get back into it. The host speculates that this may push more companies toward in-person interviews, where you can tell who freezes without AI. Singh admits he might freeze himself. He was always a copy-and-paste programmer, weak from scratch but good once he could see a file's imports and structure. His own hot take is that companies may stop caring whether you can handwrite code, as long as you understand it. In some AI-assisted assessments, you can implement everything with AI, but you must explain things like what the integers in an array represent in context. He admits he has no firm answer.

On his claim that personality traits now matter more than coding skills, he concedes "personality traits" may be the wrong phrase. He describes a hire from a few months earlier who hasn't yet finished a CS degree but is better than practically anyone he has hired, including experienced people and candidates with big-tech résumés. What sets them apart is what startups call agency. They never say "that's not my job," and when given a task in a completely new domain, they've learned everything about it within a week. Since information is now a prompt away, he says, what matters is knowing which questions to ask, and that comes from effort.

Authenticity, attention, and the personal brand

The host notes that AI startup founders can build faster than ever yet still struggle for product-market fit. In-person customer conversations, meetups, and a charismatic founder matter more than code. Singh draws a parallel from YouTube. Nobody cares how correct or clever you are if you can't explain it. In his videos he emphasized and repeated key points to make them digestible. Any LLM can produce a correct DFS or sliding-window solution, but understanding what people are looking for is the human part.

On capturing attention, he says packaging matters: how you present things and yourself. But authenticity matters most, because people "can smell the fakeness" and stop listening. He points to Codex team members at OpenAI engaging on Twitter, including with critics. The host suggests Claude Code's success is tied partly to Boris Cherny's visible, humble presence and bug-fixing in people's mentions, and that Codex now has a similar figure in Tibo. Singh dislikes the word "influencer" but thinks companies increasingly need to be approachable and relatable, like people. He mentions Meta's internal culture of promoting what you ship as a skill, and encourages engineers to put themselves out there, whether on YouTube, LinkedIn, or Twitter.

"Maybe some people should just give up"

Singh addresses his most controversial video. He stresses he doesn't encourage people to give up. His point was that if you don't want to try hard, do things yourself, or dig into details, you should know what you're getting into. Many people cheat through degrees and expect a job at the end. Many viewers were angry. But he says the majority, while wishing he'd been nicer, which he accepts, agreed with his points. Some wrote that they had leaned too heavily on prompting, gotten worse, produced worse work, enjoyed it less, and now wanted to refocus on learning. He recorded it on his laptop without expecting it to blow up, and he left it up despite a possible reputational hit.

How to stand out

Asked what makes an engineer stand out, Singh doesn't claim universal advice but returns to effort and knowing your audience. In interviews, watch how the interviewer reacts. On a team, learn what people care about, ask questions, meet with them, and avoid needless assumptions. Then go very hard in the direction you think is right, and expect to recalibrate. He describes this as an iterative feedback loop that requires constant course correction, which few people enjoy. One practice he always followed was asking managers to tell him any feedback, promising not to be offended. Managers were surprised and read it as a sign that he cared, and it meant they didn't have to guess what he was thinking.

He admits this is harder in practice than on paper. He hates change and takes years to adapt; the host teases that NeetCode still runs on Angular. He learned soft skills slowly and is still learning them, but credits them for his promotion and for his team liking him, adding that it's important to be likable.

For inspiration, he names Martin Fowler, whose book he loves because it goes deep and still ends each chapter with a hundred references for follow-up questions. He relates more to scientists and researchers than to engineers. He draws on YouTubers, technical people, and former colleagues, deliberately identifying qualities he admires and trying to imitate them.

In closing, the host highlights what stood out to him. Singh, who runs one of the largest coding-prep sites, hires for motivation, the ability to explain one's own reasoning, and above all agency. The LeetCode-style interview survives not because it predicts performance but because nothing better has been found that scales. And effort is becoming a differentiator precisely because AI has made everything else cheap. Anyone can prompt a design, a feature, or an answer, but no one can prompt caring, or the ability to explain their choices when asked, "Why did you do it this way?"