The Pragmatic Engineer - DHH’s new way of writing code

Episode Date: April 8, 2026

Brought to You By:• Statsig — ⁠ The unified platform for flags, analytics, experiments, and more.• Sonar – The makers of SonarQube, the industry standard for automated code review• WorkOS ...– Everything you need to make your app enterprise ready.—David Heinemeier Hansson (DHH) is the creator of Ruby on Rails and Omarchy, co-founder and CTO of 37signals (maker of Basecamp and HEY), and the author of several books including the best-seller, Remote: Office Not Required, co-written with Jason Fried.Six months ago, in an episode of the Lex Fridman podcast, David shared how he doesn’t use AI tools to write code: he types out all his code. But things have changed a lot since then. In this episode, we discuss his approach to building software, how it’s changed in the last six months, and why he now takes an agent-first approach, and how he barely writes any code by hand. We go into how he uses AI agents: which alter how he builds and explores ideas, but also how his standards of quality and craft remain the same.We also discuss how 37signals thinks about product development, from the role of designers to the importance of aesthetics and taste. David gets into how he sees beauty and functionality as closely linked, and why strong opinions about design lead to better software.Finally, we look into the uneven impact of AI which amplifies senior engineers while creating challenges for junior developers, and what this may mean for the role of the software engineer.—Timestamps(00:00) Intro(02:11) Omarchy and Ruby on Rails(08:25) 37signals overview(10:12) Launching HEY(18:38) Building HEY(22:47) Designers at 37signals(28:08) The craft of design(31:52) Why DHH now embraces AI workflows(39:45) The AI inflection point(44:23) DHH’s agent-first workflow(55:09) AI’s impact on junior developers(1:03:08) Developer experience with AI(1:16:43) What does AI mean for developers?(1:23:33) 37signals teams and hiring(1:38:20) Work-life balance with AI(1:41:41) Why DHH keeps building(1:45:24) Closing—The Pragmatic Engineer deepdives relevant for this episode:• Are AI agents actually slowing us down?• How Claude Code is built• The future of software engineering with AI: six predictions• The AI Engineering Stack• Mitchell Hashimoto’s new way of writing code• How Linux is built with Greg Kroah-Hartman—Production and marketing by ⁠⁠⁠⁠⁠⁠⁠⁠https://penname.co/⁠⁠⁠⁠⁠⁠⁠⁠. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com. Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe

