FounderFiles·N°007·Agentic engineering · The Bitter Lesson
Sep 2024 —
Subject·Boris Cherny·Head of Claude Code · ex-Principal Engineer, Meta · author, Programming TypeScript
Boris Cherny.
He refused to scaffold the model — surrounded it instead with a quiet temple of permission gates and recovery logic — and watched the model write its own commercial sibling in ten days.
He studied economics, not computer science. He spent six years building Instagram’s server infrastructure and authored the canonical TypeScript book on the side. In September 2024 he joined Anthropic, wrote a terminal hack in a few days, and watched it eat 100 percent of his employer’s pull requests inside a year. Late in 2025 he opened that hack and asked it to build a new product. Ten days later Claude Cowork shipped — every line authored by the agent he had built. He had asked the machine to build the machine. The machine complied. A framed copy of Richard Sutton’s Bitter Lesson reportedly sits near his team’s desks, the way another man might keep a religious text.
From Punch Cards to Pokémon Cards
Cherny was born in Ukraine; his family emigrated from Odessa to the United States in 1995. Programming ran in the family — his grandfather was among the early Soviet programmers, working with the stacks of punch cards that a young Cherny remembered around the house. His own entry point was characteristically pragmatic: as a kid he taught himself HTML by editing his eBay listings to sell Pokémon cards, discovering that a single blink tag measurably increased his sales. The lesson — that code is a means to build useful things, tuned against real-world feedback — never left him.
He went on to study Economics, not computer science, at the University of California, San Diego between 2009 and 2011, before dropping out to co-found a series of startups. That grounding in resource allocation became a lasting lens: he treats token consumption, compute budgets, and inference cycles as macro-economic optimization problems rather than purely algorithmic ones.
The publication of Programming TypeScript: Making Your JavaScript Applications Scalevia O’Reilly Media in 2019 established his structural authority. The textbook served as an empirical proof-of-concept that static type safety could mitigate runtime non-determinism across global development teams.
| ORGANIZATION | ROLE & TENURE | ARCHITECTURAL CONTRIBUTIONS |
|---|---|---|
| BC Design | CEO (2005–2011) | Executed early entrepreneurial ventures; established self-taught systems design. |
| ForwardMetrics / AgileMD | Software Engineer #1 (2011–2013) | Architected baseline product matrices and structural platforms from point zero. |
| Turn | Lead Software Engineer (2014) | Directed frontend interfaces for complex, high-throughput Data Management Platforms (DMP). |
| Coatue Management | Frontend Architect (2015–2017) | Guided technical decisions and systemic user interfaces for global financial modeling systems. |
| Meta (Instagram) | Principal Engineer (2017–2024) | Led core server architecture and developer infrastructure for Instagram across complex systems. |
| Cursor | Engineering Role (2024) | Brief two-week tenure investigating alternate embedded-IDE structural models. |
| Anthropic | Head of Claude Code (2024–Pres.) | Designed and scaled terminal-native agentic loop to process enterprise workflows natively. |
Deterministic Constraints & Open Source Foundations
Because Large Language Models are fundamentally probabilistic and prone to drift, Cherny leverages rigid compilers, strict linters, and open-source automated validation suites to ground execution. His history as a prolific contributor to the open-source software ecosystem underpins the functional verification mechanics built directly into Claude Code.
Compiles raw JSON Schema documents directly into strict, typesafe TypeScript code declarations automatically.
A highly predictable, lightweight state management framework for React applications leveraging Hooks.
A structural system engineered to systematically migrate legacy Flow codebases into strict TypeScript.
A deeply typesafe implementation of an RxJS-based Event Emitter for asynchronous message processing.
From Clyde Prototype to Terminal Agency
Claude Code evolved from a constrained internal Python script known as “Clyde.” While Clyde possessed basic coding logic, it operated linearly and required human engineers to manually format prompts, paste context logs, and isolate file blocks. The system completely lacked operational autonomy.
The architecture shifted when Cherny’s team provided the core model with direct, tool-wielding terminal execution paths. By utilizing an autonomous loop linked to a Bash shell, local editing functions, and the Model Context Protocol (MCP), the model moved from a text generator to an environment actor. Rather than waiting for an engineer to report a stack trace, Claude Code independently triggers build tools, monitors output, diagnoses logic errors, and re-runs compilers until validation is achieved.
The Total Rejection of RAG for Agentic Search
A defining engineering choice within Claude Code was the complete abandonment of Retrieval-Augmented Generation (RAG) and local vector semantic indexing for codebase ingestion. Traditional systems use embedding algorithms to split codebases into text fragments stored within vector databases. Cherny discovered through testing that this method breaks down in rapidly changing production codebases.
Vector databases suffer from immediate state drift and indexing lag during multi-file branches, Git checkouts, or major refactoring passes, causing agents to reference corrupted text structures. Claude Code completely replaces the vector layer with native system-level utilities—specifically standard Unix glob and grep protocols executed directly within the live workspace terminal.
When locating dependencies or mapping function definitions, the model acts exactly like a human engineer, executing targeted, regular-expression-driven searches against the actual file system. This ensures the model operates strictly on real-time ground truth.
Uncorrelated Context Windows & Best-of-N Filters
To protect performance against context window degradation during prolonged sessions, Claude Code utilizes a framework of uncorrelated context windows. When a single model instance processes long streams of terminal error text and intermediate reasoning passes, its logic focus degrades. Claude Code addresses this by empowering a master orchestrator agent to spawn isolated sub-agents for specific sub-tasks.
Each sub-agent receives a clean, completely empty context window containing only the immediate prompt parameters. It operates with high focus, returning its final code diff to the orchestrator before closing down, keeping the primary tracking prompt clear of logging overhead.
For highly critical security passes, the framework invokes a parallel Best-of-$N$ verification pattern. If an individual agent has a probability $P$ of identifying a specific logic or security vulnerability, running $N$ parallel independent agents across the exact same codebase increases the detection threshold significantly. To prevent overwhelming output data, secondary deduplication check-agents cross-reference the parallel findings against the compiler state, filtering out false positives before code commits occur.
The Three-Layer Defense & Swiss-Cheese Isolation
Providing an autonomous system with shell-level interaction capabilities introduces structural risks like indirect prompt injection. To isolate the execution loop, Cherny deployed a three-layer sandboxing security architecture:
Engineers specify explicit boundaries using local .claude/settings.jsonfiles, enabling automated execution for authorized pathways while halting unknown execution sequences. The UK Artificial Intelligence Safety Institute confirmed that an Anthropic preview engine cleared their end-to-end cyber tracks—including the complex “Cooling Tower” configuration.
Git Worktree Isolation & Compounding Engineering
To prevent resource collisions inside active repositories, Cherny standardizes an infrastructure running five parallel instances of Claude Code across isolated Git Worktrees simultaneously. This workflow lets different instances operate on independent checkouts without full repository duplication. While one instance handles database migrations, a second fixes frontend blocks, and a third builds unit test configurations. Engineers transition between tabs with terminal aliases (za, zb, zc), validating permissions and unblocking isolated paths.
Complex engineering changes utilize Plan Mode, activated by striking shift+tab twice. This system forces the underlying model to generate an explicit architectural sequence plan before editing local files. Once reviewed and accepted by the operator, the tool transitions to auto-execution.
This output loop is optimized by deterministic feedback mechanisms like PostToolUse hooks, which run code auto-formatters (e.g., bun run format || true) immediately following any local file modification. Persistent organizational memory is anchored by a repo-level CLAUDE.md file, tracking architectural guidelines and design principles to ensure subsequent agents avoid recurring syntax patterns across isolated developer environments.
The Obsolescence of the Graphical IDE
As model intelligence scaled, Cherny completely uninstalled his graphical IDE environment. Traditional desktop text editors are optimized for human optical layout parsing and slow manual keyboard tracking. When an autonomous tool edits directories, traces dependencies via CLI commands, handles tests, and builds pull requests independently, visual environments become less essential.
Cherny views intensive engineering investment into embedded IDE graphical interfaces as building “sandcastles against improving models.” The raw terminal functions as a clean, universal interface across local machines, continuous integration systems, and cloud clusters without rendering pipeline overhead.
This decoupled architecture enables cross-platform fluidity. The core engine drives the local CLI, web systems, and the native iOS app identically. Engineers can launch large background refactoring procedures directly from mobile devices; the mobile app links commands back to desktop clients that verify UI changes via headless Chrome engines and submit finalized pull requests before the operator returns to their station.
The 100x Builder Expansion & Deflationary Output Economics
The widespread enterprise deployment of autonomous coding systems alters the traditional economic value of manual syntax production. While standard industry forecasts focus on talent displacement thresholds, Cherny predicts a 100x multiplier in the absolute volume of human software builders globally. As technical syntax and framework-specific lifecycle boundaries are handled by agents, individuals with deep domain logic can drive complex technical platforms without software engineering degrees.
This shifts operations into a development style termed “vibe coding,” where manual typing is replaced by strategic context-switching, prompt boundary management, and high-level architectural oversight across parallel worker tracks.
| METRIC COMPONENT | PRODUCTION ENVIRONMENT IMPACT AND METRIC RECOVERY DATA |
|---|---|
| Original Human Estimate | Estimated 231 full days of human developer allocation. |
| Agentic Execution Time | 13 total days of automated model loop operations (~18x compression factor). |
| Delivery Context Volume | A single unified pull request successfully shipping 21 verified enterprise API endpoints. |
| Test Matrix Coverage | 100% test coverage written, analyzed, and verified by the model loop automatically. |
| Post-Deployment Incidents | Achieved a net 5% reduction in total production incidents through automated loop assertions. |
Dynamic Workflows & Configurable Effort Parameters
Recent iterations of Claude Code introduced Dynamic Workflows, built to process multi-stage codebase overhauls that exceed standard prompt sizes. Under this model, the agent generates custom python orchestration scripts to coordinate child instances, distributing complex maintenance passes across fifty parallel threads without human supervision.
This is backed by configurable compute execution tokens via terminal /effort declarations. Complex migrations invoke high or xhighsettings, which allocate longer reasoning windows to trace underlying software architectures before writing file diffs. This system accelerates Anthropic’s internal tooling stacks, creating a loop where the platform systematically refines the infrastructure that trains its next-generation models.
“The product is the model.”
- 2009–2011Studies economics at UC San Diego; drops out to pursue independent startup ventures.
- 2011–2014Serves as foundational engineer at early Bay Area startups; commands frontend architectures at Turn.
- 2015–2017Frontend Architect at Coatue Management, scaling high-volume tech-focused asset platforms.
- 2017–2024Six years at Meta — Principal Software Engineer; builds Instagram server infrastructure and multi-agent systems.
- 2019Publishes Programming TypeScript (O’Reilly) — defining strict type systems at enterprise scale.
- Sep 2024Joins Anthropic as Member of Technical Staff; drafts terminal-based prototype of Claude Code.
- Mid 2024Brief departure to Anysphere / Cursor (~2 weeks) — returns to Anthropic to finalize agentic roadmap.
- Late 2025Claude Code executes 100% of Anthropic’s internal pull requests; unlocks 200% engineer output lift.
- Late 2025Claude Cowork shipped after a ten-day build — 100% of codebase generated autonomously by Claude Code.
- Feb 2026Anthropic closes $30B Series G funding round at a historic $380B post-money valuation.
- Apr 2026Anthropic ARR hits $30B; Claude Code estimated to drive ~4% of all global GitHub production commits.
- —Programming TypeScript (O’Reilly)The canonical TypeScript reference
- 2025Best Practices for Claude Codecode.claude.com/docs →
- 2025Head of Claude Code: What happens after coding is solvedLenny’s Podcast (with Lenny Rachitsky)
- 2025Building Claude Code with Boris ChernyThe Pragmatic Engineer (Gergely Orosz)
- 2025How to Use Claude Code Like the People Who Built ItEvery transcript
- 2026Building a C compiler with a team of parallel Claudesanthropic.com/engineering — the canonical Agent Teams write-up →
- 2025The "think" tool: Enabling Claude to stop and think in complex tool use situationsanthropic.com/engineering →
- 2026Claude Cowork and the Rise of the Super Individual[single-source]Tao An, Medium
Currently Head of Claude Code, Anthropic.
Affiliations.UC San Diego Economics (2009–2011). Meta / Facebook (~6 years; Principal Software Engineer; Instagram server infrastructure). Anysphere / Cursor (briefly, ~2 weeks). Anthropic (September 2024 onward; Member of Technical Staff → Head of Claude Code).
Intellectual antecedent. Richard Sutton — the Bitter Lesson essay (2015) is the algorithmic structural baseline of the Claude Code tool pipeline; a framed copy reportedly sits directly inside the technical workspace team layout.
Collaborators / peers worth naming.Cat Wu — Claude Code product co-lead at Anthropic, frequently framed in media profiles as Cherny’s primary design and product counterpart. Dario and Daniela Amodei (Anthropic founders; high-level organizational execution). Lenny Rachitsky and Gergely Orosz (the long-form interviewers whose podcasts have done the most public work to surface the agentic worldview).
Authored. Programming TypeScript(O’Reilly) — canonical reference for TypeScript and rigorous type systems.
Honors. Public recognition principally via product impact rather than formal industry awards: the Claude Code commercial trajectory, the Anthropic ARR ramp, and the secondary-market valuation surge. Long-form profile coverage in late 2025 and early 2026 across The Pragmatic Engineer, Lenny’s Podcast, Every, 36kr, and The Times of India’s tech desk.
T-Primitive Builder
Opens one engineering spike into a product primitive that becomes the category; ships the thing, then watches the market form around it.
- Credential Path
- Practitioner
- Abstraction
- Bottom Up
- Exit Horizon
- Mid Cycle
- Moat Instinct
- Product Primitive
- Capital Posture
- Venture
- Unix / terminal tooling tradition
- Developer-experience product builders
A small reasoning persona distilled from this file. Inject it into a chat or deep-research context to assess a business problem the way Cherny would.
Reason as a product engineer who ships primitives. Start from a concrete market need, then design the smallest composable thing that answers it and that you would use every day yourself. Describe the tightest build/run/observe loop. Optimize for what it feels like in a practitioner’s hands, not for the pitch deck.
{
"$schema": "https://www.contextjamming.com/schemas/founder-context-v1.json",
"file": "N°007",
"persona": "Boris Cherny",
"archetype": "t-primitive",
"shape": "T",
"one_line": "Ships the smallest agentic primitive that becomes the whole category.",
"cognitive_basis": {
"credentialPath": "practitioner",
"abstractionDirection": "bottom-up",
"exitHorizon": "mid-cycle",
"moatInstinct": "product-primitive",
"capitalPosture": "venture"
},
"operating_questions": [
"What is the market need, and what is the smallest primitive that answers it?",
"What does this actually feel like in production, in my own hands?",
"Where is the loop — what is the tightest build/run/observe cycle I can ship?"
],
"first_principles": [
"Innovate on the product primitive, not the pitch.",
"Dogfood relentlessly; the primitive is right when you cannot stop us
…