Boris Cherny is the creator and Head of Claude Code at Anthropic. He previously spent five years at Meta as a Principal Engineer and wrote the book Programming TypeScript. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).

Visual summary of operating lessons from Boris Cherny.

Part 1: Mastering TypeScript and Static Systems

  1. On Scaling JavaScript: "Any programmer working with a dynamically typed language will tell you how hard it is to scale to more lines of code and more engineers." — Source: Goodreads
  2. On TypeScript's Primary Value: The publisher overview says readers will "understand how TypeScript can help you eliminate bugs in your code and enable you to scale your code across more engineers than you could before," and that it "makes programming fun with its powerful static type system." — O'Reilly, Programming TypeScript (2019), overview.
  3. On Gradual Typing: In SE Radio 384, Cherny explains that TypeScript is a "gradually typed" language, which lets you add compile-time verification to a JavaScript project bit by bit. — Software Engineering Radio 384: Boris Cherny on TypeScript (2019).
  4. On What Types Buy You: Cherny promises to teach readers how to use types "to make your programs crash less, document your code better, and scale your applications across more users, engineers, and servers." — Programming TypeScript (O'Reilly, 2019), Preface.
  5. On Catching Mistakes Before They Run: The preface says that tracking down exceptions is the shared experience that TypeScript helps prevent "by examining your code automatically and pointing out the mistakes you may have missed." — Programming TypeScript (O'Reilly, 2019), Preface.
  6. On Being Practical: SE Radio 384 describes TypeScript as aiming to be practical by catching common mistakes without adding too much burden on the programmer. — Software Engineering Radio 384: Boris Cherny on TypeScript (2019).
  7. On Escape Hatches: The same episode covers structural typing, type refinement and programmer intuition, and when to use "escape hatches" and how to ban them. — Software Engineering Radio 384: Boris Cherny on TypeScript (2019).
  8. On Teaching Clearly: Cherny writes that he will "try to avoid big words when I can, and explain ideas in a way that's intuitive, memorable, and practical, using lots of examples along the way to help keep things concrete." — Programming TypeScript (O'Reilly, 2019), Preface.
  9. On Why Gradual Type Layers Exist: The overview explains that Facebook, Google, and Microsoft invented gradual static type layers for their dynamically typed JavaScript and Python code, and presents TypeScript as unique among them. — O'Reilly, Programming TypeScript (2019), overview.

Part 2: The Evolution of Engineering Leadership

  1. On the Printing-Press Moment: Cherny compares this moment to the printing press: scribes were a tiny literate elite, and he wonders whether the software engineers of today could likewise be building systems that reach far more people than before. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  2. On Prototypes Replacing PRDs: On the Claude Code team, Cherny says of Cowork: "There's just no way we could have shipped this if we started with static mocks and Figma or if we started with a PRD." The team built dozens of working prototypes first. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  3. On Generalist Talent: "I love working with generalists. If you're an engineer that codes but can also do product work, design, and have product sense, you want to talk to your users. I love this kind of engineer to work with." Source: Developing.dev
  4. On Titles: Everyone at Anthropic has the same title, Member of Technical Staff. Cherny says it "kind of inverts this relationship between people, even if you don't know each other well yet." — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  5. On Recruiting for Every Function: Cherny says of the Claude team: "This is how we recruit for all functions now. Our product managers code, our data scientists code, and our user researchers code a little bit." — The Peterman Post: Boris Cherny on how his career grew (transcript).
  6. On the Year of the Generalist: Cherny says his work has shifted: "It's not so much about deep work, it's about how good I am at context switching and jumping across multiple different contexts very quickly." — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  7. On Latent Demand: Cherny calls latent demand "the single most important principle in product": look at what people use a product for that it was not designed for, then build for that. — The Peterman Post: Boris Cherny on how his career grew (transcript).
  8. On Building for Abuse: Cherny describes building a product "in a way that is hackable, that is kind of open-ended enough that people can abuse it for other use cases it wasn't really designed for," then building for what you see. — Every, "How to Use Claude Code Like the People Who Built It" (transcript, 2025).
  9. On Staying Close to Decisions: Cherny says every big company loses common sense over time: "the decision makers get more distant from the impact of their decisions, whether it's the product or the people." — The Peterman Post: Boris Cherny on how his career grew (transcript).
  10. On Fixing Infrastructure First: At Meta, when Cherny moved to Instagram and found that click-to-definition and the type checker were broken, he went to Dev Infra rather than shipping features, because you can't build great products on a terrible foundation. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).

Part 3: High-Performance Product Development

  1. On Finishing Migrations: Cherny's Meta lesson on code quality: "always make sure that when you start a migration, you finish the migration." Partially migrated codebases confuse models as well as people. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  2. On Product Overhang: Cherny's framing: today's models can do things nobody has yet built a product to let them do. He calls this "product overhang" and describes products that get in the way of the model as "hobbling" it. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  3. On the Simplest Possible Harness: Cherny says Claude Code began by getting rid of the scaffolding and giving the model the simplest possible harness so it could write an entire file at a time and build an entire feature. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  4. On Agentic Search: Cherny: "It turned out that agentic search just outperformed everything. And when I say agentic search, it's a fancy word for glob and grep. That's all it is." — The Pragmatic Engineer podcast transcript, "Building Claude Code with Boris Cherny" (2026, auto-generated).
  5. On Unshipping Tools: Cherny: "we want to unship tools and kind of keep it simple for the model." The team recently unshipped the LS tool. — Every, "How to Use Claude Code Like the People Who Built It" (transcript, 2025).
  6. On Scaffolding Moving Into the Model: Cherny: "stuff that used to be scaffolding with a more advanced model, it gets pushed into the model itself." He says the boundary of what needs plan mode has moved as models improved. — Every, "How to Use Claude Code Like the People Who Built It" (transcript, 2025).
  7. On Deleting Prompts with Each Model: Cherny: "Every time that a new model comes out, we delete a bunch of the system prompt." Something that worked for a model three months ago might not translate to the next one. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  8. On Adding Instructions Back Slowly: When rebuilding a prompt for a new model, Cherny says to delete first, use it, and "only when you see it repeatedly stumble on the same thing, that's when you add it back." — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  9. On Harder Tasks: Cherny: "you should give the model slightly harder tasks than what you think it can do." — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  10. On Not Over-Specifying: Cherny says a common mistake is giving the model overly specific step-by-step instructions; instead describe the task, the guardrails and the exit criteria, and let the model work. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).

Part 4: AI-Native Engineering Workflows

  1. On Parallel Sessions: Cherny: "I run 5 Claudes in parallel in my terminal. I number my tabs 1-5, and use system notifications to know when a Claude needs input." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  2. On Plan Mode: Cherny: "Most sessions start in Plan mode." He goes back and forth with Claude until he likes the plan, then switches to auto-accept edits mode and "Claude can usually 1-shot it." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  3. On a Shared CLAUDE.md: Cherny: "Our team shares a single CLAUDE.md for the Claude Code repo. We check it into git, and the whole team contributes multiple times a week." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  4. On Verification: Cherny: "probably the most important thing to get great results out of Claude Code -- give Claude a way to verify its work. If Claude has that feedback loop, it will 2-3x the quality of the final result." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  5. On Using the Strongest Model: Cherny used Opus 4.5 with thinking for everything in January 2026: "since you have to steer it less and it's better at tool use, it is almost always faster than using a smaller model in the end." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  6. On Slash Commands: Cherny: "I use slash commands for every 'inner loop' workflow that I end up doing many times a day. This saves me from repeated prompting, and makes it so Claude can use these workflows, too." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  7. On Permissions: Cherny: "I don't use --dangerously-skip-permissions. Instead, I use /permissions to pre-allow common bash commands that I know are safe in my environment." — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  8. On Automating Code Review: At Meta, every time Cherny left the same kind of review comment he logged it in a spreadsheet, and once a pattern hit three or four occurrences he wrote a lint rule to automate it away. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).
  9. On Compounding Instructions: Cherny: "Anytime we see Claude do something incorrectly we add it to the CLAUDE.md," and he often tags Claude on coworkers' pull requests to add lessons as part of the PR. — Boris Cherny on X: "How I use Claude Code" thread (Jan 2, 2026).
  10. On Code Quality and Productivity: At Meta, Cherny led causal analysis showing that clean codebases have a measurable, double-digit-percent impact on engineering productivity, according to the Pragmatic Engineer summary. — The Pragmatic Engineer: Building Claude Code with Boris Cherny (2026).

Part 5: Career Philosophy and the Future of Work

  1. On Verification as the Hard Part: Cherny calls verification "probably the single most important thing that people do not get right," and says the skill now is less prompt engineering than giving the model a hard task and letting it check its own work. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  2. On Being Empirical: Cherny: "Look at the model, try to do a task, see where it struggles, and then based on that adjust." He says it has become an empirical science rather than a theoretical one. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  3. On the Limits of "Solved": Cherny says coding is solved "for the kind of coding that I do," not for everyone: deep systems code, distributed systems and pixel-level UI verification still trip the model up. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  4. On Learning Practically: Cherny: "I learned computer science practically." He first learned to code on a TI-83 calculator to solve a particular problem, and advises applying computer science, not only studying it. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  5. On Skills Beyond Code: Cherny's advice for students: learn to apply computer science by building startups and products, developing design and business sense, doing data science and learning how to talk to users. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  6. On Deleting Your Own Setup: Cherny tells Claude Code users: every six months, delete your CLAUDE.md, your skills and your hooks, see what the model does, and add back only what it needs. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  7. On an Algebra for Agents: Cherny says dynamic workflows in Claude Code were designed from his functional-programming background as "essentially an algebra for agents," with ways to run agents in sequence and in parallel. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  8. On Routines That Maintain Code: Cherny describes routines that run daily to clean up dead code, ship finished experiments, add or remove tests and unify near-duplicate abstractions, working toward automating maintenance of the apps. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  9. On Rewriting Bun: Cherny recounts that a Bun team member had the model rewrite the runtime from Zig to Rust against its test suite; it ran for 11 days with steering. — Y Combinator Startup School 2026: Boris Cherny with Diana Hu (auto-captions).
  10. On Claude Code Writing Itself: Cherny: "At this point, most of Claude Code is written using Claude Code. I think it's like 80 or 90%." — The Peterman Post: Boris Cherny on how his career grew (transcript).