The engineering mindset | Will Larson (Carta, Stripe, Uber, Calm, Digg)
7 Jan 2024 · 77 min
Will Larson, CTO at Carta and former engineering leader at Stripe and Uber, talks about engineering leadership, systems thinking, and strategy. He discusses how to hire well, build engineering strategy, and why writing matters for engineers working in high-pressure roles.
But I think that we often treat engineers a little bit like children instead of giving them the responsibilities and ability to actually thrive as adults. And so like, oh, the engineers won't want to do that work. Well, that's actually not good for the engineers to kind of be sheltered from what is important. And so I actually, one of the, I think, highlights is that I think we're coming back to this moment where we can actually treat engineers like our peers and put them into really senior leadership roles and not have this kind of baseline assumption of like, oh, we have to coddle them. or hide them from the real problems. And this is how they're going to get the opportunity to grow as well. Today, my guest is Will Larson, one.
Of the most requested guests I've had on this podcast. Will is currently CTO at Carta. He's been a software engineering leader at Stripe, Uber, and Calm. He's the author of two essential books for all engineers, an Elegant Puzzle and Staff Engineer. And he's releasing his newest book, the engineering executive's primer in February of next year. He also publishes regularly on his blog at lathan.com, which is a must read for every engineer and edge leader. In our conversation, Will shares advice on developing your engineering strategy and strategy in general, how to improve the relationship between an edge manager and a PM, how he finds time to write while also working an intense full-time job, how he recommends approaching measuring engineering productivity, how to develop your company values, an amazing story about his time at Dig, and so much more. Will is such a gem of a human and leader, and I'm excited to bring you this episode. With that, I bring you Will Larson after a short word from our sponsor. Today's episode is brought to you by DX, a platform for measuring and improving developer productivity. DX is designed by the researchers behind frameworks such as Dora, space, and DevX. If you've tried measuring developer productivity, you know that there are a lot of basic metrics out there and a lot of ways to do this wrong. And getting that full view of productivity.
Is still really hard.
DX tackles this problem by combining qualitative and quantitative insights, giving you full clarity into how your developers are doing. DX is used by both startups and Fortune 500 companies, including companies like Twilio, Amplitude, eBay, Brex, Toast, Pfizer, and Procter & Gamble. To learn more about DX and get a demo of their product, visit their website at getdx.com/lenny. That's getdx.com/lenny. Today's episode is brought to you by OneSchema, the embeddable CSV importer for SaaS. Customers always seem to want to give you their data in the messiest possible CSV file. And building a spreadsheet importer becomes a never-ending sink for your engineering and support resources. you keep adding features to your spreadsheet importer, but customers keep running into issues. Six months later, you're fixing yet another date conversion edge case bug. Most tools aren't built for handling messy data, but one schema is. Companies like Scale AI and Pave are using one schema to make it fast and easy to launch delightful spreadsheet import experiences. From embeddable CSV import to importing CSVs from an SFTP folder on a recurring basis, spreadsheet import is such an awful experience in so many products. Customers get frustrated by useless messages like error on line 53 and never end up getting started with your product. One schema intelligently corrects messy data so that your customers don't have to spend hours in Excel just to get started with your product. For listeners of this podcast, One schema is offering a $1,000 discount. Learn more at onesschema.co/LENDi. Will, thank you so much for being here and welcome to the podcast.
Thank you so much. Super, super excited to be here.
So many people have suggested that I bring you on this podcast. You have a lot of fans out there, and I am excited to be digging into engineering topics, which we don't do enough of on this podcast. So thank you for making time for this.
No, thanks. I hope to be a good early engineering guest before you pivot entirely to engineering at some point in the future.
Wow, I love that. How cool would that be? I was an engineer, actually, when I started my career. How interesting would that be if we come full circle? Anyway, I thought it'd be fun to start with just what is changing in engineering. It feels like there's been a lot that has changed over the past few years, especially from kind of the Zerp, zero interest rate era to today's market, which is very different. What have you seen most change from an engineer's perspective? And then just also what are you telling engine leaders about how to handle all this change?
I think it's a pretty strange time in the market. So I think that, you know, I started working and, you know, the Right before the 2008 kind of crash. And so the first two years there were not so good. When I joined Yahoo, there was a layoff basically every like four months, there was a layoff of some sort. So pretty chaotic. But then we got into the last decade and it was just smooth, right? And so, you know, numbers went up, the revenue went up, headcount went up, and people started learning how to build really large teams. People started learning how to hire a lot. When I was at Uber, Some days I would do like six interviews back to back. I would just be in a conference room and at some point you can't even remember who you're talking to because you talk to so many people one after another after another. You just have some like scrambled notes you're trying to decode afterwards. Pretty different now. A lot of engineering managers are spending half their time or more hiring 18 months ago and now they're doing two interviews a month or less, maybe zero interviews a month. So there's a real shift in just the amount of time people are putting into hiring. Instead, all these different competencies that have kind of become more critical, or a really great engineering director might have just been spending their time hiring really well, and that could be a top performer. Now that person can actually demonstrate what they're great at. And so that person might be perceived as a low performer if they're not also figuring out how to lead the team, getting deeper into details, and also sometimes getting into the figuring out what is the right allocation, what are the right sizing of the engineering teams. This is stuff that we weren't talking about much. Or maybe if you really pissed off the CEO, maybe in infrastructure, you just grew a little bit slower next year. But different ballgame at this point where teams are actually disappearing, teams are getting cut down, teams are getting consolidated. And that's just something that we've kind of avoided for that Zerp era that now we become like a core part of a lot of the job.
It feels like also engineers, they used to have a lot of leverage over companies, inside companies, imagine that's also changing in a big way?
I think that's true. I think this actually has been bad for engineers in some way. One of my hobby horses is that I think that we often treat engineers a little bit like children instead of giving them the responsibilities and ability to actually thrive as adults. And so like, oh, the engineers won't want to do that work. Well, that's actually not good for the engineers to kind of be sheltered from what is important. And so I actually think one of the highlights is that I think we're coming back to this moment where we can actually treat engineers like our peers and put them in the really senior leadership roles and not have this kind of baseline assumption of like, oh, we have to coddle them or hide them from the real problems. And this is how they're going to get the opportunity to grow as well. That's like a highlight for me and.
Kind of the shift recently. I have definitely worked with that and experienced that where you don't want to piss off engineers. And so are you saying that because that's changing, leaders maybe don't have to worry as much about upsetting engineers. Plus, you just generally think we shouldn't.
Treat engineers that way. Well, yeah, I think a little bit of both, but I think there's been, you know, in this previous era where hiring and retention were kind of like one of the biggest ways you evaluated kind of middle management, losing team members was a huge, huge issue, right? And so you started to coddle a little bit, which is actually bad. Again, bad for the engineers, bad for the teams, bad for kind of everyone, bad for efficiency of the organization. But now, like, Something that I love is we get to give engineers real hard problems and we get to actually hold them accountable. And that means we can put them in senior roles. So one of the things that I've been pushing on, I wrote my last book, Staff Engineer, about what is the career path for senior engineers? One of the challenges is if we aren't comfortable holding engineers accountable because we just want to retain all the engineers, then we can't put them in senior roles. And so I think we're actually seeing a bit of a shift where we can actually hold them accountable. which means you can put them in senior roles, which means the engineers can actually get what they've been trying to get the entire time, but we haven't.
Been able to because we've been coddling them a little bit too much. Okay, so there's a few directions I want to go, and I'm just going to poke around and see where we go. The first is your big advocate of systems thinking. We were chatting about this before. I think a lot of people have heard this term, systems thinking, and there's books about it. It's like, sounds great. I want to be a systems thinker. What does that actually mean? How do you find you apply it in your work? How do people get better at this way of thinking?
A lot of the least successful but smartest people I've worked with were really strong systems thinking advocates. And so I do want to say like every kind of like framework has like a lot of downsides. There's no framework that people can apply consistently universally and get good results. And so briefly on this one, what I see is like often people will find a spot where their system and reality are in conflict. and they'll be like, reality is wrong. And so what's a concrete example? At Stripe, we worked on incident management. And so Stripe, pretty important company where our API is available. If the API is down, you lose money. And if you lose a lot of money, you leave Stripe because you're pretty upset about that. The number one thing businesses need to do is like to collect money successfully for the service that they're selling, right? Super important. And so we did a lot of analysis on incidents trying to understand why things weren't working, what we could do better. But we got so caught up in the analysis that we lost track of whether we're actually improving things. It took us a while to figure that out because we were so stuck in the systems thinking model. And it's not like, oh, the team was wrong. It's like, I was wrong. I was caught up in that model myself. To realize, hey, we weren't actually prioritizing improvements. We were just prioritizing measurement. And you can't keep measuring. There's like measure twice, cut once. Sure, but you don't measure infinite times and never get to cut in. You do have to cut at some point to actually make impact. But we just got caught a little bit there. And I think a lot of people who get too far in systems thinking make the same mistake, where they think reality is wrong and reality is never wrong. Reality is always right. Your model is always wrong if it's in conflict with with reality. But that conflict, that gap is really interesting and that's where you can learn. And so I have this model, it's really clean. It represents your hiring pipeline, that moving through different steps, it represents your incidents and how you remediate incidents. It can model almost anything pretty quickly when you get good at it. And then understanding how reality is in conflict with that, you start to understand where your mental model is wrong. And then you can go educate yourself and improve the model and just keep doing that. And at some point, the model is close enough And you can stop doing that and go actually do the work. So the biggest thing I tell people is this is a great way to learn, but you also have to do things. You can't just learn. That's not our entire job.
To make it a little more concrete, how would you best describe this idea of systems thinking? What's a good way to just like, okay, I get what you're talking about.
This is probably a better place to start, right? Versus a rambling anecdote about using it.
We can go in backwards. It'll be great.
Systems thinking is basically, you try to think about stocks and flows. So stocks are things that accumulate and flows are kind of the movement from a stock to another thing. And so what's a simple example of a stock? A stock could be the number of fish in a lake. A stock could be the number of people fishing in a lake. And so a flow between those two could be the number of fish in a lake will decrease at some rate based on the number of people fishing in that lake. So if there's a ton of fishers, then the stock of fish will go down faster. There's only a couple of fish, it will go down slower. But also then there's these flows which kind of dictate that where if you know we got much more efficient fishermen, the flow of fish out might go down, but also the fish do reproduce. So then there's another flow going back. So based on the current number of fish and the reproduction rate, the current number of fishers and their fishing rate, you start to see how these can evolve over time. And a lot of this, so first always recommend Thinking in Systems by Donella Meadows, really phenomenal book. And a lot of her work is also kind of referencing the work in Silent Spring by Rachel Carson, which talks about how small amount of kind of carcinogens or something low in the ecosystem or the food chain rather, as they get consumed by predators further and further up get concentrated. And that's like a kind of a classic systems thinking problem to think about where you wouldn't think a small amount of carcinogens and like a small fish actually matter. But as they go up the food chain, they start to concentrate it and an unexpected change can happen.
So then going back to your example of the hiring pipeline, let's come back to that to help connect this definition, which I've never heard, which is awesome, very clear to how you actually implemented, say, in hiring.
The first thing to do is to get a model out there of any sort. And so you think about your stocks. And so in a hiring pipeline, you might have potential candidates, and this could be basically infinite. And then you have a couple of inflows. So you could have sourced, you could have outreach, you could have referrals, and then you have the candidates. And those, how many people get sourced is probably a function of the number of sources you have dedicated to a role. So you could have another stock of how many sources you have, and then that would impact the rate going from potential candidates to actual candidates you sourced. And then from candidates that you have in that box, you'd have a conversion rate for people who passed the first recruiter screen. And that would move into step two of your process. And then from step two, you have maybe a hiring manager screen, and that would be another conversion rate. So you can see over time how the candidates of the infinite potential candidates wandering around LinkedIn, posting about their deep thoughts, convert into actual people, your first, your second, your third. But then as you get deeper into it, you start to actually see interesting things. And so for a lot of candidates or a lot of pipelines, the biggest issue is hiring managers don't want to extend any offers because the hiring managers can't get the confidence on any candidate. And you'll see in this pipeline, you'll see a ton of candidates getting to offer stage, but almost none of them converting from a potential offer to actually offer. And then you can say, hey, here's the problem. You need to go work with the recruiter and the hiring managers on getting conviction about who they should hire. Classic problem with early, early managers, right? Here's a second problem. Manager wants to extend a ton of offers. They do extend them, and none of them actually accept. And so that focuses you on the second problem. But there's a third potential world where actually you're just not getting enough candidates in. You're actually doing a great job of making decisions, great job of closing candidates. There are just not enough candidates coming in. And so by looking at this, and you can build this model, then you can go to your applicant tracking system, like Greenhouse or whatever, and pull the historicals. And you can just see how the historicals work versus how you'd expect it to work and you can see the drop offs. And this helps you figure out where should you go try to fix things first. I think we've all worked in companies where you roll out kind of like big changes with no data behind them. It's like, oh, Feels like we're not hard enough in how we evaluate candidates or something. You go change a bunch of stuff. But often the real problem might be that the hiring manager is making offer extensions to people who never passed the loop anyway. It's just the managers are issuing too many offers because they're panicking. And man, less true now, but a decade or not a decade, like two years ago, hiring managers panicking to get offers out, that was a real thing that happened a lot. And this just helps you take a complex kind of abstract problem and turn it into something that can actually work in a systematic way.
I feel like product managers will either naturally do things this way already because a lot of them think in funnels. And it's interesting to hear this version of it, of this idea of just following the stock through the flow of the different steps. Awesome. Another thing that I know that you are very passionate about and spend a lot of time thinking about is Engineering strategy. I think you have this kind of feeling, like engineers don't think enough about the end strategy. Every other function has a strategy and engineers often don't. Talk about what you find there and what your advice is around that.
First, I sort of question whether any function has a strategy at most companies. My general experience is that there's very rarely a written strategy for any company. Sometimes it's like a value statement. It's like we build the highest quality products. And you're like, good, okay. What do I do with that? You're like, build a high quality product. You're like, okay, I don't know what that means. And hiring often has this problem where I think people will make comments in their culture amp or their quarterly surveys or whatever. It's like, Hey, the strategy is not clear or where's the engineering strategy? And the biggest thing I tell people when they complain, and then engineers complain about the product strategy. The PMs don't have any strategy or the business has no strategy. And the reality is product, eng, and business always have a strategy. It's just often not written down. And so I really, like, the first thing I want to do is like I push people not to get caught up on the fact that there's no template out there, which is product strategy that someone's forked and filled in. Doesn't mean you don't have a strategy. You do have a strategy. It's maybe a little bit hard to articulate. and maybe it's applied inconsistently across different layers of the product reporting chain because it's not written down. But it's never true that there's no product strategy. There's always a product strategy. Sometimes it's bad, but there's always one. And true for engineering as well. There's always an engineering strategy. It's just sometimes it's bad. And the first rule of strategy is that if you write it down, then you can improve it. If it's not written down, it's hard to say, like, if this PM is just like not a good PM, or if they're trying to apply the strategy that they've misunderstood, or if they actually are correctly applying the strategy from the head of product that's just not appropriate to the problems they're working on, how do you debug any of that? If you have a written document, even if it's like not a super compelling strategy, at least you can start debugging. It's okay that the head of product should improve the clarity of this document. Hey, this VM actually isn't applying it correctly. Hey, the strategy actually isn't appropriate for this one business unit where it makes sense for the others. So that's the first thing I think about. But the second big theme on strategy I think about is that often good strategy is so boring. It's hard to talk about. And so for example, on the engineering side of things, a common strategy that's really good but very boring is we only use the tools we have today. So, you know, a lot of times you'll get engineers that want to introduce new programming languages, new databases, new cloud providers. And a really good strategy for almost all companies is like, we just use the standard kit we already have today. And at Carta, when I joined, one of the engineers, Eric Vogel, wrote the standard kit, and that is our strategy of the tools we use. And you know what? Some people are really frustrated by that. And I feel for them. It feels like they're losing control, but the power of these boring strategies is that it focuses people's energy on the problems that we value as a company. And so it is painful coming into alignment if you're kind of like slightly misaligned over time, but boring strategies that tell you what actually matters and aligns you with what the company actually cares about are really good for you, even if they're a little bit annoying at a time. And I can expand on this idea a lot, but I won't, I won't ramble indefinitely on it.
Well, maybe what might be helpful is what are some other examples of engineering strategies that you've seen just to give people even more just like, oh yeah, maybe this should be part of our strategy.
So first, what is the definition of strategy? And the best one I've ever seen is from Richard Rumelt. He wrote Good Strategy, Bad Strategy.
He's coming on the podcast.
Amazing. He also wrote the Crux, I think came out this year sometime, which I also read and I think both great. And just like a phenomenal thinker who has so much depth. I think one of the challenges of writing a strategy is you're like, I've seen two things and I write the book, but I think the thing that's impressive about Richard Grimaldi is he's seen so many different scenarios that he's able to really operate from both the particular, but also the general and data set in a really interesting way. Another book with similar characteristics is How Big Things Get Done. by, I forget the authors, but really amazing data set of how mecca projects kind of succeed and fail. But anyway, Richard Ramon definition of strategy is basically three components. There's a diagnosis, like what is the current status quo? Like what are the things that are real today? There are guiding policies, which are basically based on the diagnoses, like how do you want to address them? And there's actions and actions are how are we going to implement those guiding policies? He talks a lot about actions because he's concerned about this idea of inert strategy where we have we're going to deprecate our old product features we don't use, but no one deprecates any of them. So he's really concerned about this non-implementation, kind of like useless strategy that doesn't do anything. On engineering, I'm a little bit less worried about that. I think strategy is more interesting on engineering in terms of clarifying how we make future decisions. And so what are a few examples of that? At Uber, we only used our own data centers. We didn't use the cloud. And this has changed since the era I was there, but in the 2014 era, no cloud, and we had a strict no cloud policy. And this was annoying because we had to indent everything ourselves or run copies of everything ourselves. But it also meant that we were able to spin up in China in literally three months. And some surreal stories from that. We couldn't fit our racks into the data centers. So they had to take the roof off the data center and lift the racks in with the crane. Tons of stories. And all this got done in three months. And truly phenomenal. And Uber wasn't in China for very long. So in some ways you're like, we did all that just to leave. But they left with a nice stake of Didi Chuxing and not a bad outcome overall. But I think that strategy, we run everything in data centers. We don't use the cloud, meant we were able to move in and out of different geopolitical constraints and companies that relied on cloud presence simply can't. They're fully constrained by where AWS or Google Cloud or Azure have built out. So that's one good example. Another good example at Stripe was this idea of we run a Ruby monolith. And that's like, that's what we did. And that's evolved a bit since then. There, there's more, there's more Java in the stripe of 2023 than there was in the stripe of, of 2016 or the 2012 or whatnot. But that, that policy, really focused the, the engineers on building innovative features for our users rather than building kind of different tooling to support different programming languages. And so in both cases, both the Uber policy around like running our own data centers and the stripe policy around, you know, Ruby monoliths, A lot of engineers hated these, but the goal of good strategy is not to appease everyone. The goal of good strategy is to dictate how we invest the limited capacities we have or the limited capabilities we have into the problems we care about. And I think both of them were really effective towards that end.
A common theme across all these examples is essentially constraint. Deciding we will constrain our options to move faster and focus on the things that really matter.
In solving the constraints is, to me, I think the most interesting thing that strategy really does. And I think when we talk about bad strategy, it usually is because the diagnosis is bad. And it's usually because people are sort of exerting what they want to be true on constraints, where it's like, Hey, we can do all these projects at once. And often that's just not true. But it's hard to convince people of that when they're the CEO or they are really committed to believing it. But almost all bad strategies basically come down from a willful disbelief of what an accurate diagnosis is, which means then your guiding policies are kind of incoherent to begin with.
Awesome. I'm excited for that episode of the Richard where we're going to go real deep into strategy, but maybe just as a lasting topic around there. If someone listening wanted to get better at, say, end strategy specifically or a strategy in general, is there anything you recommend they do? Is it read these books? Is there anything else?
If people want to get good at strategy, there's a lot of different types of strategy, right? But here are some things I'd really recommend. First, I think the Richard Rumelt book, I think good strategy, bad strategy is probably the right starting point. I think the Crocs also quite good, but maybe I would read that one second. Great overview of how to think about strategy. I also think thinking in systems, I mentioned that before, related to systems thinking. A big part of strategy is being able to model the reality so you can improve your diagnosis. And so I think that one's really quite good as well. If you get into the engineering side of things, there's a lot of interesting books here. There's Technology Strategy Patterns by Evan Hewitt. There's the Value Flywheel Effect by Anderson, McCann, and O'Reilly. The Phoenix Project by Kim, Burns, Spafford, which is kind of a modern rewrite of the Goal by Goldrat. But I think there's still the missing canonical book is missing on this one. So I took a stab at strategy and my upcoming book, which is coming out, the Engineering Executives Primer, coming out early next year. I also took a stab at it in Staff Engineer, my previous book. But I still think there's a missing book here. So I sort of am dreaming of writing an engineering strategy book for my next project, although But we'll see if that actually comes together. Well, let's actually follow that thread of.
Writing, something I was definitely hoping to chat about. You write a lot. You've written two, three, four-ish. You're writing a new book. How many books you've published? You've published two books and there's a.
Third one coming up. So I have two books. The first one was Stripe Press, the second one self-published, and the third one.
With O'Reilly coming out in two months effectively. Okay. And then also many, many blog posts for many, many years. and I asked a few people what to ask you, and this came up a lot. Gergely Oros and Alex Zhu from Byte by Go both asked just this question of just how do you make time to write as much as you do? And then I also, I'll ask this too, and just answer it either first or seconds, just what impact does writing had on your career? Why has it been, why do you keep doing it?
I feel really strongly that you can write a lot more if you write what you want to write. And so this is one of the reasons that I don't write for financial gain and I don't write very much on a schedule. So I've done a few pieces for magazines, etc. But I find that actually really draining to be. You have a topic, you have to agree on the topic. If the topic starts missing what you want to write about, you can't fix it. A lot of the time, and you're also like on this deadline. You're like, ah, I'm like, I'm screwing up. I need to ship this. It needs to be done tomorrow. And I just find that really draining. Um, where conversely, like when I, when I own this schedule, when I get to like write about, Hey, like I'm writing on something. So I started writing this infrastructure engineering book a couple years ago and I just like, it just wasn't there. I just couldn't get it to come together. And so I just stopped and I'm not writing it anymore. Maybe I'll come back to it at some point, but probably not. To me, the biggest strength of writing what you want is you get to write where there's energy and you don't have to write where there's no energy, which takes you really, really negative. And this also ties into how I write books, which is that I basically write the entire thing before I start working with the publisher. And if you are, I think, diligent and good at anticipating what their concerns are going to be, you can mostly reuse the content that you're trying to write. This is also easier in the sorts of books I write. I think harder to do in a really technical introduction to MySQL or something. You can't just resequence those chapters and pretend it's going to work. Those chapters build in a different way than the sort of business book that I write does. But yeah, writing the stuff that's energizing and just giving up on the stuff that's not energizing, that's how I write a lot and how I've been writing for 16 some years. And the way I keep doing it is just by writing what's energizing and what I'm thinking about now. And I don't write what I'm not thinking about. And I don't write for any audience. I just write what is interesting to me. And that means some people don't like it. And that's great. That's totally fine. It's not really for them. It's for people who want to follow the ride. And that's where I focus.
This episode is brought to you by Vanta, helping you streamline your security compliance to accelerate your growth. Thousands of fast-growing companies like Gusto, Calm, Quora, and Modern Treasury trust Vanta to help build, scale, manage, and demonstrate their security and compliance programs and get ready for audits in weeks, not months. By offering the most in-demand security and privacy frameworks such as SOC 2, ISO 27001, GDPR, HIPAA, and many more, Vanta helps companies obtain the reports they need to accelerate growth, build efficient compliance processes, mitigate risks to their businesses, and build trust with external stakeholders. Over 5,000 fast-growing companies use Vanta to automate up to 90% of the work involved with SOC 2 and these other frameworks. For a limited time, Lenny's podcast listeners get $1,000 off Vanta. Go to vanta.com/lenny Lenny, that's vanta.com/lenny, to learn more and to claim your discounts. Get started today. Okay, there's a lot more I want to dig into here. How many posts have you written, do you think, over the 16 years?
I would guess about a thousand. That would roughly be my assumption. I think there are a few years where I wrote hundreds of posts. And so if you do that like three years, it's not that hard to get to a thousand from there.
That's incredible, especially because you've had intense jobs for all of those years or most of those years, very high pressure, fast growing hypergrowth companies. Somehow you find time to work. So first, let me just double click slash cosign your advice here around paying attention to what gives you energy and working on things that you're actually curious about. This is exactly the advice I give to people. A lot of people start this like full-time writer, creator life, and they're like, what do people want? What do people want me to write about? What's popular? What's gonna go viral? And that's easy to do like a couple of times, but then you end up creating this job for yourself that you don't want. You don't wanna be spending all your days writing about AI if you're not that excited by AI or whatever's hot these days. And I find that what I find is important is almost like 80, 90% of what you have to, what you write has to be stuff you're excited about. And then maybe there's a bit of, Here's what I know people really want. Here's what I know is going to do really well. Because otherwise you just burn out, you create a job for yourself that you don't want. Why would you do that?
Yeah, I just 100% agree with that. And I think the other thing is that everyone converges on the same thing that they think people want. So it's crypto two years ago, it's AI right now, or it's counter AI, AI is going to ruin the world. It's hard to say something very novel because one, everyone's trying to say something about it. It's almost certainly not what you're that knowledgeable about. Where if you just stick in your lane, I think the biggest risk to writers is quitting. A little bit like the 40-year career idea. The biggest risk to content creation of any sort is quitting soon because you get burned out. The biggest risk is not that you grow too slow initially. There's always a sense that you've missed the wave. It's too late to join substack. There's already The top writers are already there. You'll never be a top writer. It's too late to podcast. There's too many podcasts. You'll never make it. It's too late to join Medium. You'll never make it. There's too many Medium writers. But it's just not true. If you just keep writing good stuff, you'll build an audience over time. And you can take that audience from platform to platform. What really matters is finding something you can actually keep doing for the next decade.
That's way harder than doing it for one year. We have the same exact advice on this. This is exactly the things I tell everyone. When I joined Substack, I thought it was too late. I was like, man, it's over. And when I started this podcast, like, oh man, there's a billion podcasts. How is there ever gonna work? So I so agree. And I also so agree on the fact that this whole thing is such a, it's a long game. There's a lot of people. I always say it's easy to start a newsletter, hard to keep it up. Nobody actually keeps it up. There's people are gonna come and go. The thing that really separates success from not from failures, just people that can keep at it. And there's not like an end game to this, right? It's a infinite game and it's about being able to sustain that over the long term.
And you're not competing with other content creators. If you think of it as an infinite game, right? Like you're all working together, you can all help each other grow. There's no maximum number of product writers or thinkers who can be doing something. You're not less successful because Shreyaas exists or something like that. Like there's no, there's no competition there. It's like a false, false dichotomy.
Yeah, I totally agree with that unless there's so many. And then all of a sudden what happens is the bar just gets higher, which is good because then people get better stuff and that's fine. And that's happening anyway, just the bar continues to increase because there's more and more content out there. And to me that's like the ultimate thing you got to get right is just the bar. You just got to be at a high bar for anyone to care about anything you're writing about. And to your point, to do that well, you have to actually be excited about writing about it and have background and have something to contribute. The way I'm just ranting here, but the way I think about this is you need to add something new to the conversation for anyone to pay attention, because there's so much fluffy, superficial stuff. And to get anyone to care is you need to say something new that no one's heard before or share new information they haven't seen anywhere else.
I totally agree. I could keep ranting about this for the entire time, and I don't want to derail on this, but I totally agree.
We'll control ourselves. So then getting very tactical, I think this is what a lot of people are always wondering. How do you make time? What's your workflow? How do you make time for writing so that you keep at it with knowing you have an intense full-time job?
I used to do things differently before I had a kid. So I have a three and a half year old, and just your timing your life just really shifts a lot once you have kids. But the biggest thing that I found is finding things to write about that also directly relate to what I'm working on. And this is where I can do something that helps me at work and helps me write at the same time. Because I think it's incredibly hard to find time to write about stuff that has nothing to do with your work. Cause it's all, and it just distracts you from, from your work. Cause these, you know, particularly if you're in like a senior role, like these can be like pretty demanding jobs, but they're not demanding because you're responding to an urgent DM on Slack, like every, every five or six minutes. They're demanding because you need to make some really difficult decisions really well. And I think writing about like related topics is a great way to refine your thinking and improve your performance. It's not like a, not like a, conflict and, or you do one either right or you do your job. Well, I think you can find a way to like align. And so a lot of podcast folks, do interviews with folks who are related to what they're thinking about at work. And that's a great way for them to like learn to build their network, to refine their thinking, to test their thinking against experts in the field. It's not like in conflict with the work. It's, it's, it's in alignment. So that's like one piece. But yeah, I played around with my schedule a lot before, before I had a kid. often like Saturdays would be like the writing day. And so like, you know, morning and early afternoon would just be like writing. I can't do that anymore. So now I mostly write at night, which is tricky from an energy management perspective. But the biggest thing I would say is just if you're actually excited about something, you will find time and energy for it. If you're not excited about it and it's 9:00 PM, You're just gonna get to sleep. And so like, I really think that this is where you have to schedule a little bit deliberately, but the first thing we talked about around energy management, like they really come together. When your schedule gets tight, if you're not energized, you just won't get it done.
And why would you? Like it just doesn't make sense. Just to close out this thread, for someone that wants to do more writing, knows that it's gonna be valuable, but just hasn't any one tip that you.
Would leave them with to get on the stream. It depends why people want to write. I tell people if you just want to write something that is going to help advance your career, you should really focus on writing two or three really good things and spend a ton of time drafting, revising, getting feedback. You just focus on making one great artifact or two or three great artifacts. You don't need to create a long-running blog where you publish every week. There's really no need to do that if your goal is just to create some artifacts that show you're a deep thinker that kind of help position you in the industry. Don't start a newsletter if you just want to advance yourself in the industry a little bit. Just write two or three really good things. So that's the first thing I'd say. But if your goal is to write a lot consistently over time, my biggest advice would be just publish. And so there's a lot of people out there with stuff that hundreds of drafts and they've not published anything. And my thing is I publish almost everything I write. If there's something that I'm not going to publish, I don't start writing it because I have a quick check in my head, is this something I can write and publish? And if my answer is like, no, I just don't even start. And my accuracy has gotten higher over time as I've written more. But I publish pretty much everything I write. That's why some of it's not that good. And that's okay. Again, I want to write, I want to get these ideas out, I want to show what I'm focused on. My evolution as a thinker, trying to learn how to operate in these different roles in these different companies. I'm not writing trying to create a polished, perfect thing. And also, I'm not writing to maximize a reader's experience of reading it. And some people don't like that. And I think that's a totally reasonable thing not to like. But I think what I can bring you is my experience as an operator who's actively learning and thinking through. I think that's really valuable to other operators in the industry. In terms of giving you the perfect writing, I try to do that closer to that. I don't know if I ever hit perfect writing, but that's where my books are. The books are taking a collection of thoughts over a couple of years, cleaning them up a little bit, packaging them. They're way higher quality than my typical writing. But yeah, I would just publish. Publish a lot. Don't worry about the quality. Sometimes people will send you silly feedback and I just don't respond to that stuff anymore. And, you know, you never know why people send you something like that. I think trying to debug people you don't know is a bad use of time. It's just like, thank you, move on to the next. Don't even spend time worrying about it.
I like that term, debug people. I think people way overestimate how much anyone cares about what you put out. Most people are going to look at it for three seconds and be like, yeah, that's the worst case scenario, basically. It's just like, I don't care about this. Not like, oh, Will is such a What a dumb thing to say, right? No one has time for that.
And if they do, that's a them problem, right? It's like the internet's a big place with a lot of people, and there are people who are going to be having a really bad day when they encounter something you do, and they're going to channel that anger at you or that frustration at you, but that's not about you. That's just you happen to be there when they engage with it. You don't have to take that on. That's not your situation. It's okay.
Also, when you're just starting out, that's going to be the least stressful time to write because nobody knows it or sees it. So that's when it's like, take all the crazy shot. Just do stuff. It only gets more stressful as you build the audience over time.
Yeah, absolutely, absolutely true.
Okay, shifting topics. There's a lot of product managers that listen to this. Something PMs often wonder is how to have better relationships with their engineers, their eng managers. What advice could you give to product managers to build more productive, happy relationships with their engineers and eng managers?
So the core problem in most of the EMPM pairs that I've worked on, there's two core problems. So one, sometimes the incentives are misaligned and that's hard to navigate. But if you can just be honest with each other and understand the incentives, sometimes you can find a compromise. But sometimes the EMS and PMs will be misaligned because just their incentives are so far apart that there's no way to get to the bottom of it. And so this might be like timeline related or saying yes to sales related, where the engineer is like, Hey, we definitely can't say yes to that. And the PMs are like, actually, we're going to say yes to it because it's really important for me getting promoted or something like that. And is it ever this simple? It's really never that simple. People create simplistic narratives to find villains that they work with. There are no villains in the workplace. They're just people with complex incentives that are doing complex things. But sometimes I talk to EMs who think, oh, the product manager is just saying yes because they want to get promoted because the salesperson will review their promotion or something. The reality is never as simple. The reality is the business needs to sell stuff to remain functioning. You can't just say no and have the business succeed. that doesn't work either. So one, understanding the incentives. The other piece though, and I think this is the more common case, or just that the EM or the PM just don't understand the other person's needs and they start arguing before understanding. And so my biggest advice to both the EMs and the PMs is before you try to solve the conflict, it's like pushing to ship this feature, pushing to change the approach, just make sure you actually understand what they care about. There is this idea that you have to make trade-offs and that there are tons of hard trade-offs to be made in the field. But my experience is that if you really deeply understand what everyone wants, there's usually a compromise solution that gives everyone exactly what they want that doesn't take more time. You just have to be willing to dig deeper into it and understand the true needs for each party, which is often not what they're saying. by the way, which is part of the confusion.
On the incentives piece, is there anything you've seen work to fix that problem? Because if PM performance reviews are based on impact, engineering performance reviews are based on interesting projects or uptime, do you just work to change those latter definitions? What actually can help that situation?
So my biggest thing has been trying to force this idea that EMPM pairs are pairs. and they generally have the same performance rating. And there's exceptions here, right? Like it could be the EM is clearly not performing. And then it's not the PM's fault if the EM is like, you know, can't show up to work, like the team doesn't respect them. You know, sometimes there's a clear non-performance, but generally like hard situations are not situations where one person's obviously terrible. Those are easy to diagnose. Those are the easy ones. But in cases where there's two folks who seem to be like pretty good, but just like the overall execution is not working out, I think this idea that like same perf rating for both drives like a level of one pain, but the right sort of perspective. And also, you know, something that I think Carta has experimented a little bit with over time. Henry, our CEO, has a blog post about trifectas in doing that, but not just for EM and for PM, but also for the business leadership as well, where you all get graded the same. same score based on your ability to evaluate and solve for the entire set of constraints, not just your functional constraints.
Wow, that's so interesting. So your recommendation, something you were doing, it sounds like, is the engineer manager and the PM get the same performance review rating. And so they're discussed in the same meeting.
So, yeah, our chief product officer, Bruce Schneier, and I spend a fair amount of time calibrating together and making sure, again, There's cases where there's like an exception, right? Because there's like clear, clear issues happening for someone, but on average, that is what's happening. And I think people know that's what's happening because we've told them that. And I think that that's pretty powerful.
That is so interesting. I've never heard of that approach that is definitely solving that problem of EMPM.
Or... Yeah, the incentives are shared now, which doesn't which isn't perfect. It's still hard to balance them. They can still make the wrong trade-offs, but at least they understand the incentives are shared, which I think is a pretty powerful idea.
That is really interesting. And I imagine some companies might even want to include design managers in that. Take it another step.
The role and the primacy of different functions in different companies varies so much that it's hard to have a one size. You could also imagine where you want a staff engineer in that or not. And so I think very company specific. But yeah, I think design could absolutely be involved, particularly for a design-led company like an Airbnb or something like that.
Wow, so interesting. Maybe just as a final thought there, if a PM is having challenges with their EM, what do you think PMs maybe don't realize their engineering managers are finding important or maybe are stressed about that they're just like, oh wow, I never thought about that.
I think one of the biggest challenges I've historically seen, particularly in the last decade, is this idea that engineering managers have the job of giving their team interesting work. And I think that can put, you know, you often see this in growth teams where the growth teams are like, Hey, we just need to do a ton of experiments. And the engineers are like, I want to build something brand new. And the engineering managers in between those try to figure out, like, need to ship 50 experiments that are pretty boring. and they want to do something brand new, like, I don't know how to solve this. And so it's a tricky moment. And good EMs kind of find the way to balance. But that's the biggest source of ongoing friction where the EMs have been told by their teams they need to do something that the PMs just have no visibility into. And it makes the EM seem like totally unreliable partners because they're trying to solve these little bit of these invisible constraints. And that's where I think pushing further, to understand, hey, you keep prioritizing this rewrite into a new programming language. To me, that seems like a completely idiotic thing to be doing. What's going on? And then once you understand, you might not agree with them, but at least you can have an honest conversation on how to navigate those constraints versus just, man, you won't believe what my EM partner did today. This Bozo did blah, blah, blah, and having this victim villain kind of mindset about your peers.
An adjacent topic that I wanted to spend some time on is measuring engineering velocity productivity. I think it's probably one of the most common and also maybe the most annoying questions engineering leaders get is just how do I know if my engineers are moving as quickly as they can? How do we help them move faster? What advice do you give to engineering.
Leaders for, and engineering teams just for how to measure productivity well? This is a question that's coming up even more, right? In a moment when we're kind of reducing a lot of the size of teams, from the industry, on the venture capitalists, that are on the board for these venture-backed companies are pushing on the efficiency of engineering. Engineers are trying to figure out how do we represent this? How do we prove that we're appropriately productive for the amount of headcount and funding that we have as an organization? That's hard. And so the first way that people kind of focus on trying to answer these questions is just benchmarking by the amount of funding that you have. And that's pretty straightforward to do. It's a mechanical exercise. You look at like, you get a data set from your venture capital funds or whatnot. And you figure out like, okay, how much should we be spending in R&D? How much should we be spending on engineering? How much should we be sending on infrastructure engineering in R&D? And you can like benchmark this all out and figure out what the correct numbers are there. The problem is this is like a very mechanical and not very like insightful driven way. It will get you a defensible answer. It's like the old, no one gets fired for buying IBM, which definitely hasn't been true in my career ever. But this idea that if you just have the right benchmarks, VCs won't judge you for spending too much on engineering. But this doesn't actually help you get to the right place. It just helps you get your board to be less angry at you, which is useful because it's hard to do good work when your board is angry at you. But it's not useful in the sense that it doesn't actually help you run your organization effectively. So then there's the much harder, immediate problem of how do you actually know if your R&D team or engineering team is effective? And what I find is a couple of things. First, if you're a good leader and you talk to the engineers, they will tell you the engineers know if their teams are effective or not. And if they're not, They'll also tell you why not, and their diagnosis can be wrong, but there's like a crumb you can start picking up and you can trace the crumbs to figure out what's wrong. Often you'll have more experience to analyze the complaints to figure out what kind of the contributing causes are to them. But yeah, if you just go talk to the team on an ongoing basis, you will know if they're effective or not, and you can go work to solve those specific problems. But again, you can't tell like you're bored. Oh, like it's fine. I talked to the teams that they're good. My intuition's spot on. Because how do they know if your intuition is good or not, right? They're dealing with like a huge portfolio and some of their leaders are talking to you are good and some of them have terrible intuition. How do they actually assess? I think it's tricky. And what I've tried to do is basically two things. One, aligning engineering evaluation to the business and product goals. So I want us to be wholly accountable to the product goals, not a, well, we did a good job products like screwing up over there. Obviously a lot of companies find comfort doing that, but like really we're here to support the product, to support our customers in doing like something interesting. We're not here to like build novel systems unless it supports the customer and the product. And so first try to align heavily there. Second, I think just showing the roadmap of the valuable things we've done in the last six months is really powerful. Because I think sometimes people are like, I don't have anything to put there. And you're like, yeah, that's a real issue. Or if you have a ton of stuff to put there, that's great. And I really find that if you just commit, show the number of meaningful, meaty things that have impact that you're doing, and you can explain the impact, people will kind of step back and give you space. if you can't populate that list, people will have concerns. And rightly so. They should be concerned about that.
Is there any metrics or tools or anything like that that you find useful too? Because these are all awesome pieces of advice, but I imagine everyone's always just like, give us this number we're tracking, give us this dashboard, see what engineers doing.
So one of the most influential books in the last decade in software engineering leadership and kind of infrastructure is Accelerate by Nicole Forsgren, Gene Kim, and I believe there's a third author on that one, but I'm forgetting right now. Really, really phenomenal book. And it kind of comes up with these four metrics. It comes up with lead time, it comes up with incident remediation time, it comes up with failure rate and the fourth one of some sort. And there's at least 50 different startups out there that are selling you dashboards that kind of instrument these pieces of data, and they want you to just evaluate your team on them. The challenge is these are really good diagnosis metrics. And so, hey, our deployments are slow. Why is that? How do we speed them up? But your deployments being slow doesn't make you a good company or a bad company. It just tells you where you should focus on improving. It doesn't actually change how you are. And similarly, if your lead time is quick or slow, Tell us where you should invest, but it doesn't actually tell you if you should fire your engineers or something like that. That's way more detail specific. So people do like to see these metrics, just like they see uptime metrics. A lot of engineers report on sprint points or stuff like that to their board, which are just totally fake thing to be reporting on, but people get some comfort on it. So my biggest thing here is, When people measure things, this isn't an engineering only problem, but when people measure, they take on the perspective of an expert and they can tell you why not to measure everything. They can tell you why every measure is wrong or inaccurate and they rule everything out. So they measure nothing and they go to someone who's not an expert and they're like, well, actually there's no accurate measure to give. They're not an expert is like, you don't know what you're doing. And so you just have to get comfortable measuring something. that's not perfect, but you can actually measure and reporting on it. And then the measure that's imperfect, as people ask questions, that's an opportunity to educate people on why the measure is imperfect. What are some things that misses or kind of the lies from the conversation? Metrics are about educating the people consuming the metrics about the reality of the rich data underneath. They're not about this perfect data set that shows everything. Starting with something mediocre And the DORA metrics are really helpful for diagnosis. But if you have to, they can also be a good enough starting place to start reporting to your board or your CEO or to the other executives. And then you're like, oh, there's all these problems with them. Yes, there are all those problems with them, but that's this place you start. And you educate people up from there to help them understand the nuances. And that's how they become more sophisticated at understanding engineering, not by refusing to give them anything they can possibly measure. Awesome.
I'm glad that was your answer because we had Nicole on the podcast and she talked through Dora and all the frameworks that she recommends. And she even actually shared some benchmarks that she points people to that give you some sense of just like, are you in a good place roughly or not? So we'll point people to that episode to dig deeper.
Awesome.
I'm glad that you're a fan. Okay, just a couple more questions before we get to our very exciting lightning round. One is around values, company values, org values. You have some really good advice for people for how to think about coming up with values. What do you share? What do you recommend to people that are trying to figure out what values they should define for their org and their company?
I mean, values are really interesting, right? And different companies talk about values in different ways. I once worked at a company where the execs went to visit the Facebook campus. They saw the values written up on the wall and they took the Facebook values and wrote them up on our walls. And that didn't do a whole lot. It maybe undermined people's confidence in the critical thinking of the executive team that just took these written up on Facebook walls and replicated it. But I think those values did work well for Facebook and those values were meaningful for Facebook. And so it's first thing you can't do is just like steal values. Value cargo culting. Man, users first, great Amazon value, right? A lot of companies aren't users first. And that's okay. But what's not okay is when you put, hey, we're users first and then you actually show the decisions you're making and you clearly aren't users first. And so one of the things I think about is just honesty. And so good values have to be honest. And so any value can be honest or there's no universally honest values, right? You can say something like we're thrifty or you can say something like we spend as much as we need to get the best value. those are totally different and good companies are run both ways. So the first rule I think about a lot is honesty. You actually do what you claim you do and the value. The second one is applicability. You have to have values that you can actually figure out how to apply to your work. And so one of Stripe's values was no longer a value, I believe, but it's optimized globally. And so optimized globally is a really interesting problem because sometimes you'll have something you want to do or interesting value. Sometimes you want to do something and you're like, Hey, I want to introduce a new programming language because that's better for my team. But like for the organization overall, this is actually much worse for the organization, so I'm not going to do it. Uber didn't have this as a written value, but implicitly, Uber's value was do what's good for your team and ignore everyone else because that will slow us down. And so the two different companies had opposite values, but they're both very applicable. It's like, how should we navigate decisions? Should I optimize for my team? or for the organization. And then, so those are applicable to real problems and they were honest. Where Uber was just like, don't worry about other people. Like make it work for your team. And that's how they moved so fast.
Because they just didn't worry. Wasn't there a value of toe-stepping, encouraging.
Toe-Stepping, something like that? Let builders build, toe-stepping. There were a number of values that could be interpreted in different ways. And sometimes they got weaponized in various ways, as all values do. But these are both interesting in different ways. And so number one is honest, then two is applicable. Three is, I think, the last thing for a good value is this idea of reversibility. So there's some values that aren't actually usable. And so here's a good example. We build good software. Okay, but why would you ever not build good software? That doesn't make sense. that doesn't make sense. Or we solve customer problems that matter. Good. Who would ever say their, what company doesn't think they're solving customer problems that matter? And so there are certain values that just you can't apply. And so I think of these as identity values. These are really just you describing who you want to be. We care about our customers. Great. But who would say they don't care about that? There's certain values that I think of just like identity values, and they're not wrong to have identity values. They just aren't very useful. You can't actually use them for anything. And so I just always push people not to spend too much time on these because they feel good when you're in an executive team kind of debating, what are these identity values? It's like we're kind to other people or sure, that sounds good. Like we're a family, like sure that sounds good. That one I guess is a little bit reversible. Cause you know, there's Netflix, which is like we're a team, like a sports team, we're not a family. And so a little bit reversible, but not perfectly. But yeah, but these are the three that I found really useful for any value. Like is it honest? Is it applicable? And can you reverse it? And if not, it's probably actually not.
Helping the team make decisions. These are great. It reminds me a lot of, I was there during Airbnb's period of coming up with values, something that I would maybe add and maybe fits into one of these buckets is it needs to be clear who doesn't, like there needs to be a group that doesn't quite fit. Because if everyone fits, then you're not doing anything useful. What's the point? Which feels weird to say, like, right, why would not not everyone fit in our big group of awesome company? But it's clear, like, who is not a good fit? Who doesn't belong?
They say it's kind of like a cult a little bit, like who's not in our cult? Who doesn't belong? But I agree, like, if If it doesn't apply to anyone, then why bother saying it? It doesn't mean anything. And you could say it's actually a hiring filter where there are people who you've explicitly chosen not to hire because this wouldn't apply to them. Then I think it's useful because it helps you actually figure out who to bring in. But if it doesn't apply to anyone you're hiring or anyone that you have at the company, then it just really isn't worth having because you already have too many values. You're already trying to get rid of values because you have 17 and you need to get down to four where people people can remember them. So if it doesn't apply to anyone, why bother having it at all?
Yeah, integrity is a common one. Integrity, everyone has it. Nobody wouldn't want integrity. What does you need?
We're the non integrity company. We're the company that thinks integrity is bad. That's not a real thing.
The other one I'll add to is honest. So at Airbnb, we had six values initially. One of them was simplify. a year or two later, everyone just realized we're not actually good at this. We want to simplify, but we're not great at this skill. And value should describe who you are, not who you want to be and aspire to be. So they cut two values, including that one, and they're just like, let's just do these four, because this is actually who we are. Let's be honest with ourselves. Okay, final question. I wanted to visit Failure Corner, something that I've added recently to this podcast, where people share a story of Failure. And you have this amazing post about your experience with Dig and the rewrite that you all went through. I think it was the version four of Dig. Can you just tell that story and what happened and how much of a mess it ended up being?
Yeah, Dig V4 is still something I have a lot of fond memories for. There's one picture that I've kept, and it's a picture of a lot of the engineers around this table, the middle of this giant office and they're like serving like sushi. We had like waiters, caterers come in that day. They're serving sushi. They have like, you know, plates with like champagne flutes on it. There was a full bar and we're all around this table because the site's not up. And so DigB4, essentially what Kevin Rose or the board or some combination there realized is that Dig was losing to the social networks. and that this idea of aggregated news was going to be outcompeted by the Twitters, the Facebooks, et cetera. If we didn't find a way to move to have a social component for it, even outcompeted by Reddit long term was the fear, although at the time that was far from obvious. And so we needed to move to support social functionality. And the previous version, we simply couldn't get it to work. And so the decision that was done I think two and a half years before I joined. And this shipped about six months after I joined was they need to do a complete rewrite in order to get there. This is a decision that never works out for anyone. And so I think as someone more experienced, I could have predicted this wasn't going to work out. But I was earlier in my career, my PM counterpart at Yahoo, Dosh Gopinath, he went to Yahoo and he's like, come to dig, worst case you'll make a couple hundred thousand in a year, worst case, probably a really great outcome. Anyway, that's not what happened. The worst case was a little bit optimistic. But so we go and the CEO got fired two days before I joined. So the current CEO left and then Kevin Rose came back for about six months, something like that. and we're just on this death march trying to get this thing out. And so we push really hard. This is before the cloud for the most part, so we wiped pretty much all of our existing servers to re-image them to the new software. We try to bring the site up and just keeps crashing. And so it basically takes us a month to get it fully functional again. And so that day sitting around that table with champagne and sushi, That's just like day one. And by 30 days in, most people aren't even trying to get the site back up anymore. There's maybe like five of us who are still trying. And we did. And I think that was a really powerful moment for me. And I think in the first two days, myself and Rich Schumacher, one of the other engineers, we had to write a caching system from scratch. which got us like half the way up. Really a terrible way to do software on a side note. Like, I'm not recommending this to anyone. This was like a series of anti-patterns kludged into a launch. But we got it partially up, but we had to restart it every 12 months. Basically every server, sorry, every 12 hours, every server had to be restarted even with the caching mechanism. And then, you know, about three weeks after that, like I finally figured out what the core bug was that was bringing us down every 12 hours. And it was this, incredibly simple issue that had just been hard to debug, basically related to the way that Python initiates variables used as default parameters. And it's something like super, super silly. And we just had someone who hadn't written Python before who was working on the API code, so they didn't realize this gotcha, then no one else caught it when it was reviewed. And it just took a long time to debug because it was like, Such a non-obvious, it didn't break anything. It was just doing a lot of extra load on the servers. And we finally figured it out. And it was just really remarkable experience pulling through. And you know what? The company still went to zero. And so we had this bad launch. I think we did this heroic stretch to get it working. A couple of weeks after that, a new CEO came in. did a round of layoffs. This is back, I think, like 20, 2012. The team, nine months after I started, was down to like 30 people from about a hundred. And it just went, it went downhill from there from a, from a business perspective. But we launched a lot of functionality, has really learned just a tremendous amount. And it kind of shaped, like, what I think about in terms of earlier career, getting learning. and going into a company that is maybe having a rough time. Like I became a manager like two and a half years into my career, three, basically running the entire engineering team there because everyone who had a lick of sense quit or got laid off. And it was just like complete idiot me, like trying to like be the manager for the engineering org. It wasn't qualified and no one would have given me that job, but I was the only one dumb enough to take it at that point. and I learned so much. And I really like that, that's like the kernel that turned into my entire career was that opportunity, even though at the time it was pretty grim.
That's an amazing story. I feel like a lot of these experiences where in the moment it's just like, what is going on? This is so bad and hard. End up being the most interesting in looking back, end up being the most biggest teaching experiences, the ones you bond over with people you work with. like Apple always comes to mind where it's just like Steve Jobs just joked people like crazy and then they look back and that was the best moment of my career.
You would never like voluntarily take on a lot of these really challenging things, but sometimes like when they show up, like you're with a group of people you really respect, you love working with and you like want to overcome together and that's like, that's really powerful experience. Even if Uber China was similar where like if someone had been like, Hey, do you want to go work on this Uber China migration? I would have been like, Absolutely not, but like no one asked. They were just like, get this done. And so, so we did. And I think these things are like pretty, pretty remarkable.
And just to be clear, so dig was down for a month basically during this period.
Is that, so it basically didn't work properly for, for much of the month. It, it was, it was like read only was back up in like about three days, but the vast majority of the actual user functionality just wasn't working properly for, for pretty much an entire month. and it was not that good. I mean, not great. But that wasn't the biggest problem Dig had at that point. But it was one of the biggest problems they had at that point. And it wasn't a real sign of things likely to go well for us. But like I said, you learn from those. And I'm really proud that we and the team got it working. Got it, got it running, even if like ultimately, like we still went to zero and like ran out of money and kind of sold, sold for parts.
Do you think Dig could have made it? There was a world where Dig would have been a hugely successful business, or do you think it was just way too late and it was the wrong product?
The thing that really killed Dig is the change. It was an SEO driven, like, so monetization was from ads. Dig was the, well, many companies, including Dig, claimed that it was the first, in kind of stream. in feed, like advertising company, where Twitter has ads within the tweets or Facebook does. But Dig did that before Facebook or Twitter really innovated kind of the ad format. But the vast majority of our monetization was on these, we called them perma link pages, which is the page for you, then article we crawled. And the vast majority of traffic for that was driven by Google search. And so there was an SEO change, which really is the thing that started creating the urgency for us to launch this migration. SEO changed, traffic started going down, monetization was driven by that. And so we were already on fire by the time we tried to launch this. But I do think that I still want something like what Dig was trying to become today. Social news based on what my friends are actually reading and liking, merged with a global index of similar users who are interested in similar topics. So still a product that I think Google Reader had some kind of similar components to it. These are both interesting products solving interesting problems that have not, for whatever reason, been successful as businesses. And I do think there's a gap there still, but there's a lot of people trying unsuccessfully to fill it. And there must be a reason why people struggle to fill it despite so many people trying.
Awesome. Will, is there anything else you want to share or leave people with before we get to our very fast lightning round? Because I know you have to run in about five minutes. I think we've covered a lot of it.
New book coming out, new book coming out in February, Engineering Executives Primer O'Reilly, but that's probably it. Awesome.
Where do people find that? I know it's on O'Reilly. You can look at a preview of.
It even today, right? Yeah. O'Reilly, you can see that the early copy, you can order it on Amazon.
As well, but it won't be shipping until February. Okay. And then just to be clear, who's this for?
It's for engineering executives.
By the sound of it.
It's for engineering executives, but more so like anyone who wants to be one, anyone who's trying to figure out how to work with an engineering executive. So I think if you are struggling to understand why your CTO keeps doing boneheaded things, or if you want to side manage them, you're the head of product and you can't get the CTO to stop complaining about the engineers need more interesting projects to work on, this might be useful for you too.
Amazing. Okay, ready for the lightning round?
Let's do it.
What are two or three books you recommended most to other people?
So I talked about Thinking Systems, a Primer. I talked about Good Strategy, Bad Strategy. But I'll give you a third one, which is Don't Think of an Elephant by George Lakoff.
It's a really interesting book about framing things in conversations that has really changed how I communicate.
Amazing. Favorite recent movie or TV show you've really enjoyed? I don't watch much TV or many movies anymore, but something I do still watch is Top Chef with my wife. She's a top chef. Super fan and there's something just like very relaxing from like these formulaic structured shows where you kind of know what's going to happen. There's no real consequences that matter too much and just kind of escaping from real life through these like formulas can be pretty, pretty peaceful.
Never one's ever mentioned Top Chef before, so that's fun. Do you have a favorite interview question that you like to ask candidates that you're interviewing for a job?
A lot of my interviews now are trying to help people decide if they actually want to join a company. And so my favorite question I ask now is like, Hey, we really love you. You're gonna come through. I think you're gonna get a lot of offers from other companies too. I bet you'll have three or four really compelling offers 'cause you're a fantastic candidate. How are you gonna figure out really specifically which of those options are right for you? And I think it forces people to tell you what they want, and then you tell them why you have that more than anyone else, and then you can actually pitch them on what matters versus pitching on things that don't.
Love that. Do you have a favorite life motto that you often come back to, share with friends, find useful either in work or in life?
No, no mottos, but I can think of like two things I thought about a lot. At Uber, something I talked to people a lot, because it was a challenging time for much of it was, there's no way around just through. And that was like, hey, we're not gonna dodge around this, we're gonna gut through it, and we're gonna get to the other side, and then we're gonna be there. what I think about a lot more now is, will anyone remember what we decided in six months? I think people stress out about a lot of decisions, but I increasingly believe most decisions people stress out about just aren't that important. So I'm like, well, anyone care in six months what we did here? And the answer is no, just do something reasonable and let's move on to the next more important thing.
I love that. You've done a lot of writing. Is there a piece that you've written that you feel is underappreciated that no one really totally got and hasn't spread and you're like, oh, I'm so proud of that one.
Maybe the piece I'm most proud of from last year was hard to work with. So hard to work with is basically, I see a lot of people who are incredibly talented, but they try to hold their peers to a high standard, and then they're viewed as like combative or difficult to work with. And this one comes from a core struggle of my early career where I kept trying, I thought I was holding people accountable, People were just like, you suck to work with. And I was like, but I'm just trying to have a high standard. Isn't that what we want? And every, like, talk about honest values. Every company is like, we have high standards. And you're like, well, let's do it. And then they're like, we don't have high standards here. Like, you suck. So that one's one that really is so transformational to me. And I think it really hits some people hard because I think a lot of people really go their entire career without figuring this one out. And they're some of the most talented, hardest working people you'll ever work with. and can't quite land this one idea that's holding them back. And they care so much and they are often despised because they care so much. And I think this is one that I hoped more people would read over time. I think there's a really important lesson for me in there.
Well, we will link to it in the show notes and help more people discover it. Two last questions. Where can folks find you online if they want to reach out and maybe follow up on questions? And how can listeners be useful to you?
So find me online lathan.com L-E-T-H-A-I-N.com all my writing, my books, everything links linked there and the biggest thing that I'm thinking about right now is just strategy so really curious for folks who are thinking about strategy think they've done product business or engineering strategy well would love to hear from folks what they're thinking about what's actually worked and maybe what are the lies that that have not turned out to work that they thought might work earlier in their journey.
Amazing. Will, thank you so much for being here.
Thank you so much. This is really fantastic.
Same for me. Bye everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify, or your favorite podcast app. Also, please consider giving us a rating or leaving a review, as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lenniespodcast.com. see you in the next episode.
More from Lenny


How Meta designed Muse: an AI agent people actually want to talk to | Alex Cornell (Design Director)


Why every company now needs to think and operate like a lab team | Josh Woodward (Google Labs, Gemini, AI Studio)


Jev: 8 real use cases for the fastest, cheapest model I’ve ever used | John Lindquist


The grief, loneliness, and burnout sweeping through the tech industry right now | Molly Graham






