126 slides extracted.
Slide 1 — 0:16 (watch)
![]() | Thank you for joining me today. |
Slide 2 — 0:30 (watch)
![]() | I'm excited to share some lessons I've learned while leading Claude Code and co-work. First, let me introduce myself. |
Slide 3 — 0:36 (watch)
![]() | My name is Fiona Fung, and I lead engineering and product for Claude Code and co-work. |
Slide 4 — 0:42 (watch)
![]() | Before joining Anthropic, I built and led teams at Meta and Microsoft. |
Slide 5 — 0:46 (watch)
![]() | With that, let's dive into some lessons I am excited to share with you. |
Slide 6 — 0:50 (watch)
![]() | I hope you find a few helpful tidbits in this presentation. |
Slide 7 — 0:56 (watch)
![]() | There are five topics I want to cover today. The first is that the bottlenecks have moved. |
Slide 8 — 1:04 (watch)
![]() | As the bottlenecks have shifted, we need to reconsider our team norms and identify which ones require rewriting to adapt to these changes. |
Slide 9 — 1:08 (watch)
![]() | I will discuss how we rolled out the updated team norms. |
Slide 10 — 1:22 (watch)
Slide 11 — 1:36 (watch)
![]() | With that, let's discuss the first topic: the shift. The bottlenecks have changed. |
Slide 12 — 1:42 (watch)
![]() | You'll notice the subtitle: "What served you prior may no longer." This is one of my favorite sayings. |
Slide 13 — 1:46 (watch)
![]() | This growth mindset has been crucial for me, both at Anthropic and in my previous roles at other companies. |
Slide 14 — 1:58 (watch)
![]() | From all the talks this morning, it's clear that the rate of change is increasing. |
Slide 15 — 2:04 (watch)
![]() | It is always helpful to evaluate the team norms and processes you have established. Ask yourself if they are still serving their intended purpose. |
Slide 16 — 2:16 (watch)
Slide 17 — 2:30 (watch)
![]() | We want to conduct reviews, as there is significant activity when engineering bandwidth is a limiting factor. |
Slide 18 — 2:36 (watch)
![]() | When considering our industry, it's important to recognize that this is not the first instance where the bottleneck has shifted. |
Slide 19 — 2:42 (watch)
![]() | Let's travel back to the early 2000s. |
Slide 20 — 2:52 (watch)
![]() | I had just joined Microsoft and was working at Visual Studio. At that time, there was no such thing as cloud computing. |
Slide 21 — 2:58 (watch)
![]() | It sounds crazy now, but cloud computing is so ubiquitous today. Back then, however, there was no cloud. |
Slide 22 — 3:06 (watch)
![]() | I remember how we built Visual Studio in a single server room, where everyone had to be on call for a week. The entire build process operated as a queue. |
Slide 23 — 3:16 (watch)
![]() | You could only merge six pull requests at a time. Whenever one of the tests failed, you had to debug to determine which of those pull requests caused the failure. |
Slide 24 — 3:22 (watch)
![]() | Back then, that was a significant bottleneck. However, with cloud technology and continuous builds, that bottleneck has shifted. |
Slide 25 — 3:28 (watch)
![]() | This represents another shift for us to consider: when coding is no longer the bottleneck, what changes? |
Slide 26 — 3:36 (watch)
![]() | On the cloud code team, coding is no longer the slow part. |
Slide 27 — 3:42 (watch)
![]() | That's why we felt the need to change both the upstream and downstream processes. |
Slide 28 — 3:50 (watch)
![]() | As an example, some of the old bottlenecks included writing code, writing tests, and refactoring. |
Slide 29 — 3:56 (watch)
![]() | When I first joined Cloud Code, I aimed to onboard and address some bugs. |
Slide 30 — 4:02 (watch)
![]() | I decided to try test-driven development, which was a significant trend some time ago. |
Slide 31 — 4:20 (watch)
Slide 32 — 4:34 (watch)
![]() | I always felt eager to build a product and experiment with it. With cloud technology, I decided to revisit test-driven development. I thought, let's write the test, but first, it will fail. |
Slide 33 — 4:40 (watch)
![]() | Let's verify that it fails. This way, I can confirm that the test is actually testing something. |
Slide 34 — 4:52 (watch)
Slide 35 — 5:02 (watch)
![]() | Refactoring is another enjoyable topic. |
Slide 36 — 5:06 (watch)
![]() | I've been on teams where we needed to perform significant refactoring or clean up the software architecture. |
Slide 37 — 5:16 (watch)
Slide 38 — 5:26 (watch)
![]() | Now, when those shifts occur, what new bottlenecks am I beginning to observe? |
Slide 39 — 5:34 (watch)
![]() | Verification is a significant bottleneck, primarily due to the substantial increase in bandwidth. We need to pay even more attention to ensuring correctness. |
Slide 40 — 5:48 (watch)
Slide 41 — 6:00 (watch)
![]() | How is it maintained? This is interesting because the throughput has significantly increased. We also need to consider the cost of maintenance. |
Slide 42 — 6:10 (watch)
![]() | These were some of the old processes that we felt had quietly stopped working. |
Slide 43 — 6:16 (watch)
![]() | I appreciate the phrase "quietly stops working" because it highlights that processes are typically implemented to solve specific problems. |
Slide 44 — 6:24 (watch)
![]() | We often forget to audit our processes and ask whether they are still necessary or serving their intended purpose. For instance, we had to change our planning norms. |
Slide 45 — 6:42 (watch)
Slide 46 — 6:54 (watch)
![]() | I receive many questions about this topic as well. |
Slide 47 — 6:58 (watch)
![]() | Team makeup is evolving, and roles are becoming less distinct. We need to consider the skill sets that are becoming increasingly important. |
Slide 48 — 7:04 (watch)
![]() | We are focusing on specific skill sets and emphasizing knowledge sharing. This raises the question of what happens when documentation is no longer your primary source of truth. |
Slide 49 — 7:14 (watch)
![]() | Given these shifts, we needed to rewrite some of our team norms. |
Slide 50 — 7:22 (watch)
![]() | We discussed code review, and Kat mentioned Cloud Code Review in her talk this morning. It is an incredible tool that helps us ensure we are making the right decisions. |
Slide 51 — 7:34 (watch)
![]() | Onboarding has changed significantly. I will share my onboarding story. Planning is essential. When coding is no longer a bottleneck, it shifts our planning, hiring, and organizational structure. |
Slide 52 — 7:44 (watch)
![]() | Org shape is an interesting topic. We aim to maintain a more agile and flatter organizational structure. |
Slide 53 — 7:50 (watch)
![]() | Every manager in Cloud Code started as an individual contributor first. |
Slide 54 — 7:54 (watch)
![]() | With that, how have our planning and technical debates changed? |
Slide 55 — 8:00 (watch)
![]() | In technical debates, code wins. Building is inexpensive, while arguing is costly. |
Slide 56 — 8:08 (watch)
Slide 57 — 8:26 (watch)
Slide 58 — 8:34 (watch)
![]() | Boris and I often engaged in productive technical debates. I focused on understanding the impact of our decisions on our colleagues rather than just the implementation details of the code. |
Slide 59 — 8:42 (watch)
![]() | Prototyping is essential. Whenever we have an idea, we should go ahead and create a prototype. |
Slide 60 — 8:48 (watch)
![]() | Let's go ahead and use it ourselves, and then we'll try it out. |
Slide 61 — 8:56 (watch)
![]() | I remember having a prototyping conversation many years ago in another team. There were two camps in the debate. One camp believed that prototyping is great. |
Slide 62 — 9:10 (watch)
Slide 63 — 9:22 (watch)
![]() | It is not built to scale. |
Slide 64 — 9:28 (watch)
![]() | Prototyping with Claude is an effective way to get started, as it allows us to iterate and learn. |
Slide 65 — 9:32 (watch)
![]() | Thanks to the model's assistance, we can scale a prototype to production much faster. |
Slide 66 — 9:42 (watch)
![]() | One thing we reduced on the Cloud Code team is the reliance on extensive design documents and in-depth planning. |
Slide 67 — 9:52 (watch)
![]() | Most of our discussions occur in pull requests or prototypes. |
Slide 68 — 10:00 (watch)
![]() | The engineering bandwidth has increased, and coding is no longer a bottleneck. Therefore, we want to focus on verification. |
Slide 69 — 10:08 (watch)
Slide 70 — 10:22 (watch)
![]() | For example, it’s frustrating when I hear from our customers and developers that they encountered a bug in the code. I always think, "I wish we had caught it first." |
Slide 71 — 10:34 (watch)
Slide 72 — 10:44 (watch)
Slide 73 — 11:00 (watch)
![]() | What are you trying to answer? Are you looking for someone who caused a regression or someone to answer a specific question? |
Slide 74 — 11:10 (watch)
Slide 75 — 11:22 (watch)
![]() | I have a routine that consolidates all the feedback and helps me identify themes. |
Slide 76 — 11:30 (watch)
![]() | How do you keep up with code reviews? |
Slide 77 — 11:38 (watch)
Slide 78 — 11:48 (watch)
Slide 79 — 11:58 (watch)
![]() | It's still crucial to have a human in the loop. |
Slide 80 — 12:06 (watch)
![]() | In code reviews, human involvement remains crucial, particularly in legal reviews and other areas where risk tolerance is a significant factor. |
Slide 81 — 12:14 (watch)
![]() | When examining trust boundaries, the principle of "trust but verify" is crucial, as humans contribute essential expertise in this area. |
Slide 82 — 12:26 (watch)
![]() | Product sense and taste is another interesting aspect. Last December, I wanted to update Claude in our CLI to give it a holiday theme, and I was ambitious. |
Slide 83 — 12:34 (watch)
Slide 84 — 12:58 (watch)
Slide 85 — 13:22 (watch)
Slide 86 — 13:34 (watch)
![]() | I want to discuss product sense. After my talk in San Francisco, many engineers approached me with the question of how to develop this product sense muscle. |
Slide 87 — 13:56 (watch)
Slide 88 — 14:16 (watch)
Slide 89 — 14:36 (watch)
![]() | For me, Product Sense is developed through extensive dogfooding, along with iterating, shipping, and engaging with customers. |
Slide 90 — 14:48 (watch)
![]() | One of my personal passion projects is working with small businesses. I love small businesses because I believe they are the lifeblood of our community. |
Slide 91 — 14:54 (watch)
![]() | We recently announced Cloud for Small Business, a project I am very excited about. |
Slide 92 — 15:00 (watch)
![]() | I have many friends who run restaurants, and they work incredibly hard. |
Slide 93 — 15:08 (watch)
Slide 94 — 15:20 (watch)
Slide 95 — 15:32 (watch)
![]() | If you don't dogfood your products, you may end up making product decisions based solely on metrics, dashboards, or PowerPoints. |
Slide 96 — 15:40 (watch)
![]() | We emphasize the importance of dogfooding, or as we refer to it at Anthropic, "ant food." |
Slide 97 — 15:50 (watch)
Slide 98 — 16:02 (watch)
![]() | There is often a wait because engineering prioritizes building products and fixing bugs. Designers wonder when there will be time to implement polish. |
Slide 99 — 16:10 (watch)
![]() | Designers on Cloud Code utilize the platform to implement many of those polish fixes, which accelerates the iterative loop significantly. |
Slide 100 — 16:34 (watch)
Slide 101 — 16:58 (watch)
![]() | This slide focuses on management. When I first joined Cloud Code, one of my initial changes was to collaborate with the recruiting team, as I strongly believe in dogfooding. |
Slide 102 — 17:10 (watch)
![]() | At Cloud Code, we use Cloud to build Cloud, and we utilize Cloud Code to develop Cloud Code. Every manager begins their journey as an individual contributor. |
Slide 103 — 17:34 (watch)
Slide 104 — 17:54 (watch)
![]() | Onboarding always involved a slight hesitation, as it could be daunting if you hadn't done it in a while. |
Slide 105 — 18:00 (watch)
![]() | Speaking for myself, I remember when I onboarded to Claude; it was a significantly different experience. |
Slide 106 — 18:08 (watch)
![]() | In terms of knowledge sharing, the code becomes our new source of truth. |
Slide 107 — 18:14 (watch)
![]() | When I was onboarding to Claude, I found that the code serves as our source of truth. |
Slide 108 — 18:22 (watch)
![]() | When I join a new team, I meet with all the engineers to discuss what's on their minds. In the past, I would conduct technical deep dives, but now our conversations focus more on current priorities. |
Slide 109 — 18:34 (watch)
Slide 110 — 18:46 (watch)
![]() | What about the areas surrounding that bug as well? |
Slide 111 — 18:54 (watch)
Slide 112 — 19:08 (watch)
Slide 113 — 19:24 (watch)
![]() | To roll out all these changes on the Cloud Code team, it was crucial for us to align as a team on certain key aspects. |
Slide 114 — 19:32 (watch)
![]() | We also want to ensure we provide space for bottom-up input, as each team focuses on different aspects and may have varying toolchains that resonate more with their specific needs. |
Slide 115 — 19:44 (watch)
![]() | We aligned on several must-do principles with the teams, which we refer to as our Cloud Code team principles and forcing functions. |
Slide 116 — 19:54 (watch)
![]() | This slide is outdated. It should reflect that every teammate, not just engineers, uses Cloud Code and collaborates effectively. Using our product daily has been crucial for us. |
Slide 117 — 20:14 (watch)
Slide 118 — 21:10 (watch)
Slide 119 — 22:06 (watch)
Slide 120 — 23:02 (watch)
Slide 121 — 23:26 (watch)
![]() | The PR cycle time should decrease, but it's important to analyze it in detail. Break it down into the various stages involved in a PR process. |
Slide 122 — 23:44 (watch)
Slide 123 — 24:18 (watch)
Slide 124 — 25:00 (watch)
Slide 125 — 25:58 (watch)
Slide 126 — 26:30 (watch)
![]() | Transcribed by Otter.ai |





























































































































