Boris Cherny's Career: Generalist Skills, AI Augmentation, and Mission-Driven Engineering
TL;DR
- Building credibility in a new organization requires consistently earning trust through technical contributions, as demonstrated by the author's focus on coding and delivering value in the Instagram Tokyo office despite time zone challenges.
- The principle of "latent demand" drives successful product development by identifying and capitalizing on existing user behaviors, rather than forcing users into new actions, as seen with Facebook Marketplace and Dating.
- Embracing a generalist mindset, where engineers possess skills beyond coding such as product sense and user research, fosters innovation and adaptability, a philosophy championed by the author and implemented at Anthropic.
- Proactively addressing technical debt and infrastructure limitations, like rewriting Facebook Groups in JavaScript and migrating Instagram to Hack, creates opportunities for influence and shapes the direction of platform development.
- Leveraging AI coding tools like Claude Code transforms engineering workflows from manual code writing to orchestrating AI agents, enabling engineers to achieve significant output with less direct coding.
- Prioritizing "unshipping" features that do not meet usage bars is crucial for maintaining product clarity and user experience, even if it means disappointing a small user segment.
- The most impactful technical growth often stems from side projects and personal curiosity, as demonstrated by the author's deep dives into TypeScript and functional programming, which informed their broader engineering philosophy.
- Effectively managing large-scale projects requires bottom-up problem identification and gradual scaling, rather than immediate large headcount allocation, to ensure product-market fit and efficient resource utilization.
Deep Dive
Boris Cherny's career trajectory highlights a profound shift in software development, moving from a traditional engineering focus to a product-centric, AI-augmented approach. His journey underscores the increasing importance of generalist skills, adaptability to rapidly evolving technology, and the strategic application of AI tools to amplify individual and team output. The implications of this evolution suggest a future where engineering roles are less about manual coding and more about orchestrating intelligent systems and solving complex problems with novel approaches.
Cherny's early career at Meta exemplifies the value of generalist engineers who can operate across disciplines. His involvement in projects like "chats and groups" demonstrates an ability to identify and capitalize on "latent demand" -- user behaviors that reveal unmet needs, which can then be productized. This approach, where user actions inform product development, proved successful across various Meta products, including Marketplace and Facebook Dating. His experience also highlights the challenges of cross-organizational collaboration, particularly when differing values, such as Meta's speed-vs-Messenger's reliability, create friction. Cherny's promotion stories reveal a pattern of proactive engagement, whether by taking on ambitious migration projects like rewriting Facebook Groups in JavaScript to leverage the Comet framework, or by deeply understanding and influencing core infrastructure, such as developing optimistic UI updates for Relay mutations. These initiatives, often driven by a desire to improve engineering excellence and address systemic issues, not only advanced his career but also shaped the technical direction of the organization.
A critical theme throughout Cherny's narrative is the power of "side quests" and personal projects. His work on Unducks, a simpler React state management framework, and his deep dive into TypeScript, including writing a book and organizing meetups, demonstrate how personal curiosity and a desire to solve problems can lead to significant professional growth and influence. These endeavors reveal a core principle: identifying common problems faced by others and building solutions, which then serve as leverage for both individual and team productivity. This "better engineering" philosophy, as he terms it, not only improves developer experience but also builds credibility and expands an engineer's network and influence. His advice to aspiring engineers emphasizes practical, hands-on learning and the development of "common sense" and "spidey senses" to identify problems and opportunities, rather than solely focusing on academic theory or formal level progression.
The transition to Anthropic marks a significant pivot toward mission-driven work, particularly in the rapidly evolving field of AI safety. Cherny's fascination with LLMs, spurred by early encounters with ChatGPT, led him to Anthropic with a desire to contribute to the responsible development of AI. This move emphasizes a shift from optimizing product features to addressing existential risks. The success of Claude Code, which he spearheaded, illustrates the impact of building for future models rather than current capabilities, a strategy that yielded significant productivity gains for Anthropic engineers. The narrative around Claude Code highlights that AI coding tools are not just for writing code but can be applied across diverse functions, from data science to sales, democratizing access to complex tasks and transforming workflows.
Cherny's reflections on productivity underscore the transformative impact of AI tools. His current approach centers on orchestrating AI agents rather than solely writing code manually. This evolution suggests a future where engineers act more as system architects and AI supervisors, leveraging tools like Claude Code to automate toil and accelerate development. The emphasis on "common sense" and "mission" as guiding principles, coupled with the strategic use of AI, positions his career as a blueprint for navigating the complexities of modern software engineering and the burgeoning AI landscape.
Action Items
- Audit authentication flow: Identify and mitigate 3 common vulnerability classes (SQL injection, XSS, CSRF) across 10 critical endpoints.
- Create runbook template: Define 5 essential sections (setup, common failures, rollback, monitoring, escalation) to standardize operational knowledge and prevent silos.
- Implement mutation testing: Target 3 core modules to uncover untested edge cases beyond standard coverage metrics, enhancing code robustness.
- Track 5-10 high-variance events per project iteration to measure impact and identify systemic issues.
- Measure team strength disconnect: For 3-5 teams, calculate the correlation between win-loss records and underlying performance metrics to assess evaluation accuracy.
Key Quotes
"latent demand i think is the single most important principle in product and i think if you look at especially at facebook's successful products every single one has an element of latent demand so for example marketplace it came from this observation that if you looked at facebook groups at the time 40 of the posts were buying and selling stuff and so facebook groups were not designed for commerce but that's what people were using it for"
Boris Cherny explains that latent demand is crucial for product success, highlighting how Facebook Marketplace emerged from observing users already engaging in buying and selling within Facebook Groups. This demonstrates Cherny's principle of identifying and capitalizing on existing user intent rather than trying to force new behaviors.
"i think this is so important and i think to this day you know on the claude code team and this is the team that i'm on right now we really prioritize generalists so i love working with generalists if you're an engineer that codes but you can also do product work you can also do design you have product sense you go you want to go talk to your users like i love this kind of engineer to work with and this is actually how we recruit for all functions now so like our product managers code our data scientists code"
Boris Cherny emphasizes the value of generalist engineers, stating that his current team at Anthropic prioritizes individuals who can code, contribute to product decisions, and engage with users. Cherny illustrates this by noting that even product managers and data scientists on his team also code, reflecting his belief in cross-functional capabilities.
"i think that fundamentally if you want to get companies with really different values to succeed and kind of work together you have to find some kind of shared goal or kind of shared interest shared belief some kind of hypothesis that they want to test together that would be really interesting for both of them if it worked"
Boris Cherny discusses the challenges of inter-organizational collaboration, particularly when different teams have opposing values and goals. Cherny suggests that successful collaboration requires identifying a shared objective or hypothesis that benefits both parties, rather than solely focusing on individual team priorities.
"i think the biggest thing i think the biggest failure mode that i've seen is people just taking too long and getting too into the weeds there's always an infinite number of details just start with the high level you know most technical scoping you can do within like 30 minutes very very roughly"
Boris Cherny advises against getting bogged down in excessive detail during technical scoping, advocating for a high-level approach that can be completed quickly. Cherny suggests that focusing on the broad strokes first allows for faster progress and avoids getting lost in an infinite number of potential details.
"and i think also like with opus 4 the risks just went way up like if the model can design you know like bio viruses and can do these things that are like really really dangerous and it's not just like you know like the baseline risk is something like election manipulation this is something that you know like at meta was a really big deal this is sort of a risk for kind of a low level model as the models get more dangerous the risks get higher and very quickly you get into this territory where people can use the model to build things that are actually dangerous for humanity"
Boris Cherny highlights the escalating risks associated with advanced AI models like Opus 4, moving beyond societal manipulation to potentially dangerous applications such as designing biological threats. Cherny contrasts these advanced risks with lower-level concerns like election manipulation, emphasizing that increasingly powerful AI poses direct dangers to humanity.
"and i think nowadays when we talk about tips for productivity it's learn how to use cloud code in order to automate toil and also how to use a bunch of quads together to to do work so you're kind of work orchestrating instead of manually writing code"
Boris Cherny explains that modern productivity for engineers involves leveraging AI tools like Claude Code to automate tedious tasks and orchestrate workflows with multiple AI agents. Cherny suggests that the future of engineering lies in managing and directing AI systems rather than solely performing manual coding.
Resources
External Resources
Books
- "Functional Programming in Scala" - Recommended for its approach to teaching coding problem-solving.
Articles & Papers
- "Hacker News" - Mentioned as a source for daily reading.
People
- Boris Cherny - Creator of Claude Code, former Meta principal engineer.
- Ben Mann - Founder at Anthropic, previously worked at other labs.
- Greg Egan - Hard sci-fi author.
- Andy Grove - Former Intel CEO, author of "High Output Management."
- Bob - Senior engineer at Facebook Groups, early engineer on Facebook Groups.
- Will Bailey - Part of the Instagram Tokyo office landing team.
- Nam Guyan - VP of Engineering at Instagram.
- Jeff Huang - Director at Instagram, now a VP.
- Lucas Camera - Worked on code quality and tech debt reduction at Instagram.
- Gabe - Worked on code quality and tech debt reduction at Instagram.
- Joe Pamer - Mentor and friend, formerly at Google.
- Mikey - Early Instagram employee.
- Jake Bolam - Engineer who took a lead role on a data model migration project.
- Tina Schutman - Former manager at Facebook Groups, now at Microsoft.
- Efe - Manager at Facebook Groups.
- Chris Cox - Mentioned in relation to organizational structure at Facebook.
- Zuck - Mentioned in relation to Facebook's focus on communities.
- Steve - Product Manager at Meta who had an idea for chats and groups.
- Shatambri Crystal - One of the first three engineers on the chats and groups project.
- Shapunk - One of the first three engineers on the chats and groups project.
- Jen Chen - Worked on the rewrite of Facebook.com on desktop (Comet).
- Tomachino - Worked on the rewrite of Facebook.com on desktop (Comet), now at Vercel.
- Henry Long - Senior engineer at Facebook Groups.
- Joe Cheetham - Senior engineer at Facebook Groups.
- Yamin - Director hired for the Facebook Groups migration.
- Joseph Carver - Worked on merging Facebook Groups and Pages data models.
- Ryan Dahl - Creator of Node.js.
- Karpathy - Mentioned in relation to an interview about AI coding.
- Brandon - Data scientist at Anthropic.
- Fiona - Manager at Anthropic.
Organizations & Institutions
- Meta - Former employer of Boris Cherny.
- Anthropic - Current employer of Boris Cherny.
- Facebook - Mentioned in relation to early product development and culture.
- Messenger - Product at Meta.
- Facebook Groups - Product at Meta.
- Instagram - Product at Meta, where Boris Cherny worked.
- Pro Football Focus (PFF) - Mentioned as a data source.
- National Football League (NFL) - Professional American football league.
- New England Patriots - Professional football team.
- Bell Labs - Mentioned for its "Member of Technical Staff" title.
- Change.org - Former company of Jen Dolsky.
- Google - Former employer of Joe Pamer.
- Microsoft - Current employer of Tina Schutman.
- YouTube - Mentioned as a potential destination for a former sponsor.
- Vercel - Current employer of Tomachino.
Tools & Software
- Claude Code - AI coding tool created by Boris Cherny.
- Codex - AI coding tool.
- OpenAI - Company associated with Codex.
- Flux - State management framework for React.
- Redux - State management framework for React.
- Unducks - State management framework for React created by Boris Cherny.
- Recoil - State management framework.
- Relay - Data fetching framework.
- TypeScript - Programming language.
- Haskell - Programming language.
- Scala - Programming language.
- PHP - Programming language.
- JavaScript - Programming language.
- Comet - Rewrite of Facebook.com on desktop.
- Puppeteer - Tool for browser automation.
- HHVM - Web serving stack.
- GraphQL - Query language for APIs.
- Python - Programming language.
- Hack - Programming language used at Facebook.
- Docker - Containerization platform.
Other Resources
- Latent Demand - Product principle discussed.
- Marketplace - Facebook product.
- Facebook Dating - Facebook product.
- Claude Code Plugins - Feature of Claude Code.
- Claude Code Agents - Feature of Claude Code.
- Claude Code Mobile App - Feature of Claude Code.
- Claude Code Plan Mode - Feature of Claude Code.
- Claude Code SQL - Use of Claude Code for SQL.
- Claude Code DBT Pipelines - Use of Claude Code for DBT pipelines.
- Claude Code Salesforce Integration - Use of Claude Code with Salesforce.
- Claude Code Terminal Integration - Use of Claude Code with terminals.
- Claude Code Docker Dangerous Mode - Feature of Claude Code.
- Claude Code ASANA Board Setup - Use of Claude Code for task management.
- Claude Code Swarm - Concept of using multiple Claude Code instances.
- Claude Code for Non-Technical Users - Use of Claude Code by non-technical individuals.
- Claude Code for Sales Teams - Use of Claude Code by sales teams.
- Claude Code for Data Scientists - Use of Claude Code by data scientists.
- Claude Code for SQL Querying - Use of Claude Code for SQL.
- Claude Code for Data Analysis - Use of Claude Code for data analysis.
- Claude Code for Writing Code - Primary use case of Claude Code.
- Claude Code for Improving Code - Use of Claude Code to enhance existing code.
- Claude Code for Prototypes - Use of Claude Code for creating prototypes.
- Claude Code for Throwaway Code - Use of Claude Code for temporary code.
- Claude Code for Pairing with Models - Collaborative coding with AI models.
- Claude Code for Writing Code by Hand - Manual coding alongside AI.
- Claude Code for Parameter Naming - Specific coding detail addressed by Claude Code.
- Claude Code for Query Loop Optimization - Optimization of query loops using Claude Code.
- Claude Code for Core Query Loop - Use of Claude Code in core query loops.
- Claude Code for Type Signatures - Importance of type signatures in coding.
- Claude Code for Engineering Excellence - Use of Claude Code to improve engineering practices.
- Claude Code for Automation - Use of Claude Code for automating tasks.
- Claude Code for Reducing Toil - Use of Claude Code to minimize tedious work.
- Claude Code for Work Orchestration - Managing AI agents to perform work.
- Claude Code for Productivity - Impact of Claude Code on productivity.
- Claude Code for LLMs - Relation of Claude Code to Large Language Models.
- Claude Code for AI Coding - AI-assisted coding.
- Claude Code for Autocomplete - AI-powered code completion.
- Claude Code for AI Agents - Use of AI agents in coding.
- Claude Code for Q&A - Use of AI for question answering.
- Claude Code for Scaling Laws - Understanding of model improvement trends.
- Claude Code for Sonnet - AI model.
- Claude Code for Opus 4 - AI model.
- Claude Code for Model Releases - Releasing AI models.
- Claude Code for Safety Research - Research into AI safety.
- Claude Code for Alignment Research - Research into AI alignment.
- Claude Code for Bio-Virus Design - Potential dangerous application of AI.
- Claude Code for Election Manipulation - Societal risk associated with AI.
- Claude Code for Humanity Risks - Existential risks from AI.
- Claude Code for Common Sense - Application of common sense in AI development.
- Claude Code for Mission-Oriented Work - Motivation derived from a clear mission.
- Claude Code for Non-Profit Management - Applying non-profit principles to product development.
- Claude Code for Theory of Change - Framework for achieving goals.
- Claude Code for Connecting Like-Minded People - Facilitating community building.
- Claude Code for Forming Communities - Building communities.
- Claude Code for Product-Market Fit - Achieving product-market fit.
- Claude Code for Technical Debt Reduction - Addressing accumulated technical debt.
- Claude Code for Code Quality - Improving the quality of code.
- Claude Code for Product Impact - Measuring the impact of products.
- Claude Code for People Impact - Measuring the impact on people.
- Claude Code for Eng Excellence - Achieving excellence in engineering.
- Claude Code for Performance Reviews - Evaluating engineer performance.
- Claude Code for Accountability - Holding individuals accountable.
- Claude Code for Finance - Financial considerations in engineering.
- Claude Code for Interesting Projects - Motivation from engaging projects.
- Claude Code for Problem Solving - Addressing and resolving issues.
- Claude Code for Delightful Products - Creating enjoyable user experiences.
- Claude Code for Product Briefs - Documenting product ideas.
- Claude Code for Connectivity - Improving network connectivity.
- Claude Code for Messenger Ideas - Developing ideas for Messenger.
- Claude Code for AI Coding Competition - Competition in the AI coding space.
- Claude Code for Vibe Coding - Informal AI-assisted coding.
- Claude Code for Slop - Drawbacks of AI-generated code.
- Claude Code for Non-Obvious Problems - Identifying hidden issues in AI code.
- Claude Code for Maintainable Code - Writing code that is easy to maintain.
- Claude Code for Thoughtful Lines of Code - Deliberate coding practices.
- Claude Code for Different Approaches - Utilizing various methods for coding.
- Claude Code for Aligning on Plans - Collaborative planning with AI.
- Claude Code for Improving Code - Enhancing AI-generated code.
- Claude Code for Cleaning Up Code - Refactoring AI-generated code.
- Claude Code for Involved Processes - Detailed coding workflows.
- Claude Code for Pairing with Models - Working alongside AI models.
- Claude Code for Writing Code by Hand - Manual coding.
- Claude Code for Parameter Names - Specific coding details.
- Claude Code for Query Loop Optimization - Improving query loop performance.
- Claude Code for Core Query Loop - Use in critical code sections.
- Claude Code for AI Coding Trajectory - Understanding the evolution of AI coding.
- Claude Code for Exponential Progress - Recognizing rapid advancements in AI.
- Claude Code for Non-Technical Users - Accessibility for non-programmers.
- Claude Code for Connecting to Salesforce - Integration with Salesforce.
- **Claude Code for