Transcript
Discussion (0)
Starting point is 00:00:00 How has the created of Ruby on Rails change how he built software now with AI agents? David Heinemhire Hansen often referred to his DHS, created Ruby on Rails, O'Machi, and is the co-founder of 37 signals. He bashed capabilities of AI coding tools on Lex Treason's podcast six months ago. Then, over the course of a few weeks over the winter break, he did a 180 turn and went AI first on everything. In today's conversation we cover how David and his team at 37 signals built software today and how AI tools are making them more ambitious than ever before.
Starting point is 00:00:29 Why Ruby on Rails and Linux could become even more popular than they are today, as they are both well-suited working with AI agents. Why taste and beautiful software are becoming more important and why both stand-out designers and engineers who care about the craft could become more in demand, and many more. If you're interested in what one of the most experienced builders in the tech industry thinks about the practical utility of AI tools and how these tools could impact software engineers who care about the craft, then this episode is for you. This episode is presented by Statsig, the Unified Platform for Flags, Analytics Experiments, and more. Check out the show notes to learn more about them and our other season sponsors Sonar and WorkOS. David, it's awesome to have you here. Thanks for having me.
Starting point is 00:01:08 Thanks for coming, I should actually say. You're in Copenhagen, that's my city of choice at the moment. It's a beautiful city. It's got so much going for it. And so what have you been up to? I'm always building stuff. I have been building stuff for a good damn three decades now on the internet. I got started back in 94, I think it was, when I first got exposed to it.
Starting point is 00:01:28 and basically just never stopped. And in the past six months, I've been building a variety of things. One of them is a new Linux distribution called Umachi. I switched to Linux about a little over two years ago, I think now. First spent some time on Ubuntu, having fun with that, and then realizing I actually wanted to make my own system from scratch, building it on top of Arch and Hyperland.
Starting point is 00:01:53 So put a lot of time into Amachi. It got started as a summer project in between racing, at the 24 hours of Lamont. There's a lot of downtime in that week. So I just started hacking on it and it really took off very quickly thereafter. It's been a truly inspiring ride to see that even in a market as crowded as Linux distributions, there's about 7,000 different distributions out there. Some of them are long pedigrees and many of them even based on sort of kind of similar vibes to some extent, there's room for something new. And it's a great reminder that, that all the ideas in the world may be taken and it doesn't matter because your spin on it isn't.
Starting point is 00:02:33 And I put my spin on Linux, build Omachi, built the perfect computer system for me and saw exactly the same thing I've ever seen. Whenever I build something that really just hits the spot for me personally, there are thousands of others just like me or close enough to what I like that they find the same pleasure and joy in it, whether it was Ruby on Rails, Kamal getting out of the cloud, any of these things, it's the same syndrome. Yeah, with Rails, you were literally scratching your own itch, you were just building your own components and then open sourcing them. Is that how it started? Basically, I picked up Ruby in the early 2000s and really put it to the test in 2003 when we started building Basecamp.
Starting point is 00:03:18 And I did not have a mandate of what to use to build it. Prior to that, I'd been working for a lot of client projects that would say, well, we're, We're building this in PHP because we have someone who knows that. So this is what you have to use. And then we were building our own system. We're building Basecamp. And I was free to choose. So I chose Ruby. And at the time, Ruby didn't have any tooling or not very much when it came to web application.
Starting point is 00:03:45 So I had to build it all myself. And that turned into Ruby on Rails, which is still going strong. I'm still very heavily involved with that. I think in some ways, Rubin Rails is having a little bit of a renaissance now. that it is one of the most token efficient ways of building web apps. It's ideally suited for the agent workflows we're dealing with now. We'll see how long that lasts. Maybe all the agents are going to be writing machine code or assembler in about five minutes.
Starting point is 00:04:11 So maybe that comes to an end. But for the moment, token efficiency still matters. And it still matters whether the agents produce code that humans are able to read and verify. That may also come to an end at some point. But as it is right now, it's been a fun ride to just see these kinds of projects where I'm scratching my own itch, resonate with a much larger community of people who then show up and want to help. I mean, for Umachi, which has only been around for, what is that, just over six months now, we have, what, 400 contributors who've made code changes to the distribution. And on top of that, we have tens of thousands of people who've installed it and used it as their daily driver. So I always love that discovery of something new, novel, and inspiring like Ruby, or it sounds weird to talk about discovery of a operating system that's been around since, what, 91.
Starting point is 00:05:05 But for a lot of people, Linux now is that discovery because they have not been using it on their personal computer. So they're seeing it for the first time. And for me to help a new cohort of Linux users and hopefully even enthusiasts come to be because, I'm flattening the curve a little bit. I'm making it easier to get started. I'm making the default installation just look amazing, just that they don't feel like they have to invest 100 hours into tweaking this system to get going.
Starting point is 00:05:35 It's really fun. But what's also fun, of course, is that both of these things, both Ruby and Rails and Umachi, were not just hobby projects. I love hobby product. And I will always do those, but I also like to apply them to business. So at 37 Signals,
Starting point is 00:05:50 We built an entire business for 20 plus years on top of Ruby and Rails. We're now running Linux on the majority of developer machines because we now have our own distro. So it's Obachi. Omachi is... I mean, people can choose, right? Can they? Well, sort of kind of. We started with an open choice.
Starting point is 00:06:10 And then at some point, it just doesn't make sense anymore. In the same way, it would not make sense for someone to be at 37. I want to write this thing in Django. We're going to use Python and this other framework, even. even if you have Ruby on Rails and you're doing that. So we pivoted from an early invitation to play around. That was what when I first switched to Linux, I just said like, hey, if you want to check it out, check it out.
Starting point is 00:06:31 Then when things got a little more serious with Amachi, I just said, let's go all in. For everyone who's on the technical side of things, not the iOS developers, of course, but anyone who's working with the web, who's working with Ruby, who's doing DevOps, they should be on Linux because, first of all, that's closer to what with the,
Starting point is 00:06:50 We've always deployed on Linux. We've been a Linux shop on the server side since day one. For developers and system operators, I actually think it is a material advantage to be closer to your production environment and just be more familiar with the tools. Then on top of that, of course, we're building this distribution and we should have as many hands help out as possible. And given the fact that I'm the CTO of this company, I get to set the technical direction and this is the direction we're going. Can you just like do a like just a very short recap of, you know, like how you grew and right now, where are you? Like where is the business as a whole? And you know, you keep building, you keep launching new and exciting and just cool stuff. I think Fizzy was the latest one. Yes. So 37 singles was founded in 1999. It started as a web design firm. And then I joined up in 2001, two years after. And for a couple of years collaborated with Jason on these consulting projects. And then it was in two. 2003, we started work on Basecamp, released it in 2004. Actually, either the day after the day before, Facebook went live, which is kind of a funny
Starting point is 00:07:57 coincidence that we were of that same time and cohort. And within about a year, we realized this thing was taking off and we went full time and switched from being a consultancy to being a software company. Awesome. And that's now 22 years ago, a little more than that. And in that time, we've released a ton of products. Basecamp was the first. Remains the biggest and most important.
Starting point is 00:08:24 Which is also kind of funny because you sometimes perhaps have this delusion that as you learn more and as you get more experience, you'll get smarter and you'll have better ideas. And like, no, there's tons of people for whom their first idea was the best idea. And I have no shame in saying that Basecamp was the best idea. objectively in terms of a business that we've ever had. And I'm incredibly proud that we've been able to keep that going and growing and flourishing for over 20 years. Very few software companies, let alone software products, can boast of that longevity and legacy. But we've tried a ton of things over those years and had some other great successes. We launched Hay.com, our email service, back in 2020, which was a crazy mission when you think about it.
Starting point is 00:09:12 Here is a sector completely dominated by a single player, Google, with Gmail. That's a good product. It hasn't really changed in 17 years, but it was really solid. And lots of people are perfectly content with it. They think. They hold this duality in their head where at once they both hate email, but somehow don't connect it to the fact that they're using email, which I find curious.
Starting point is 00:09:35 But either way, we launched this that is not only a competitor to this very entrenched product that has probably a greater grasp on market share in any major category than any other product I can come to mind of. In the U.S., I think Gmail is something like 85% of all email traffic, which sounds insane. Maybe it's 80%. It's incredibly high. It's basically Gmail and then all the rest is in this tiny little part of the graph. So we thought that after using Gmail, I used it since I don't know when I signed up a few weeks into it. I got one of those invite codes. That was a really clever launch.
Starting point is 00:10:16 And I used it ever since. So that's literally 17 years or something of that of Gmail usage. And over that time, I built up a lot of opinions about things that didn't work quite like I would prefer it to work. And we put all those opinions into a new software product. Spend about almost two years developing it, millions of dollars in accumulative R&D funds. And launched it in the summer of 2020, which, by the way, time to launch a product. 2020 wasn't great for a whole host of different reasons. We were kind of trying to slot in a,
Starting point is 00:10:46 can there just be a week where the whole world is not just insane? Yeah. We finally picked a week. We went live and then we had the battle of our lives with Apple. With Apple. I remember that. And ultimately, they didn't want to prove your app. They didn't want to prove our app unless we paid the toll fee, the 30%.
Starting point is 00:11:04 And they were basically willing to say you can't be in the app store. which for an email product like that is a death sentence. Yes. You have to be on not just mobile phones, but specifically the iPhone. This is true today. The majority of a paying customers are iPhone users because that's the largest, most affluent market in the U.S. And the U.S. is the most affluent and software market in the world. So for that business to work, we needed to be on the iPhone.
Starting point is 00:11:34 After a two-week epic struggle back and forth, thankfully, time to perfection with WWDC where Apple preferably didn't want to look like the Goliath squashing a tiny developer we ended up being allowed in and Apple sort of rewrote
Starting point is 00:11:53 the rules after the fact to make it fit. It was a small victory, not the ultimate victory but at least it allowed us to be there and hey ended up being an enormous success in part ironically because Apple gave us wall-to-wall coverage
Starting point is 00:12:09 for two weeks. When I look back upon that, I think I wouldn't have gambled like that because the outcome would have been zero, right? Like Apple refuses our app. We sign up 200 people and the app is dead. What instead happened was they gave us a multi-million dollar launch campaign and coverage in all major media. And we signed up tens of thousands of people in those first weeks. That was an insane event, but also very satisfying. And the other satisfying thing was I just love hey. I use it every day. I basically use Basecamp in terms of web applications. That's where we do all our collaborative work. And then my number two app and many days it's my number one app is, hey, because I just do all my stuff in email. I'm constantly communicating with people.
Starting point is 00:12:56 I'm writing. I'm doing a lot of stuff in email, as many people do. And having that be a pleasurable experience and a nice environment and my inbox being a little more sacred than what happens with Gmail where total strangers around the world can just make your pocket buzz if you have notifications turned on, which they are by default, just seems insane to me. This idea that there's direct access to one of my most important daily priority lists.
Starting point is 00:13:23 Like, anyone can put something on that? Insate. Anyway, hey, doesn't do that. We have the screener and no one gets to reach your inbox before you've said, I want to hear from this person. And most of the time I say no to most people, right? Like things end up in the screener and we have thumbs up. I will hear from this person.
Starting point is 00:13:39 Thumbs down. I'm never hear from them person. Again. This is how I reached out. I mean, we were, I'm not sure we were connected on X, but I said Vignal because your email is out there and your screener seems to have work because it gave me the thumbs up. It did because the screener is me. So there's not even AI trying to suss out whether I want to hear from you or not.
Starting point is 00:13:58 Because what turns out to be true is it's actually not that onerous to once a day go through your screener and say thumbs up or down because there aren't that many people in the world. And if you say no to the annoying, pestering salespeople who within Gmail managed to reach your inbox seven times, then the workload is much less. And it's very satisfying, I would say, too, because when I was using Gmail, I would get roped into this sales tactic that they, of course, rely on, which is that like, you write back and say, like, no, thank you. I'm not interested. And then they would respond again. And now you feel like, wait, am I know. I'm obligated to respond to this person.
Starting point is 00:14:34 I kind of feel like I am. And occasionally I would end up writing. And even if I wouldn't write, they still have access to my inbox. So I would hear from them again. Next week, they have a whole drip campaign. They all fucking do, right? That any outreach is seven emails. It's not one emails.
Starting point is 00:14:47 It's seven emails. And if you show any sign of life, it's probably 52. That's just not how it works. And hey, I say, thumbs down one time, never hear from that person again. It's actually amazing how quickly you can curate your garden from that weed. And then suddenly there's just beautiful flowers. suddenly email is not a chore. So you want to go smell the roses. Suddenly the majority of things that end up in my email are things I want to read is from people I want to hear from. And that was really the fundamental mission for us with Hey. Can we make email lovable again? Email is so hated by so many people because the systems are so poor. Because they're based on the original premise that email is just what universities use for scientists to talk to each other. And scientists have really good manners and will not pastor you. 52 times about some stupid app they want to sell you.
Starting point is 00:15:36 No, they're respectful and beautiful, right? Beautiful ideal, beautiful thought, beautiful protocol designed for those norms and those people. Then you let it into the world at large and you realize, ah, not everyone is endowed with such norms and such politeness. And especially when salespeople get involved. So you need better defenses. And for me and for us and for all I'm many customers, hey, is that defense? It is a way to love email again. And I find that it's really important, actually, to have a grand why.
Starting point is 00:16:07 This is all the way back to Victor Frankel, the meaning of man. Finding a why allows you to walk through the snow when it's cold and uncomfortable and annoying, which many things are when you're building with computers. They are cold and uncomfortable and annoying. Now, it shouldn't be that most of the time, but occasionally that would be there. And if you have a really strong why, why are we building this? Who is it for? What are we trying to do to improve the world?
Starting point is 00:16:36 Even if that's not more grand than just letting people love email, it's a lot easier. And it's a lot more enjoyable to then carry whatever burdens you've got to pack if you can set it up that way. This is a good time to talk about our season sponsor, WorkOS. Having a strong why is what gets you to building something great. But after you build it and start selling it to enterprise customers, they expect things like Samuel, SSO,
Starting point is 00:17:01 directory sync, audit logs, and fine-grained permissions. And those are not small features, they're systems. Systems that can take months to build and maintain. WorkOS gives you APIs to add enterprise ready off and user management in days instead of months, all designed to fit cleanly into your product. That's why companies like OpenAI and Trophic and Cursor run on WorkOS. Focus on building your product, let WorkOS handle the enterprise infrastructure. With this, let's get back to David and the old way of thinking versus the new way of thinking.
Starting point is 00:17:30 putting our your developer hat on like can you talk talk me through on how you built it you said it was two years but was it just one or two people
Starting point is 00:17:39 starting to build it I'm sure as tech you obviously must have used Ruby on Rails a lot and then I don't probably some native stuff as well but the two years seems a lot especially because you know
Starting point is 00:17:49 you're a small company you're a nimble you're a great developer you hire great developers suddenly it's been two years what took so long for and of course it's a beautiful product but right on the surface
Starting point is 00:18:00 I think as developers, we might have this thing where I look at it as like two years with the talented team. That's the hacker news quipped to basically everything, right? Like, I could have built that in a weekend. I mean, famously stated with Dropbox that I could have built that in a weekend. We could have the original iPod when it launched. It was like five gigabits, no Wi-Fi, whatever, less speed than Nomet Lane. So I get that because I also have that same instinct. I think that is our Hoopers as developers.
Starting point is 00:18:30 We think we are gods and we can make anything happen in no time at all. And you totally could. You can make a prototype happen these days faster than a weekend, right? Like in a few hours, we should be able to have. Just kick up an agent. But figuring out what you actually want to build takes a lot longer. And arriving at something that's worth publishing takes longer still. At least it does for us.
Starting point is 00:18:54 And I think it does for anyone who arrives at anything good. And the original Haye construction was just me. on the technical side. This is actually how we've started. The majority of our major products is either it's just me. Sometimes it's one additional developer, but is in a tiny, tiny team until we have a shape. Until we have an architecture and we have a direction of where the product is going to go,
Starting point is 00:19:19 I've found that you actually go slower if you pour a bunch of people into a direction that is uncertain. If you don't know what you want, a million people is not going to build it for you. have to figure out what you want. We can talk about this later, but this is where AI's very recent progress is changing things dramatically. It is now quicker to arrive at what do I want. But for Hey, it was me. And then it was Jason and one designer, two designers, very, very small team, trying to figure out the shape. Trying to figure out, if you're taking on Gmail, you can't just do Gmail in blue. No one's going to buy that. No one's going to be interested in that. It's got to be novel, which means it's, well, not just novel.
Starting point is 00:20:02 It's got to be good. It's got to solve problems that people haven't even articulated they have with Gmail. Because the articulation people have of their problems with Gmail is I hate email, which as we talked about, it's a bit of a misdirection. My contention is you hate Gmail and not just Gmail, but most email systems build on the old way of anyone has access to your inbox and all that stuff. But figuring that out, figuring the shape out takes a while. And it's also fun to do in this way where you noodle with it. And you don't have infinite capacity.
Starting point is 00:20:37 The original base camp is built the same way. It was just me on the technical side. Is this a shape-up mentality? There's shape-up thinking in trying to actually endowed the designer with an intention of how should it work, not just how should it look, and figuring out it's also how it should look. Products should be beautiful and they should be unique and appealing and so forth. That also takes time. But figuring out how it should work is primary,
Starting point is 00:21:03 figuring out where's the epicenter, what's the most important part and teasing all that apart. But with, hey, as with all the major products we've done, we start with an absolutely tiny team, often just one individual on the programming side and then one or two individuals on the design side. And then we go, we go, we go, we go, we go.
Starting point is 00:21:21 Suddenly something clicks in, we go like, this is good. There's something here. And then there's a bit of a ramp. We take on a few more people. And then when we get within maybe the last 20%, we go, okay, now we know what the terrain looks like. We can go way faster if everyone piles in. So one thing that is super interesting, and you might take it for granted,
Starting point is 00:21:42 but it's very different to how most startups that raise VC money, which I'm very familiar with, and big companies, Uber, Facebook, you name it. The way projects would start there is you take the product manager who works with maybe half a designer and comes up with a spec and then developers get involved later. And what I'm hearing, what is very novel to me is you take one or two designers and a developer.
Starting point is 00:22:06 How do you think about designers even? You recently hired a designer, Zoltan, actually, who I'm chatting with the side. A great guy. But my sense is you think of designers a little bit different than potentially the rest of the industry does. We very much do.
Starting point is 00:22:21 Designers at 37 singles are not just here to make a spec look pretty. They're here to find what the space. should be their product managers in many ways. They are the finders of the how and the why in many cases, deducing in some cases customer feedback, in other cases just pure intuition and distilling that into what should we build and how should it work. And then on top of that, they're also responsible for building it. They're responsible for doing the CSS. They're responsible for doing the HTML. They're quite often responsible, at least dabbling in the JavaScript and the Ruby code to
Starting point is 00:22:58 get to something functional. And now, with agent acceleration, they do the whole thing. Not necessarily as it will be merged, but the whole thing in terms of here's the final shape and design of what it should look like. But I do think we are very peculiar in this sense. And we have found this when we've been trying to hire designers, that many designers working other companies are not used to also wearing the product manager hat, figuring out what we should build, and wearing the implementation hat, shaping it into CSS and HTML. I found that when you combine these three hats into one, you have an individual who know the materials they're working with,
Starting point is 00:23:38 know how they stretch, know which way the seam is supposed to be cut, and therefore works natively with the fabric of the Internet. When you're working directly in CSS, when you're working directly in HTML, you're just much more in tune with what this medium wants. and I find that that's probably quite similar if you're a jewelry designer. You should know the properties of gold. You should know how it bends into strength.
Starting point is 00:24:03 An architect should have some engineering understanding of load-bearing structures and so on, not to the degree that the architect is just going to design the whole thing and then we start pouring concrete. You still have engineers helping you out. But the more you understand the materials you're working with, the more you're likely to come up with something that cuts along the grain and therefore ends up feeling correct, feeling good.
Starting point is 00:24:29 Just a quick hop to Apple, I think this is one of the reasons why some of the historic superfans like Daring Fireball and others, Gruber, a bit disappointed by the new direction, is that Apple used to stand for these exquisitely designed native Mac applications, which is a dying breed. Like, they're essentially dead. Now we have electron, which we can. You can talk about that too. It gets way too much hate in my book. There's crappy information of that, but it's just a web in a box. But the disappointment with losing that sense, and I think it's about the same thing, that the Mac, its native feel, has a stretch to it.
Starting point is 00:25:11 Like the button placements, everything you would call a native application, either feels synthetic or it feels authentic. And today it's all synthetic. There's nothing authentic about it left. And I think for the web, it's the same thing. Now, the web is a much, much larger platform, and therefore it's gotten much more attention. So there are way more people working on that quality of it. But at the large companies, it's exceptionally rare to non-existent, to have that kind of dynamic. I think some of that is going to change. Agent acceleration is going to empower designers to be more capable in these ways. So the industry is coming a little towards our fundamental stands, which is funny too
Starting point is 00:25:53 because the same is true on the programming side, when I talked about Basecamp being a product of just me on the programming side for launch, that for so long sounded unambitious or even wrong or even to the point of lying from some quarters of the internet. We're like, yeah, but you can't build anything real, anything meaningful, or anything big,
Starting point is 00:26:14 unless you have a team that's much larger because it's just going to be a toy product, right? And my insight from the start was that's, of course, bullshit because you just haven't used Rubion Rails. You just haven't used the acceleration that's possible if you use better tools. Now, we're all realizing that. We're realizing, oh, so if you use agent acceleration, a single individual actually can build something highly valuable. Yes. And that's just fun to see that, like, the industry is coming towards, oh, smaller teams are better
Starting point is 00:26:46 because now the cost savings you have on the logarithmic curve on communication cost starts to be relevant. And this is one of the things, maybe we can talk about this, where agent acceleration is really changing the bargain between junior developers and senior developers. Let's talk about this. But before we go into that, do I feel that you very much value software engineering as a craft, which is very obvious? but what I'm sensing is you're valuing design, user experience design, designing on software design, like building stuff that feels good, may that be software, hardware. You also value that as a craft and you look for it. Like these two things, do I sense this correctly?
Starting point is 00:27:27 I mean, I think aesthetics is truth. When something is beautiful, it's likely to be correct. I think this is true in mathematics. This is true in physics. This is true in a lot of different domains that when you arrive, that's something that has the correct aesthetic quality. It's like we have an intuition that guides us towards that level of beauty because it also happens to be correct and noble and something to aspire for.
Starting point is 00:27:54 I also happen to believe it's what makes people happy. Being surrounded by beautiful, well-functioned objects is a key part of happiness. In fact, I'll put it in a negative way to, One of the great sources of anxiety and frustration is when everything is shit, when everything is laggy, when that touch interface doesn't register, when you have to restarted, when you're calling a travel agent, they can't do something because their old shitty copold system won't let them, right? The world is full of not just in shittification, that is things that went from being good to being bad, to just plain bad, just plain awful. And I think it is a serious source of malaise for civilization, that we could literally raise the bar of human happiness if we were surrounded by more beautiful items, more beautiful systems, both in the sense of its aesthetic exterior qualities, but just as much in terms of its aesthetic interior qualities, because I find those two things are usually in perfect harmony. The reason why Steve Jobs cared about the inside of the box was because he intuitively knew that the kind of people who care about the layout of the print board will be the kind of people who sweat the details on the user interface will be the kind of people who sweat the ergonomics of opening the case. So I think there's essentially no choice.
Starting point is 00:29:25 If you are a person who is attracted to this aesthetics, which I think is everyone, there's. There's just varying levels of awareness about whether you are or not, but that you want to make it all beautiful. And for me, Ruby in particular, has been this seminal language because it produces the most beautiful code. In my book, there's barely even competition. Like, there are other things that can be beautiful in a way. Like, I find looking at small talk, for example, very beautiful in its minimalism, but it's not the house I want to live in. Ruby is the house I want to live in because it's got that aesthetic quality. while not being rigid about its ideology,
Starting point is 00:30:06 which is a very rare aspect too. I more often find now we can refer to Ive again is that when someone is obsessed in this way, they are a little narrow-minded. Like that's the trade-off, that's the price. And I find that Ruby has somehow managed to be both broad-scoped, yet also intensely focused on this. But overall, we have to have beautiful things.
Starting point is 00:30:30 We have to work with beautiful tools. we have to produce beautiful fluid interactions. This is how we should see ourselves as craftspeople, that we care about polishing it until there are no splinters left. How is AI changing how you work and how do you think it's changing your craft? Or let's just talk about the craft of, again, you're hiring people in 37 signals who similar to care about design and software, craft's quality.
Starting point is 00:31:00 How is changing what you get? out of the craft or how it's making it better or worse in some ways. I just want to start with like, how has your view changed? Because the last time you talked in length about this that was on Lex Friedman's podcast, and you were still rightfully so, very skeptical of AI. It was a different set of tools. It didn't work as well. And I think you went there bashing it pretty hard. But things have changed since. This is a nuanced point and maybe it's self-serving. But I don't actually think my opinions have changed. What have changed is the circumstances and the facts. is something I called out on that show,
Starting point is 00:31:35 and in many other writings, was right from the get-go, I could see that we had something new and novel here that was going to change things. ChatGBTGBT, T, it's launched, what, three years ago, was clearly and obviously, even at the time, something you would mark on a timeline. You're like, here are all the important things
Starting point is 00:31:55 that happened in the history of computer science or the world. Yoinks, there's the launch of chat GPT. and interacting with computers in this way and seeing them reason, even if that's still a disputed term, perhaps. But to me, it seemed obvious that these things were freaking smart, smarter than me in many ways.
Starting point is 00:32:14 Whether those smarts came from parenting weights and data can't belating so what, we don't know how human consciousness works. We don't know how human wisdom or intelligence works, barely. So let's not be so categorical about what constitutes consciousness or intelligence. At least I find no utility in that distinction,
Starting point is 00:32:35 even if it's fun to ponder. But what I found with the early models and the early ergonomics, where it was autocomplete, where it was copilot and cursor in your editor, trying to guess the next character. It would be something littering it, right? Yes, I found it infuriating.
Starting point is 00:32:55 I found it as we're trying to have a conversation, you won't let me finish the sentence. You're constantly trying, was this what you meant? Was this what you meant? You're like, shut the hell up. Can I just finish a thought? And I thought even if it is capable of occasionally accelerating, it's also wrong so often that that acceleration feels like a nuisance,
Starting point is 00:33:16 even if it's somehow net positive, which it wasn't for me. Or maybe I gave up too soon. But I just did not enjoy that. I didn't think the models were good enough. I thought the way of using the models with auto-competitive, versus agent harnesses, which is dreadful, annoying. In fact, to the point that I got a little pessimistic about the direction of the industry for a hot second, because I thought this was what we were all going to do.
Starting point is 00:33:40 We're all going to sit and do tap, tap, tap, tap. No, thank you. Well, Kurt Kursor even have, they had, I even got one of these, one of their swags was a tap key. Exactly. Which felt very, and I haven't, I got it from them. It's really cool, very well designed on all that beautiful design. But dystopian. Dostopian.
Starting point is 00:33:58 When I see that, and I remember that was a meme for a while, just we only need three characters on the keyboard, right? I thought of that episode of The Simpsons where Homer puts a mechanical bird on the keyboard that just dips down and hits enter because all he's been doing is hit enter, except suddenly there's a warning about the nuclear core overloading, and the bird just hits enter and the whole thing burns down. I'm like, wow, that's a warning. That's quite a parallel. The Simpsons really does predict everything. But I did not like that
Starting point is 00:34:30 style of using it. As much as I retain my enthusiasm for the general direction of travel, because it truly is amazing. And the amazement to me, I tried to embrace as a tutor model, as a pair programmer who doesn't drive. It was amazing to have Chat Chitin and the other model just be there for like, I don't understand this fully. Here's a piece of code. Here's a question. Can you tell me why it works like that? Can you tell me what's wrong with it? Because that's how I've been using the internet since they won, right? That's what Google was for me. Here's an error message. Here's our concept. Maybe I find something on Stack Overflow with some passive-aggressive nerd telling everyone why he's so smart and then at the bottom there's the solution I'm looking for.
Starting point is 00:35:10 Or I don't find it at all and that's just kind of frustrating. With the chat GPT model, I very often got a really good explanation. Yeah, this was actually, I talk with a game developer, Jonas Tyrol, who built this really cool bestselling game. I love. playing it and this was during this time of the tab completion and he said that in his the way he works is he just turned off all auto completions in his ID because he got annoyed by it and then every now and I went to chat GPT to ask something or have a longer thing and then he had the mode of like I'm thinking and I'm doing this stuff oh I need some help okay here's the specifics and I'm taking it and and somehow it felt that you know like he just he was in the zone the whole day by controlling it and yes
Starting point is 00:35:50 and somehow those tab it sounds like you know you're saying the same I think it kind of took it away from you. Exactly. Exactly. And I did get a little worried that that was going to be the direction. We were all going to be the bird. And I didn't want to be the bird. Then I was like, well, what should I do instead?
Starting point is 00:36:04 Maybe we're like farming potatoes. Like that's a long tradition here in Denmark. Maybe I could take that up. But then thankfully, two things happened. A, clot coat in, what was that? Starts into spring. It's going sort of over the summer. Then by the fall has some traction on a new way of using agents
Starting point is 00:36:23 to help you code were with the agent harnesses, right? This is really where we transition from AI to agents. Suddenly the AI has tools. It can use bash. It can use everything you got on your terminal. It can call the internet in for appropriate information. It just is capable of doing more than just reasoning about a thing you gave it or input from a source context file.
Starting point is 00:36:47 And then the models. Opus 4.5 to me is the other one of the other points we're going to have on the line. where it's the first model that continuously and consistently would shock me with the quality of its output. Its quality of its analysis on the basis of vague inputs. And even more importantly, the quality of its output. It produced code I wanted to merge without very much, if any, alteration. And if I did want to do alteration, I could tell it. And it would remember. And it would not make the same mistake next time. That to me, the combination of those two things was the unlock. And you have a high bar. I mean, incredibly high bar. I, as we've talked about now, at length,
Starting point is 00:37:37 like the aesthetics of the output really matters if I'm going to look at it and I'm going to review it. I'm going to get another anecdote in a second where those things don't even play in. But when I'm using agents to work on Ruby code, I want their code to look as good as mine. I'm not going to merge their stuff if it's sloppy. No more than I would merge the work of a junior developer who has not yet fully internalized our style and so forth. So I wanted to be on par and on parity. And the early models just couldn't. That didn't mean they couldn't produce working software.
Starting point is 00:38:08 At least some of the time, they could. I'm very impressive. I mean, I remember when I did my first snake game and I'm like, holy smokes, I've been wanting to do this since I was six years old. Like, I've been wanting to have this idea. I want to get it into a game. And I was able to see that in, I don't know, a few 30 seconds. It was done with the game.
Starting point is 00:38:25 I've copy, paste the HTML. When you do your first. Magical experience, right? So I think that ramp was very interesting because it actually took a while until we found the form factor of the agent harness of the terminal interface that to me was the big. unlock from, this is interesting. I want to have a conversation with it to I want it to write my code. I will now start any project I'm starting agent first. And that's a massive ship. And it just
Starting point is 00:39:00 happened from November 27, I believe, is when Opus 4-5 dropped. Now, there are other people who have different points. They felt like, oh, is Opus 40? Or there's also GPT-5-2. Maybe some people talk about Son in 37. There are other earlier checkpoints. But I do feel like there's a general consensus I can lean up against that Kapathi and others have expressed like, yep, it was right around end of November, early December. Everyone who works worked at larger tech companies, it was the winter break because people just, you know, like the whole industry shuts down for two weeks, say for a few places where you're on call.
Starting point is 00:39:33 But again, no production work happens across the industry. Now you get to play with this. My sense was that people were playing with it because you give it your side project, you never finish, expect not to finish. And then they also got shocked. You're done. And that was just a. sort of break, right?
Starting point is 00:39:48 Like, if this was a movie, you'd hear the scratch sound. Like, you're like, wait, what? Rewind. What happened? I feel it was the most collective shock, which happened individually. And then people came back in January and everyone, especially because a lot of the decision makers who are, you know, like CTO, director of arranging, etc., were not as hands on, but they were hands on.
Starting point is 00:40:08 And a lot of them, it's this weird thing where they came back and they started to mandate or, like, say, all right, you guys need to use this because I've seen the future. I've literally used it. You need to see it. So we're going back to a little bit of hardware. Like people were trying to give, you know, like the new hardware into people's hands saying, you need to experience it because you're not going to believe it, right? There's something with this as well where you really don't believe it. We can talk about this and whoever's not tried it or not had that aha moment.
Starting point is 00:40:31 I don't think we can convince them. This is another one of those cases where words just are not effective. You need to sit down in front of open code or whatever harness that you use. Use one of the frontier models. start with that. Start with Opus. I'd say start with Opus. It's the best frontier model.
Starting point is 00:40:50 Other models are better at other things, blah, blah. But if you're just going to work on a piece of code and you want to see what the current frontier is, and if you, I mean, I'd be shocked if any of your listeners haven't done it already. But if there should be something left, now is the time. And I don't want you more and say in the sense, I found it really off putting this trend on X
Starting point is 00:41:07 where unless you've internalized everything, there is about AI like you've been left behind. Shut up. First of all, patently not true. You could literally pick up everything in the next three weeks. This is the other magical thing about this kind of project, right? Like, or progress. When, if we had been having this conversation in spring of last year,
Starting point is 00:41:25 everyone had been like MCPs, MCPs, MCPs. And do you know what? You can now manage to just have jumped over that entire thing and go straight to CLA's and skills. That's just worth having in mind that this FOMO, that unless you're up on all of it as it happens, play by play, you're left behind is complete and other nonsense.
Starting point is 00:41:46 That being said, I can still appreciate that some people were early. And for me, Toby Lutke at Shopify is the main individual who saw this and saw the changes that were coming from it were earlier than I did. And I've really helped drag me into this by constantly sending me like,
Starting point is 00:42:07 hey, you look at this, look at this. And I do think that's actually quite helpful. It's quite helpful to be surrounded by people who have a higher faith, or maybe their eyes are a little further up. My eyes tend to be relatively close to the road, like right in front of me. And some people have a gaze that have a little higher up,
Starting point is 00:42:23 and sometimes they see things that don't come to pass. In this case, Toby saw exactly where we're going two years ago. And I finally saw it because the road came to me in December. And it's funny because along the way, I kept saying, like, yep, when the models get good enough, when they can do all this thing, it's going to be amazing, and thinking, well, it's going to be, I don't know, 18 months, two years, maybe it's five years. It's very hard to predict these infliction points.
Starting point is 00:42:52 And I think the industry itself didn't even predict the infliction point, right? You have an entire city, Silicon Valley and surrounding areas, San Fran, focused on making this happen. But predicting exactly when the hockey stick starts hockeying is very difficult. But then it happened. And now my daily work is very different. So what is your daily work now? My daily work is agent first on everything.
Starting point is 00:43:21 Going agent first is a good time to mention our season sponsor, Sonar. When shifting to agent first work, one thing that inherently comes up is the quality of the code. Sonar, the makers of Sonar Cube, is deeply rooted in the core belief that code quality and code security are inherently linked. High quality code is naturally more resilient. and as agents start writing code at a massive scale, that verification layer becomes your most important security parameter. This is where solutions like Sonar Cube Advanced Security are valuable. With this new malicious package detection,
Starting point is 00:43:51 advanced security provides a real-time circuit breaker, automatically stopping agents from pulling in unverified or risky third-party libraries before they ever hit your pipeline. The impact is measurable too. Developers who verify their code with Sonar are 44% less likely to report experiencing outages due to AI, as per Sonar's state of code developer survey 2026 report. It's really about closing the gap between the speed of AI
Starting point is 00:44:14 and the reality of production security. What else is Sonar doing to help reduce outages, improve security, and lower risk associated with AI and agentic coding? Head to sonar source.com slash pragmatic to find out. With this, let's get back to David's agent-first workflow. Specifically, cloth, clot code. I use open code as my main harness. I also use clod code a little bit.
Starting point is 00:44:35 They, unfortunately, got that early lead. Opus is current. the best model. So then they started thinking a little bit in that, like the game is single match, instead of thinking it's multiple rounds and yank their subscription from OpenCode. So if you want to use your Macs subscription,
Starting point is 00:44:51 you kind of have to use their harness, which I don't love it. I think it's a mistake. But leave that B for a second. And let's just celebrate the fact that they have the best model. And Opus for 5, 4.6 is also nice. But 4.5 to me was the infliction point. And it creates a lot of composition
Starting point is 00:45:06 because everyone wants to catch up and overtake them now. Of course. and especially because you see Anthropics revenues. I think start of the year, they're at 9 billion, a few weeks later, they're like, whatever, 14. Now they're 19 or something. It's just the craziest rocket ship you could possibly imagine, which is inspiring all this capital to be deployed for competitors and so forth,
Starting point is 00:45:25 which is wonderful, great to see. So even if I don't love everything that they do and Claudecotecote is not my preferred harness, manage to hold two things in your head at the same time. This is what I also try to do even with Apple, which I have serious griefs about how they operate and act as the gatekeeper and all the other nonsense we've talked about. And then I also keep my, I just love computers hat on and go, I like the new Neo. I might even buy a new Neo and just see what is possible at $500. For Opus, I have no qualms about using Opus.
Starting point is 00:45:55 In fact, whenever I feel like, this is a really hard problem, I go to Opus right now. But I also use other models. And one of the things I've incorporated it into my flow is to kind of have two models. going at the same time at different speeds. So I use Timux and I have this layout thing that's built into Amachi where it'll start my new Vim editor on the left side and then it'll start two panes on the right side. On the top is OpenCode running Kimmy K-25 and on the bottom is Opus running in Claude code and then at the very bottom I have a strip of terminal. And almost everything, I started in one of the agents and I tell them what I want. Then I hop over to
Starting point is 00:46:37 NeoVim. First I do space Gigi to look at the Lacey Git diff on it. What's this is changing? If it looks correct, I'll just commit. We're done. Great. And then sometimes it doesn't look correct. Then I'll go in and
Starting point is 00:46:53 also decode myself. But the ratio and how quickly the ratio changes is still astounding. I went from early November last year. I'm code first everything. I started the editor. I'll spend whatever long it is and then at some point if I get stuck or if I want a second opinion, I'll go ask my
Starting point is 00:47:12 friendly clanker to give me a second opinion. That's just not how it is anymore. Now I start with the agent. Now it'll give me the draft. I'll review the draft and I'll make alterations if need be. And then just recently I flipped it even further. So we're working on a CLI for Basecamp. So we can get full agent accessibility for Basecamp. It's astounding. First, actually, let me rewind. As soon as I got pilled on how good the agents were and how capable they were, I immediately tried to raise my gaze up towards the end of the road and think, do we even need MCP? Do we even need CILI? Do we even need anything? Can't the agent just figure it all out? This was when I installed OpenClaw. So I installed OpenClawe on a VM and I thought, what should I do here?
Starting point is 00:48:02 Let's see how far we can push it and what it can do by itself. So I thought, I want this claw in BASECamp. I want this claw in Fizzy. Let me just try to invite it as it was a human. So I just wrote it. Can you sign up for Fizzy? I'm not giving you any tools. I'm not giving you any MCP.
Starting point is 00:48:17 I'm not giving you a CLI. I'm just telling you it's at Fizzy. Do. Go sign up. And you see it. Chuck along. And then, yeah, I've signed up. But it's asking for an email address.
Starting point is 00:48:26 Or I'm trying to sign up. It's asking for an email address. I'm like, oh, yeah, right. You need an email address. And HG doesn't have an email address. Hey, go sign up for hay.com. I'm like, it's going to fail this one. And it's chuck, chuck, chuck.
Starting point is 00:48:38 I've signed up for hay.com. Here's the password. Write it down somewhere safe. I'm now also signed up for Fizzy. I got the confirmation email in my inbox. We're all good. What do you want me to do? I'm like, what?
Starting point is 00:48:51 Are you telling me that you could one shot signing up through a browser to these things. Now, maybe that shouldn't be surprising. Maybe that was already possible with Sonnet 3 or one of the early models. I don't know, but when you experience it yourself on your own damn claw that you're just telling over telegram to do something and it's signing up for products autonomously, that's pretty startling. It was for me. And then the next step I went like, well, if it can sign up for hay and can sign up a busy, let me invite it to Basecamp. So I sent it an invitation to its own email address. Here's the invitation link to Basecamp.
Starting point is 00:49:27 Can you just jump into the AI Labs Lab project that we have and introduce yourself to the team? Hey, I'm David's assistant. It's very nice to meet you all. I've read back the transcript a little bit. I see you're all excited about these things. And you just go again, what? What? And that was fun because it showed me that even if it was going to take a while.
Starting point is 00:49:51 It did take a while. It took a while. This is agent terms. It took, I don't know, seven minutes. That was like, oh, it feels like an eternity. But it was able to do it. And that seems like the end state. The end state is that agents will not need any of our accommodations.
Starting point is 00:50:05 They do not need any on-rent. They're not coming on a little wheelchair. They'll be coming on bionic legs and running five times as fast as you in about two seconds, which we'll get to in a second to the speed aspect of it. But then you also realize, okay, well, I can't just sit around fiddling my thumbs until AGI happens. Let's build for today. And that's what we've been building for base camp. We've been building a CLI.
Starting point is 00:50:28 We're going to build it for hay. We're going to build it for Fizzy. We're going to build it for everything, even probably something. of the legacy products. And what I love about the CLIs, as much as I also love it about these harnesses, is that they validated the fundamental Unix philosophy from like, whatever, 71. You should just build small tools that can interoperate with pipes and you can put things together. That's the Unix philosophy, right?
Starting point is 00:50:48 It's the total Unix philosophy. And that is actually the magic to me about seeing everything having a CLI. It's not that Basecamp is easier to use now with the CLI. No, no. It's that GitHub also has a CLI. and Century, I don't know if they haven't see a lie, but they have an MCP. That you can tie all these things together. And now you can tell an agent, hey, we have some errors in Century.
Starting point is 00:51:09 Can you go check them out? Then post a write-up to Basecamp iterating what's wrong. Then go and GitHub, come up with a pull request, post a comment back to Basecamp when you're done. And now we have a Central Record in Basecamp where we're following the work as it's going on, while we have an agent doing work, looking things up. And again, when we try to talk. talk about it and relay it, I guess some people can see it. And now OpenClaw has enough videos on YouTube and so forth so you can get at least a passenger right.
Starting point is 00:51:37 But try it yourself with your own product, with your own tasks and with your own prompts. And you will be pilled. You will be simultaneously incredibly excited for what we've been able to make sand do, the silicon, the chips, the weights, the whole thing. how and then also a little bit anxious about where it's all could go and it's in that tension that I and probably anyone else who's been pilled on this live right wait a minute if we're already here what does not 18 months from now look like like if at the last three months we've upended my entire understanding of what's possible with computers what's the next three months look like what the next nine months look like yeah this this is where like I was a little bit on your end for a long
Starting point is 00:52:25 time and I think I still am where I believe what it works and I'm always with skeptical of projections. Moore's Law broke down at some point. I lived through everyone and said it'll continue forever. And you know, and then it broke, as we all suspected it would. But then it found another way.
Starting point is 00:52:39 I think it's a good point about the Moore's Law, right? It broke for individual cores. Yes. How much can you push it? And then we just went, well, what if you just had, what's the latest chip,
Starting point is 00:52:47 256 on the MD sent chips, right? And even when performance broke, we went into power consumption and size and all of those things. So, yeah, like, but it's harder for me to also just to say, oh, it's going to stop here because we've seen a grow, we know the approaches that they're taking this, it's larger and larger training sets. And it's been working so far. And there's also
Starting point is 00:53:08 the bitter lesson, which I think, I think is a, it's such a short paper that it's just so worth reading. I think it's one of probably the most popular papers outside of academic circles. Yes. Because it just plays out this thing that we don't want to believe that. We want to believe that our knowledge, our understanding is superior that, you know, you and me knowing how to code or me putting in these 15 years or however long it's been, it's special. Sometimes it shows it's not as special. What's interesting actually is, like right this second, this snapshot in time, a little bit is. And this is a funny purification that's happening, junior versus senior developer,
Starting point is 00:53:43 is that the most successful and applicable agent acceleration that I've seen at 30s signal has been from the most senior people. The people who were able to validate whether what the agent produces is suitable to be deployed to millions of people. There was just this story yesterday about some of the major outages at Amazon. And Amazon's own internal analysis essentially pinned that. We can no longer let junior programmers ship agent-generated code to production without review. And the problem with that is, first of all, I think that's the realization most companies are now having across the industry. Whenever it's mission critical for something of that nature, we cannot yet rely on.
Starting point is 00:54:27 on the agents to have vetted it all. And junior programmers are not capable of figuring it out. Therefore, their role is suddenly more tenuous than it was six, nine months ago. Because a senior programmer can't. And this is why senior programmers are getting so much more acceleration. They're able to, first of all, working parallel with lots of agents, but critically examine the quality of the agent output and have a high degree of confidence of whether this is going to work or not, or redirect them if not,
Starting point is 00:54:59 because this is what made them senior in the first place. This was the role that they had, that they had the long insight and history and overview of the architecture, how does it all fit in? Is this going to work? Is this not going to work? This was the role they played to junior programmers. But now they can play that role to agents. And agents are faster at following instructions and redirections.
Starting point is 00:55:22 And suddenly you have senior developers who, can 5x, 10x, their individual productivity. And now, this is the second order effect. If you manage to 5x or 10x a senior developer, that person's value per hour just went up 10x. Now, take that hour instead of that person spending them with the agents, just shipping stuff and making things better, they spend that hour as they would before teaching a junior human how to do things better. There's something in that equation that's in play right now, and it's not clear how it's going to map out. Now, one way it could map out is that the agents will get so good that they stop making mistakes. They become senior in their capacity to ship working code. This is what my bet would be if we look X amount of time
Starting point is 00:56:13 forward, because this is what just happened with cars. So self-driving Tesla's now drive better than humans do. Not all humans, not in all circumstances, but on average. It's very possible that if we're able to delegate the mortal risk, the highest criticality we basically deal with on a daily basis sitting in a metal tube along other metal tubes that go 60 miles an hour where you can die if someone make the mistake, we delegate that to an agent. Well, they can probably figure out how to make the code work too, right? So I do think it's coming, but who knows when, who knows how. Right now, we're at a stage where the bulk of the benefits are accruing to the most senior developers. And also I wonder, just like with self-driving, like you realize there's always
Starting point is 00:56:55 KVit. So, for example, inside companies where it matters, when you're a startup, you have zero customers. It doesn't matter. You can watch it out and it doesn't matter if it doesn't work and it, you know, it crashes. But inside these companies at Uber, just got details on how they're adopting AI and they have all these tools, clot code and all of these things. But what we realize is well, when you just put it in there, they have all these internal mono repos, they have their ticketing systems, they have their slag, they have so much, they have their art. They have their RFC's design documents on how and why they have this jumble of a mess with microservices, which was a fun way that we originally connected many years ago.
Starting point is 00:57:31 But what they found is they built a bunch of internal systems, a lot of it, to help to feed NCD's agent harnesses, and now they're working better. But where we are right now is there's, and this is why if you're a senior engineer and one of these companies are a staff engineer at like Uber and you move to Google, suddenly you're not going to be as valuable or as efficient for a while until you learn all the systems. Right. So I wonder if just like with self-driving, you know, self-driving works great as well. I was in SF and in LA and Waymo's day drive.
Starting point is 00:58:02 So nice. Like my Tesla's is driving in LA, driving us to the airport every time, the whole family. I sit peacefully, watch the road, but do not steer at all on that entire journey. Well, except my Waymo got stuck because a truck was parking on a, on a, narrow street and a car had a bike shed. And I knew that it should, I should not go there, but it didn't know. So a human operator came in. But anyway, but even with Waymo's, you know, like there's, there's, they drive in pretty
Starting point is 00:58:31 good weather. They've been mapped out. So I wonder if, in software engineering, I wonder if this has these parallels where we have all of, you know, like these companies have their special, specialized landscape. And once you map it, once you do all the tools, once you figure out these things, and with self-traving, it took, it took 10 years, right? Like I was at Uber when they bought the self-driving thing and we were hearing in the news that, you know, next year it's all going to be over for drivers and no. Yes.
Starting point is 00:58:58 They were not going to be steering wheels anymore. Which, by the way, is an amazing anecdote because it just shows Elon's total faith in his mission. Because in 17, when he made that proclamation, it was an AI. It was 500,000 lines of hand-coded C++. Right. Like that model was never, ever going to get us to the full self-driving. but he had just total faith in division. And then eventually, hey, here along comes AI, and it's so good.
Starting point is 00:59:24 And if you train it on billions of hours of road use, it actually can't do it. And it can do it better than most humans. In fact, I'm a pretty good driver, I'd like to say. I'm not the best chauffeur because my, I don't know, impatience have a tendency to provoke the throttle. That's not always as pleasant for passengers as it is fun for me. And when I let the Tesla autopilot drive, it's just the best chauffeur in the world. It's just perfectly calm. Better than you.
Starting point is 00:59:53 Better than me. Better than the queen's chauffeur, I think. It's throttle actuation and deceleration is godlike. It's actually AGI like or ASI like in its application within that narrow domain. And of course, when we get these anecdotes and these examples of, holy smokes, not on, it didn't take 10 years. for the self-driving. It took 10 years from the proclamation,
Starting point is 01:00:19 but what they were doing for seven of those years had nothing to do with what they're doing with FSD now because the FSD that's based on AI hadn't been running for that long.
Starting point is 01:00:28 But the infliction point of, I think it was 13-1, FSD 13-1, like the first version, you're like, wow, this is pretty good, but like, I better pay attention.
Starting point is 01:00:36 13-2, 14-0, 14-2. Over the course of 18 months, we went from, yeah, it's pretty good, but like,
Starting point is 01:00:45 I'm going to pay attention here to why is their steering wheel. And that acceleration, that short period of time, of course, it's something people look to when it comes to programming and go like, well, if we're here now and senior programmers still have to review it because otherwise you're going to get all your whatever four severity, eight downtimes at AWS because some AI pushed out some nonsense, what is it going to look like when they take the jump that FSD did over the same period of time? Now, I also think you can go completely crazy trying to just sit and soak in all. all of that. This is what I tried to do over the past year ago. I'm really excited for where this is going. But I'm also going to deal with what's possible today and what's enjoyable today and what we do right now. I'm not going to try to plan what my life looks like 12 months from now when maybe we do have AGI or we don't. Now, there are other people who do that very well. I just watched an interview with Leopold on Dwarkesh from last year. He's thinking like, what does 2030 look like? What does the
Starting point is 01:01:41 whatever 10 gigawatt data center look like? I'm like, I'm very glad. I'm very glad. we have individuals who put thought into that because that's not my favorite spot to be. And I think most people are not that good at polishing the crystal ball. No, well, I mean, this is a little bit unsettling as a software engineer in the sense of like, clearly this is where the industry wants to go. This is where a lot of effort will be put. There will be a lot of businesses, software businesses built on this. There's a lot of VC money raised on this, by the way, who are going to tackle this and they will either like succeed or die. That's what that's what these companies do.
Starting point is 01:02:12 But today, what do you see at 37 signals with software engineers? You, of course, have mostly experienced engineers, although you did hire junior engineers as well. How is there kind of work changing? How is there satisfaction with work change? Because that's also a thing, right? We keep arguing about, like, is it making us more miserable these things? Is it what we want to do? And how is it changing for you, right?
Starting point is 01:02:37 I think it's... That's the biggest revelation, actually. More than even the capacity of the agents is my enjoyment running them. When I was on that Lexington interview last summer, I was talking about, do you know what, I don't want to be a project manager for agents because I had the mental model of a project manager of humans. And I thought like, that's not what I enjoy. I don't want to be that far away from the production. I want to be in the mix.
Starting point is 01:03:00 I want to have my hands in the code. What I failed to realize at the time was that running a bunch of agents feels less like being a project manager for agents, and more like stepping into this super mex suit, where suddenly I don't just have two arms, I have 12, and I can now look at seven screens at the same time running five keyboards. I'm still the one doing it, even if I'm not typing this as a keyword in a program. I have been hyper-accelerated as a programmer. It's a different kind of programmer, but it still has the same affinity to aesthetics, at least when I'm producing Ruby code. And I'm able to combine that while being vastly more productive on a bunch of things. It's also like getting an incredible
Starting point is 01:03:45 brain upgrade on even assessing issues. One of the pilling moments I had was before the Relicia Omachi 3.4, I went into GitHub and we had, I don't know, 250 PRs pending. And I kind of just sighed a little bit and like 250 PRs, if I spend, I don't know, 15 minutes, need to PR, like how long is it going to take before I get to the end of it? And I thought, do you know what? Let me try something else. Let me just try to ask Claude to, I'm not even doing anything with a system. I just do review URL and the URL is the issue. Or is the PR are shocked. In 90 minutes, I think it was, I processed 100 PRs. And it wasn't that I merged all of them. In fact, I'd say I merged a small minority, maybe 10% got merged.
Starting point is 01:04:39 as is, then maybe 20% got merged, but with Claude's implementation. The program I had correctly identified an issue, but hand-rolled some code that I could see, I didn't want to keep, or sometimes I couldn't even see it. I just asked Claude, and they say, like, ah, it's not quite right. And then I just asked, Claude, can you just clean room this? This is the right problem. Let's fix it, but let's do it right. It would do it right away.
Starting point is 01:05:05 in exactly the style as I would have written the rest of Amachi now this is the high coat of something it's mostly just bash code but there's still a shape to bash code and how you want it to look and can feel coherent with the rest of the project agents opus in this case
Starting point is 01:05:19 which is nail it and then the second half of it was split between 25% things I then just realized I just don't want this it shouldn't we shouldn't have it and 25% Claude telling me maybe there's something here
Starting point is 01:05:32 but it's really not a good implementation we don't have a straight shot to make a great one. A hundred issues in 90 minutes, and I sat back, this would have been a week's worth of work, days at the very least? What the heck? And even more than that,
Starting point is 01:05:49 Claude's analysis of at least half the issues pertained to things I knew nothing about, where it was undeniably a smarter, better reviewer, programmer that I could ever dream to be. Well, not dream to be. But wasn't that moment.
Starting point is 01:06:08 But you would have not put in the effort. I would not have done it. This was why the PR sat in the first place. In many cases, I would look at it and go like, I think there's something here. But like, then I now have to read up on this debus thing. I have to figure out, is this the right way of doing it? I don't want to just merge something that then has other issues.
Starting point is 01:06:26 And to be able to do that, Agent Accelerated was one of top 20 programming moments. I like how you put agent accelerated and it sounds like it's especially efficient for work that is waiting on you but you don't want to do it or you're
Starting point is 01:06:43 not as skilled of doing it but it's a hassle to delegate because again like you you have a team right? Like you but you probably didn't delegate it because you probably knew that it wouldn't make it faster or better. So I wonder if there's a part of AI that because we talk a lot about like you know like companies
Starting point is 01:06:59 love to measure especially larger ones like efficiency PRs and they want to see impact, but about the impact of doing work that we would have not done before. That's the kicker for me. That's the fact that the pie is just exploding right now. It's not growing. It's exploding. The number of projects we have tackled
Starting point is 01:07:15 internally that we would never even have contemplated starting on are legion. We had a great project where normally on performance work you worry about P50, P95, P99. Jeremy, one of our most agent Excel
Starting point is 01:07:31 people went like, what about P1? What about the floor? Can we fix the floor? What is the floor? And he went like, well, right now our floor is, I forget what it was, four milliseconds. Let's say that, right? Well, actually, four milliseconds can add up if you have a bunch of fast requests. They can still, it still matters. And he just went like, we're going to do P1. We're going to optimize P1, literally the fastest 1% of request. We're going to make him even faster. He took it from, I think it was four milliseconds to less than half of it. millisecond. He 10xed the performance that I was like, I would never have signed up on this and he did the P1 project over a couple
Starting point is 01:08:07 of days as like a side gishap. Because now he could. Now he could. Because he had a hunch. He had an intuition that there was something here. He let agents run with it and the number of PRs that like, all right, we fixed this, we fixed this. I think
Starting point is 01:08:23 total of the P1 project maybe misremember. I think it was like 12 PRs. Like just fixing all sorts of things. Where I look at the single PRs, like, yeah, actually, okay, yeah, makes sense. I look at the total of some of it. You've changed 2,500 lines of code. You're like, you've done that in a few days.
Starting point is 01:08:39 So, I've never heard anyone do P1 because it just, it feels like a vanity product. Exactly. It makes no business sense. I mean, this is not true, right? Because everything adds up, but you know what I mean, right? I know exactly what you mean. And this is exactly why the explosion of the pie suddenly lets us look at problems. We would never have contemplated looking before.
Starting point is 01:08:57 It's funny. I remember this scene from Terminator 2, where they found. found this ship from The Terminator in the first movie. And he goes like, this thing gave us ideas we would never have investigated before. And like, there's some beautiful parallels here about like maybe we're about to build the Terminator, the cliche. But also we're getting ideas. We're getting ambitions. We would never have looked at before because suddenly the cost of exploring a hunch has just dropped by a thousandfold.
Starting point is 01:09:28 I do this all the time now too. I'll give it some vague, crappy instructions just because I have this fleety idea. I haven't even crystallized it into a neat prompt. I just want to see something. It'll, and then I go like, oh, yeah, delete, as in revert code back to normal. Before, I would be a little more precious
Starting point is 01:09:49 about 75 lines of code because it would have taken me two hours to do him. Now there's no residual value to any of this stuff. And I could just go like, show me a draft. I feel like a little bit like a king where you just go like, show me the analysis of the far-frung regions. Where are we with the tax recipient? And this boy is like, this servant is like, yes, I shall do so.
Starting point is 01:10:11 And we'll return in three weeks, except like you can just wave your hands around. And agents just come back with answers to stupid questions, terrible ideas. Then suddenly it wasn't so terrible. It was actually a great idea. You go like, wah! I did this with, well, actually, I haven't even pulled the trick around you yet. But one of the things with Amachi people have been asking, for since the beginning is dual boot. Being able to install Linux next to the Windows
Starting point is 01:10:36 installations since they can still play all their games. And I just went like, you know what? I have more than one computer. So when I play games, I can just do it on the PC. It's not a me problem. Yeah. I totally get where a bunch of people wanted. I'm not heavily inclined to spend four hours figuring it out. And I just, a little while ago went like, oh, this is exactly the kind of problem. Like, I don't have to figure it out. Just make the agent to figure it out. So I kicked off initially the process of just coming up with a plan. This is a pretty big change, right? Like, if you fuck up someone's boot records or you override their petition,
Starting point is 01:11:08 criticality high, which is one of the reasons I didn't want to engage with it. Secondly, it's a little finicky if you want Lux encryption on the Linux partition, but the Linux petition doesn't own the whole drive. It's a little hairy. I didn't want to take on the criticality. I'm like, this is perfect for the kind of agent stuff. So it started off basically just having Opus and Codex ping pong a plan. I'll just, I asked Opus first, like, come up with a plan for this.
Starting point is 01:11:31 It thinks for a minutes and minutes and it's come up for a good plan. And then I kick it over the codex and like critique the plan. And then I had him ping pong back and forth a couple of times. And at the end, looking at the plan going, yep, that's a good plan. We should totally do that. And I can't wait to take that one off and just go, yeah, now Omachi does do a boot. Not because I did it, but think your helpful clinkers. That level of ambition is still something, I have.
Starting point is 01:11:58 have yet to internalize. Like even just that, that like, hey, here are these hunches or demands projects that I would like to do and maybe someday and you could kick it up on a hunch while you go to lunch. That is a new world, which is also one of the reasons I think a lot of people are thinking, well, the model continues to improve. But even if we somehow hit a wall tomorrow, the bitter lesson is no longer true. There's actually a limit. It's 19 trillion tokens.
Starting point is 01:12:26 That's how much they can learn. Not true at all. But if it was, and we had to be stuck with these models, we would spend the next decade, just getting more and more out of them, learning how to use these tools. You see this actually with vintage computers. So the kind of games they were able to make on the Commodore 64,
Starting point is 01:12:43 when that was released back in 81 to 85, I think, was the main run. I know they made it a little longer, but then the Amiga and other machines came out were great games. I mean, I got interested in games, the Commodore 64, Yia Kung Fu and all that stuff. the stuff they were able to do 20 years later when someone had just noodled all the secrets and
Starting point is 01:13:03 tweak the one megahertz processor. When they're building games for the old old. Yes. Yeah. Or so much more technically impressive because we just know so much more about the I mean, same thing with that. You look at the PlayStation first games come out on launch. Last games before we go to PlayStation 2,
Starting point is 01:13:19 they look from different generations. We could totally continue to do that with the models. But we're not going to have that particular enjoyment because there's a model dropping in three months. But this is interesting because if we just run with this thought, like, of course we know new things are going to come. But the point is, like, we will be spending so much time learning, applying them, building either our internal systems, changing how we build things, taking on new project, like if we're an existing team, now that people
Starting point is 01:13:45 can do more work and more ambitious work. How are you thinking of the team taking on more work, launching more products? Are you thinking of potentially growing the team or keeping it as is? My best assessment for our setup is that the same people can do much more. Let's internalize that, but that's also enough. Already we were doing enough. Already we had margin that we could hire way more if we had enough good ideas for that. So all this extra productivity we're getting out of the team allows us now to do things like P1 and these other projects that are awesome.
Starting point is 01:14:20 And they're going to improve the product faster to, of course they are. The old way of thinking, like, it's going to take two months to deliver a major feature, I mean, that's out the door. Of course, there's going to be rapid acceleration. That's going to filter all the way into our software mythology process, like Shape of was built on two-month cycles. That doesn't make sense in the same way at all anymore. We have not fully rewritten those scripts yet because the acceleration is still so fast.
Starting point is 01:14:45 No company really has rewritten the scripts on all of that. When you're shipping that much faster, you need a way to control what goes live and measure whether it's working. This is a good time to mention our presenting sponsor, Statsig, experimentation and feature flags for teams that ship fast. Statsig build a unified platform that enables both experimentation and continuous shipping. Built in experimentation means that every role that automatically becomes a learning opportunity with proper statistical analysis, showing you exactly how features impact your metrics.
Starting point is 01:15:15 Feature flags let you ship continuously with confidence. And because it's all in one platform with the same product data, teams across your organization can collaborate and make data-driven decisions. To learn more, head to Statsick.com slash pragmatic. With this, let's get back to the shift about to hit developers. But I still think software developers are delusional. If they do not think a shift is coming, where before they were the constraint on how much could be produced
Starting point is 01:15:44 and therefore could command the salaries that flow to the constraints. if suddenly those constraints now loosen, especially if we fast forward a little bit where the product manager is actually able to produce changes that can be shipped and work, things are going to change. I do actually think, if I was going to bet,
Starting point is 01:16:06 we've seen peak programmer. In terms of the learned guild of programmers who went to either school or spend oomfteen hours getting really good at it, we're not going to need the same number of them to do the same amount of work. Now, Javon's paradox, where as the price of something goes down, you get more of it or you get more demand for it is true.
Starting point is 01:16:31 But that doesn't mean that all programs are going to get bailed out by it. Just because more software than ever is going to be produced, that's for sure. By the way, I think GitHub has gotten a lot of slack or flack lately. A lot. Reliability. So I saw a chart saying they had a 92% uptime. which sounds insane. I'm not sure exactly what that was measuring, but I feel it.
Starting point is 01:16:53 I have a little bit of sympathy in that. I also think there's some mistakes were made, but also that the amount of software that's currently being produced is on a rocket ship. We are producing, as a civilization, globally, way more software than we've ever done before. I mean, OpenClaw itself,
Starting point is 01:17:12 I thought he said it was 400,000 lines of code. That used to take 10 years and 2,000 people. to get to that. Well, not 2000. But yes, it took a lot. I mean, a long time, right? You look at, I think, the main monolith that Shopify's 3 million lines of code.
Starting point is 01:17:29 That's 20 years. And if you collectively sum up all programs have worked on that, probably like 20,000 people. Yeah. Big shifts are coming right now. Lots of software is being produced. I can see why it's creaking a little bit
Starting point is 01:17:39 over there because, like, the push is just going to accelerate, right? And we haven't even seen anything yet. If you look at AI adoption curves, basically no one's using it. Like we all in our little bubble in X are like, yeah, everyone's able. No, they're not. Like most companies in the world are just not doing it.
Starting point is 01:17:56 Notwithstanding that, like, I think Chachapit got to 800 million users very quickly. Obviously, there's adoption, but nothing on the scale of what the companies that are furthest along are doing and how much they're accelerating with it. So I do think it is correct for the average programmer to think maybe we've seen the best of the golden days. Certainly there will be pressures on price because one thing are companies like ours that have essentially unlimited scope to come up with new features and do more. And we can then plow in all that additional productivity into just do more. There's also a lot of companies who just need to do a thing. And if they can do that thing at a tenth of the cost, that's actually their advantage, right?
Starting point is 01:18:40 They just need to do this thing. It's very neatly scoped and defined. It's a cost center. anywhere where software development is a cost center, which is actually probably the majority of software development in the world, they're going to face these pressures. Yeah. Sounds like if I'm a software engineer right now and I'm worried about like,
Starting point is 01:18:58 well, you know, like just want to make sure that I'm at a place where things are going to be better. You want to be at a place where you want to either get out of a cost center or become really valuable there. Obviously, you know, brush of your skills. And also I'm wondering if the shape of software engineers who will be hired will be changing. because if I just look back from like the 90s, right, like even if you look at the movies, you saw the stereotypes,
Starting point is 01:19:21 they were the nerd who didn't talk to anyone, but they knew how to code, they knew how to do assembly. And then we went in the 2000s, it was still based on languages. And over time, I think in the 2010s, a startup started to not hire for languages, but just hire for algorithms
Starting point is 01:19:35 because you could learn the stuff. And now I'm seeing companies, some of the latest VC funded companies hire for product engineers where they're actually asking for, like, empathy, communication, on top of, like, it's kind of a given that you know how to code or whatever. So I wonder if I'm just looking at just this curve, right? If I'm just painting it up, like you're starting to get people, oh, and the developers I meet at all these companies,
Starting point is 01:19:58 they're all really pleasant. They're all just very communicative, very, oh, and they talk with customers, most of them. Just, it's not even a drag. It's like, and more and more of them love doing it. That's the constraint value now. The constraint value is figuring out what should we build, How should it be built? Which customers should we be talking to? Where should we be focusing? It's product management. It's so funny for me, too, because historically I've not necessarily had the highest
Starting point is 01:20:24 esteem for product management as a function. I thought there was a lot of bullshit. And I thought it was a lot of people who maybe didn't do as much, right? And one of the reason was that they couldn't, because the constraint resource was the implementation, was the product manager could find out that they wanted to do something. I want to do this feature. And then they had to wait four weeks for some business. very expensive programmers to make that reality happen.
Starting point is 01:20:47 And in those four weeks, I mean, I guess they could go talk to them. They were underutilized. They were not the constraint, right? The constraint was on the implementation. That absolutely is going to switch. And now pure implementation is going to be solved at some point. I'm not claiming it is right now. And anyone who is, I've not tried to just deploy vibe-coded stuff with no review to major code basis.
Starting point is 01:21:13 but as the lesson of last summer on Lex, I'm not going to put my hot on the block and saying that's not going to happen before next summer. Again, this is just like common sense, but implementation, one implementation will we solve for for a general use case. For the edge cases, it will take longer. And for some cases, it will not make sense.
Starting point is 01:21:30 Same thing as I don't know if self-driving is fine for like these size of cars, but for like trucks, it'll either take longer or if you're special as you do. But the point is like there will be pockets where, but those pockets will be smaller. Yes. I do think the stereotype
Starting point is 01:21:43 type of, I just want to sit in code, you have to be John Carmack levels of good to retain that privilege to just, I just want to sit in code. And even John Carmack. Yeah, of course, he's also super AI appellant. But also like he also saw some trends that he could do. Like, for example, like just like, you know, the type of games that people would buy, right? Like, he needed to have some business skills or just surrounded by people who did that. Totally, totally, totally. But like you need to literally be the very best. And not just the very best, but you need to be better than the agents, right? For you to get the privilege to just be an implementer,
Starting point is 01:22:19 you have to be better than what's available off the shelf from agents. So who are the very best? And you're a good person to ask because whenever you advertise of a position, and this was even well before AI, I remember that you put out a job for software engineer and a designer. And actually, I want to interview your designer who you hired. And because you publish the salary, which is a San Francisco salary, you put the exact number. You can check it for it.
Starting point is 01:22:46 You have a social media presence. So it kind of goes wide. And you get a lot of applications. And you do a pretty good job, as I understand, you try to be very fair. You put a lot of effort into it. So what did it take to get hired at 30 similar signals? Because now you are trying to hire some of the best. And based off of this, what advice do you give to people who are like, okay, I want to be the best?
Starting point is 01:23:08 in this age right now. Incredibly good question. No one has figured out. We haven't cracked it. And I say that as someone who have run an organization where we must have looked at tens of thousands of, now, of course, if you're running Google, you've looked at millions.
Starting point is 01:23:22 But we've looked at tens of thousands of candidates. The number of candidates we've hired is quite small. I mean, total number programmers that's been through 37 singles over its entire lifespan. And what's that going to be like, I don't know, 150? I haven't even done it back. Because your team right now, ish?
Starting point is 01:23:36 We're 60 people at the entire company And we are, what's that going to be 20 programmers, something like that? Yeah, that's probably about right. So, so who, what is the other 40 folks? We have designers. Probably like 10 of those. And then we have customer support, which is at 14.
Starting point is 01:23:55 Then we have a bunch of support functions, HR, finance. And then we have operations. Operations is quite large. We have 10 folks managing all our servers. and yeah, that's about it. But yeah, it's probably about 100 people in total that I've worked with or employed at the company as programmers out of tens of thousands.
Starting point is 01:24:16 We've looked at. And even all those hires did not pan out in the long term. I'd actually say, I think I looked at this recently, our batting average, at best, I think it's slightly better than 50-50. So half of even those hires... Half you go through all of, because you have a really long and thorough process. Yes. You put a lot of effort, right?
Starting point is 01:24:36 No one has figured out just to hire with such efficiency that they don't make mistake. There's a great paper that Google published quite a long time ago now, where they tried it all sorts of different hypotheses. Well, can we predict employee outcomes on the basis of Ivy League education background, on GPA, on all of these things? Conclusion was basically like, we know nothing. We can't predict it on any of these things. We can't predict it on lead code.
Starting point is 01:25:07 We can't predict it on any of these metrics. What I'd say is I've clearly been spoiled by working with some very good people, not just at my company, but in open source in general. Yeah. Oh, yeah. And therefore, I've ended up with occasionally a twisted perspective of what the average programmer is capable of. And when we do hiring rounds, I am sometimes, well, not sometimes. Every time I'm kind of surprised how poor.
Starting point is 01:25:32 the majority of the submissions are. How little effort is put into being presentable. And that can sound really boomer, crudgyy very quickly. But it's also just a reality of trying to get a job. Like, you got to stand out. And I understand that that's uncomfortable, right? Like, who wants to look at this as like, well, the odds are kind of against me. But it's also a trap to actually fall into things.
Starting point is 01:26:02 of this in terms of odds. Because what I've seen the miscalculation happen time and again is people go like, okay, so you have a thousand applicants. There's only one who gets the job or maybe two who gets the job. So that 0.1% chance. No, it's not.
Starting point is 01:26:18 Not at all. With that math, you had 0% chance. Yes. Zero. And the very best, they probably had a 10% chance, 20%, 30% chance. It is not equal distributed. It is not a lottery.
Starting point is 01:26:30 We don't just like pick a thing out. and be like, oh, it's going to be this person because they happen to be the one drawn from the bunch. Not at all. We discard off the bat probably at least half the applications, maybe it's two-thirds, just because they're either not addressing the job directly. They are not following the instructions in the relatively clear, spoken, written openings that we have, right? They're obviously not right for it or whatever, or we get at some other smells. Then there's, like, perhaps a third left. And then we start looking at some of the submissions.
Starting point is 01:27:00 then we narrowed down historically to a pool of around 20 people that we give an at-home test. The at-home test is wonderful. Some people hate it. They feel like it's free labor. I'm like, what the fuck are you talking about? I'm not going to use your submission to a code test. I'm going to deploy to production. How do you think we came up with that code test?
Starting point is 01:27:18 Because it's already existed in the system. I say that a little harshly. I also get the sympathy of like, I don't want to put six hours into making a test if it's not going to go anywhere. Okay. I get it. But there's no way around it. because if you have it in your head, did you just send in a resume? Someone's going to call you up on the phone, have a 30-minute conversation with you and go,
Starting point is 01:27:39 you've hired, sir. I don't know if that ever existed, but certainly does not exist today. It never existed in the lifetime that I've been in this business. Well, the only time it exists, right, is through a very warm referral where you're starting a typical... If you're skipping the whole pipeline. And when you skip the whole pipe, and typically only happens at the very beginning of a company, when you're founding a company. and often it goes both ways where it's very risky
Starting point is 01:28:01 and then you say like this buddy of mine I work with this person for two years straight I would like trust them with my eyes closed so that's actually the black pill on the whole hiring process if we look at the long term success rates we have had more long term employees from I've worked with this person for two years we should hire them than we have from the open calls
Starting point is 01:28:22 it is actually exceptionally difficult it has been for us to find the kind of program who thrives in our environment from open call. It has happened. We have hired people that way. And I continue to want to believe, even if the odds seem insanely long when you start doing the math of like,
Starting point is 01:28:41 oh, my God, we've looked at tens of thousands and how many then got hired and how many then didn't work out? Like, Jesus, there's only like a handful left. I'm starting to that. That's kind of blackfelling. But then hiring directly on the base of warm referral, as you call it, has worked very well.
Starting point is 01:28:56 And that, the hit rate there is really high. But how does that hell? help anyone, right? Like, that's not a very actionable advice, except us to say, get as good as you can get and put in as much effort as you can and work with someone. Because I want to say that as a counter. Some people have this notion in their head that if they work at a place, they consider shitty. They shouldn't try. You're shooting your own feet, buddy. If you show up at the shitty pairs of work, and we can even be objectively in unison about that, that it is a shitty place of work. And you then go like, well, I should just try to skirt. I should just try to goof off. I should just try to
Starting point is 01:29:32 read X or Reddit all day, right? Everyone else you work with. They're going to watch that. You know what that warm referral is going to come from? It's going to come from someone who worked with someone else at a shitty job, but identified that that individual still showed up and did as best as they could to learn, to ship, to do all of this stuff. There is no shortcut here. You simply just have to be good. And you will not get good if you do not practice. And if you think your place of employment is not worthy of your best, you're cheating yourself. If you're not helping, even if it's a shitty place, if you're not helping that place get better, why would a great place hire you who only harris people to further raise the bar?
Starting point is 01:30:11 This is total cope. And it's cope both on the side of, I work at a shitty place and never I don't want to put things in. You can be annoyed. I'm not telling you you have to love your boss. I'd actually say the majority of people I used to work for, I didn't have the warmest feelings about them. I still tried really hard. For my own identification, for my own education, for my own education for my own sense of, I'm the kind of person who shows up and does a good job, just that I will be ready. When the opportunity arrives, when all my talents are needed and all my skills are home, right? Well, was this not how you ended up at 37 signals where it was just a contract job or something?
Starting point is 01:30:45 And, you know, like on a contract job, you have no ownership. Correct. But you showed up. Correct. And Jason ended up realizing, okay, this punk better get some equity. Otherwise, he's out the door. Now, that's a siminal story, and you shouldn't extrapolate everything from that. I mean, all founder stories, by the way, of similar stories in that regard.
Starting point is 01:31:04 But the fundamental principle is still the same. Show up. Do as good as you can. Learn more. There also was, to my chagrin to some extent, I perhaps contributed to it a bit for a while, which was this notion that you can be a great program and not really like programming, that you don't have to ever care about programming outside working. hours. Was this what you thought of or like, well, I thought of it mistakenly because I was
Starting point is 01:31:34 pushing back on the overwork 100 hour week, 120 hour week, maniacal obsession, which by the way, never was my experience. We did not start base cam that way. We have worked on a 40 hour week rolling average over those 25 years. But also, as I said at the very beginning, I really like computers. So I play with computers in my free time. I look at computer things. in my free time. It's not work in the sense that I'm whatever, shipping features to base camp customers, like just 24-7, that's not what it is. But I am playing with computers. I am looking at new things. I am exploring new systems and whatever. And I think there was, for a while into 2010s, a misconception that you didn't have to do any of those things. You could just show up and do your work and you would be so
Starting point is 01:32:22 sought after because programming was such a valuable activity and there were so few people. people who could do it that they'd take anyone. Even people who barely gave a shit. And I think that's over. If it ever was true. And I think it was true. The boot camps were the perfect like catalyst or like they were the canary. Which also, by the way, is how the economy
Starting point is 01:32:43 is supposed to function. When salaries are really high, it means that there's not enough supply of labor. Therefore, we should get labor into the pool. Exactly. And so I'm not, I don't even have any qualms about it. I'm just saying like, that's over. No, I think, look, We're talking about, like, is the golden age of the programmer, heavy past Pete programmer?
Starting point is 01:33:02 And I wonder if Pete programmer really meant that almost anyone who wanted to get into the industry and was willing to put in some effort a few months or maybe a few years could do it. You could learn how to code. You could go to either college or to a boot camp or put in the hours. And you could get hired at a place because the interviews were, their references were not needed. We didn't check. It's probably coming to an end. You do need references. I think more and more companies will be doing reference checks as part of our thing.
Starting point is 01:33:30 And it's not just going to be a have you worked there. Like, would you, I've had these calls from like Databricks as famous for reference cards. They don't only check for references. They drill you. Not just would you work with this person again. What were their weaknesses? Right. Where would you hire them, et cetera, et cetera.
Starting point is 01:33:45 I understand it. The weird thing is peak programmer sounds like this is something that affects all programmers. It does not. The best programmers, or not even the best, as in like it's 10 people around the world. Really good programmers are currently more valuable than ever. Because they're the ones who are able to get the most out of the AI acceleration. And this was the kicker for me in changing my perspective on this, is that I've also found, and maybe it's not universally true,
Starting point is 01:34:16 but certainly within 37th signals in my own experience, I'm enjoying my time as a programmer more than any time since early 2000s when I just discovered Ruby. This has the I just discovered Ruby feel to it, that it is so satisfying to be able to move this fast on so many levels at the same time to be able to explore the P1s, to be able to think about dual booting omachi, to do all of that stuff that the work itself has gotten vastly more enjoyable. And I've seen the same thing for the most AI forward programmers that we have. Maybe they also have some of these anxieties, but they're kind of pushed to the side just out of sheer enjoyment working with the new capacities. So there is a bifurcation here where we should all feel like,
Starting point is 01:35:00 well, we don't know what's going on. And for some people, that's going to produce some degree of anxiety, I understand that, especially when it's your livelihood. And you're like, well, I'll also like to be able to pay for my kids' college in seven years. What does that look like? I get it. You're not going to be able to manifest that anxiety into anything productive unless you just plow it into leaning in, right? Because if you just sit and spin around and try to think about what the world's going to look like seven years from now, you're wasting. your time. So that's the only path. The only path is to either get excited about this, which I don't even take that much effort, as we said, if you sit down with these models, you pull out one of your
Starting point is 01:35:35 hobby projects from the closet. That you never finished. That you never finished. And you just give it a try. I don't see how you really like computers and not find that experiment enjoyable. And I've seen this with people who are getting into it. Ken's Beck is such a great example. he's been programmed for 52 years and he is saying like he it he loves doing it and he found this balance between using the agents to build something ambitious that he always wanted to ball he's building a small talk server which which used to take forever and now it's getting closer and it's still taking a long time and then in between he's chilling at his he has his house on on the lake and he just goes and like just looks at the bird for two hours and then gets back to it it's beautiful can't is by the way one of
Starting point is 01:36:15 my all-time heroes this was right when i got started in programming right when i before i was picking up Ruby, I saw Kent speak at a Danish conference in 2001 on stage and I was completely mesmerized by his command of both the material, how bold he was and how great of a speaker he was. And this was after having read extreme programming and many of these other things, small talk best practices is my number one recommendation for any program who want to learn the nitty gritty of how to structure a method and a class and the rest of it. Small Talk Best Practices, which is Kent's book from 95, I think, or 96, is to this day my favorite book of all time on tactical programming patterns. So it's wonderful to hear him being agent-pilled
Starting point is 01:37:05 while also enjoying the birds. I mean, I try to do that too. And this is actually, there's a bit of attention right now, is that most of the people I find who are all in, they're working harder than they ever have. And I've seen that with myself now, too, when you can be this effective and impactful on an hour of supervision of these agents, it's really intoxicating. If you have an active dopamine loop up there that gets triggered when something is shipped, it is just hyperactive right now.
Starting point is 01:37:32 And I need to go, do you know what? This is not like a limited sale. Like AI is going to be here next month and the months after that. Like I cannot just operate as though it is a limited sale and I need to get all the dopamine in harvested within the next two weeks. That I actually think is the main challenge right now for the people who are furthest along and most pilled on it is like,
Starting point is 01:37:52 remember that this is as bad as they're ever going to be as the cliche goes, right? You damn well better find a way not to get consumed entirely about it as exciting as it is. And yeah, this consuming is a big deal. Like, Steve Yaggy, he was, he looks a bit more drained than, like, you can see it on the video, but he's honest, like he's being pulled into this.
Starting point is 01:38:13 He's doing, he has friends who are, and when you're on the edge, you're there. You've clearly been AI pilled, but how are you finding of keeping? a balance of like, right, stepping away. You know, like, I know you've, I think you previously talked about the importance of sleep. Apparently, you don't have an alarm. Correct.
Starting point is 01:38:28 I don't use an alarm, although my wife now does because the kids need to go to school on a regular basis. But, yeah, for me, eight hours a night is the best investment you can make in your own cognitive capacity. So I just am reminded every single time. I do not get eight hours that it is such a poor trade. If you go from the eight to the six, I go like. Like, well, I'm going to be awake for, in that case, 18 hours.
Starting point is 01:38:54 What is the drag I'm going to carry for all those 18 hours for getting one more hour, two more hours by cutting back on the sleep? It is such a bad piece of math. It makes no sense. Now, occasionally it's involuntary. I have actually had, especially around this AI stuff, I've had a couple of times, very rare. I can count on two hands the number of times where I've been sleepless, like the brain racing a little too much. That's not typical for me, and it's still not typical.
Starting point is 01:39:23 But I have had a couple of them, right? So I get where some of that excitement comes from. But I'd also say the last thing you should trade is sleep, and then you should not trade your health. You should not try to save the three hours a week of working out to do more agent work. That's a very poor trade. Keep in good condition. Like, there's nothing that's going to be more important if you want to keep, like, sharp up there,
Starting point is 01:39:47 that like the rest of the system is operating. if not at peak capacities, then at a good sustainable level, right? And I do think there are some individuals right now who are at fear of running ragged on something that we're going to be dealing with for like, slow down, buddy. Like, it's not, again, limited sale. The next 10 years, we're going to see more and more. It's going to get crazy and crazier. So don't squander your health.
Starting point is 01:40:10 Don't squander your sleep. Don't squander your diet in the service of anything. Because even on the short term, it does not work. you cannot get more productive within three weeks, let's say, by trying to cut back two or three hours asleep every night and then think there's anything coherent left after three weeks. You will be a hot mess. So let's close.
Starting point is 01:40:29 We talk about the stuff that we don't know. A lot of things we don't know. But let's close with what you do know. So you could have retired a long time ago and just kick back and like listen to birds. What is it that keeps you doing, keeps you building, and getting up every day. And before AI, you would open your terminal.
Starting point is 01:40:48 I think you shared, like, you would go and write, now you're doing with agents. Like, what drives you? And looking ahead, like, what are things you're excited about? My drive continues to be a deep love of computers. This is simply the best way, the most fun way to spend my time. I could spend my time on a lot of things. I do spend my time on a lot of things. I don't just do computers.
Starting point is 01:41:10 I drive race cars. I take lots of time up. I have three kids. We enjoy all of that stuff. But if I'm going to fill eight hours every day with an activity, my best bet is computers. And it has been so since I was literally five years old, whether it's video games or what now feels a little bit like a video game,
Starting point is 01:41:30 actually, instrumenting all these agents and playing a little bit of StarCraft with moving them around. Exatorio. Yes, exactly. So I just really like computers. So whether I need to do so for economic reasons or not, I won't continue to play with computers, see what makes them tick and make things. I think that's the other big misconception that some people have about wealth is that they conceive of it as some sort of checkpoint.
Starting point is 01:41:55 Like, once you've made it, then you can just kick back in leisure as though that was happiness. We simply have 100 years of psychological studies telling us, no, that's misery. if you have all the time in the world and no purpose, no mission, leisure is not going to cut it, is not going to be fulfilling way. And this should be obvious by example of literally every entrepreneur who sells their business. They sit on the beach for three weeks and then they're back into the game, right? Because this is actually not just something they do in pursuit of a goal. It's the goal itself. It is the mission itself.
Starting point is 01:42:32 It is the satisfaction. It is the affirmation of being a human that I'm not just a blob laying around. I am a useful individual who put my skills to the best use possible. So I'm going to continue to do that. And I'm going to continue to do it whether I'm sitting typing at the keyboard, whether I'm instrumenting these agents, whether they're teaching me, however which way it is. I want to play with computers. I want to continue to do that.
Starting point is 01:42:57 And then even more specifically, after the last three months, I'm leaning in hard now with agent access. For example, this is what I've been doing the last few weeks. We've been working on the new CLI, which also taught me like, we're not quite an AGI yet, right? You think, like, well, just ask the agent to make a CLI. It will, but, like, it's not quite there, right? Like, I wanted to be just right. And the agents still need a little bit of help. I'm very happy to provide that help to these agents and we'll release a great CLI for
Starting point is 01:43:24 BASCAM very, very shortly. Maybe by the time this is out, it'll probably be out. And for the rest of them, too, and I want to lean into all of this. How can we use this as much as we possibly can? And then right now, I'm also just an incredibly curious person. I wake up every morning. I have a new ritual, which is not to pull my phone up and start hopping on X. Like right when I wake up, I don't think actually that is great.
Starting point is 01:43:46 But it takes a tremendous willpower to not do so because I'm just so curious about what happened. There's so much happening right now. I want to know. I want to know. I want to be enjoying it, be a part of it. So I don't foresee that ending. I don't foresee a love of computers evaporating. In fact, if anything, right now, I'm seeing like a flourishing of it.
Starting point is 01:44:09 I'm liking computers more than I did five years ago. And that's amazing. Amazing. David, this was awesome. Thanks a bunch. All right. Thanks for having me. This is really great.
Starting point is 01:44:18 This was a fascinating conversation and I love the energy that David has. I hope some of this energy that is obvious in person also came across to you. I really appreciated that David was open that his stance did not change about AI because his philosophy changed. It's just that the tools became good enough to do useful stuff. AI for autocomplete was annoying for experienced developers. AI agent that can produce pretty good working code by themselves, on the other hand, are now pretty useful.
Starting point is 01:44:42 And yet, David kept coming back to taste, judgment, and craft. He wasn't just saying, just let the model write whatever. It's the opposite. He has a very high-quality bar, and he wants the output to be code that he would actually be proud to merge. It feels like AI might make good judgment even more valuable. than before. I also really liked how David thinks about the importance of design. At 37 signals, designers help figure out what should be built, how it should work, and increasingly even decide
Starting point is 01:45:10 how it gets implemented. I wonder if 37 signals is a step ahead of the industry in thinking about designers a bit like developers as well and developers a bit like designers as well. Finally, I found David's take that we might have hit peak software engineer an interesting argument. David thinks will produce more software than ever, but his observation is that we might be near the end of the time when developers could command high compensation simply because they were the bottleneck. My two sense is that there will surely be high demand for professionals
Starting point is 01:45:41 who can build profitable software, but this will mean software engineers who are not only good at coding or using AI to generate code, but can oversee building complex systems, have taste, and business sense as well. If you'd like to hear more from David, check out a bonus episode with him linked in the show notes. Also check out the show notes for related the pragmatic engineering deep dives on software craftsmanship
Starting point is 01:46:02 and practical ways of building software. If you've enjoyed this podcast, please do subscribe on your favorite podcast platform and on YouTube. And a special thank you if you also leave a rating on the show. Thanks and see you in the next one.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.