▶ Watch ↗AI Engineer World's Fair 202518:12
Bio, Work & Ideas
Conference affiliation: Anthropic · 2026
Boris Cherny created Claude Code and is Head of Applications at Anthropic. His approach to coding agents starts with the developer’s existing environment: let the model read a repository, use its tools, change code, and inspect the results. He is also the author of Programming TypeScript, published in 2019.
Boris’s early career included founding BC Design, co-founding C4, and serving as the first engineering hire at ForwardMetrics and AgileMD. He later took responsibility for frontend systems at Turn and frontend architecture at Coatue Management. At Meta, where he worked from November 2017 through August 2024, he became a principal software engineer. His responsibilities included technical leadership for Facebook Groups, server architecture and developer infrastructure at Instagram, and code quality at Meta.
His career interview describes two ways firsthand experience shaped his work. On Chats in Groups, direct usability testing exposed difficulties people encountered using the product. With Undux, his React state-management library, the starting point was frustration with existing development tools shared by other engineers. Building an alternative also required helping the people experiencing those problems adopt it.
His open-source projects address the practical friction of adopting types. json-schema-to-typescript generates TypeScript declarations from JSON Schema, allowing developers to derive types from an existing description of their data. flow-to-typescript converts Flow-annotated files into TypeScript. Its documentation labels the project pre-alpha and identifies differences that prevent equivalent translation of some language features; conversion does not guarantee that every original type constraint survives.
In his React button-props example, Boris explains why independently optional properties can admit combinations a component does not support. A tagged union describes the supported alternatives together, allowing the compiler to reject invalid combinations. Types that prevent invalid states make an interface rule explicit rather than leaving it as an assumption inside the implementation.
Working remotely from Nara, Japan, changed Boris’s role at Instagram. As technical lead for Facebook Groups, he had spent much of his time organizing meetings, writing planning documents, and keeping teams unblocked. Limited overlap with colleagues in the United States and Europe made him less available for urgent coordination. Being removed from those conversations initially stung: access to meetings and early information had helped him feel important.
His Learning to work (very) remotely describes an adjustment through experimentation. Product work was difficult while disconnected from the US-based product organization, and mentoring engineers in another office was difficult without enough local context. Returning to programming proved rewarding. Work on product ideas and Instagram’s Python codebase exposed abstractions that repeatedly slowed engineers down, reliability problems, and gaps in type safety. Fixing these issues gradually made infrastructure and developer experience his main work—a shift he explicitly describes as unplanned.
Boris also learned to hand projects over earlier. When an effort developed substantial coordination needs, he recruited engineers in the US and EMEA to lead it and become its public faces. He initially worried about receiving credit, then found that delegation created opportunities for other engineers while his own contributions remained recognized. Longer written responses anticipated follow-up questions, and shared posts preserved discussions for colleagues across time zones. He still reserved meetings for conversations that needed them and made periodic visits to maintain relationships in person.
Boris joined Anthropic in September 2024. In his 2025 account of Claude Code’s design, he argued that coding models were improving faster than products could accommodate them. The right interface remained an open question. Starting with a terminal gave developers direct access to the model and room to discover workflows, while editor integration, GitHub use, and programmable access supported different environments.
Several working principles make that position concrete:
jq. The agent becomes a component in an existing toolchain. Shell commands and Model Context Protocol integrations extend its abilities without requiring a custom plugin for every task.His January 2026 description of his setup preserves that openness. Boris describes his own configuration as relatively ordinary and says teammates use Claude Code differently. Customization remains available, while useful work should also be possible out of the box.
▶ Watch ↗AI Engineer World's Fair 202518:12
Loading more talks and highlights…