Cycles of disruption in the tech industry: with software pioneers Kent Beck & Martin Fowler
The recent Pragmatic Summit saw two legends of software development share a stage in what was one of the most popular sessions at our debut live event in San Francisco. In front of a packed audience, Martin Fowler and Kent Beck tackled a range of highly-relevant topics, with me hosting proceedings. Martin and Kent go back decades, and Martin jokes that his career is âmostly about writing down Kent Beckâs ideas.â They first collaborated in the 1990s, and each has published influential books â âExtreme Programming Explainedâ and âTest-Driven Developmentâ by Kent, and âRefactoringâ and âPatterns of Enterprise Application Architectureâ by Martin. At the Pragmatic Summit, they each shared a wealth of hard-earned learnings and decades-worth of perspective, along with a healthy dose of skepticism. Needless to say, the conversation did not disappoint, and this article summarizes what we discussed in their own words. You can also check out the full recording. We cover: Technology shifts similar to AI. The arrival of the microprocessor, introduction of object-oriented languages, the Internet, and agile software development principles were all major changes â but one big difference was that it took time for these technologies to be adopted. Not so with AI. Agile and AI similarities. With Agile, company incentives were often misaligned, âsnake oilâ vendors were everywhere, and a âmid packâ of developers who resisted the change saw their career prospects hit. These trends look likely to repeat with AI. Whatâs happening inside companies. Thereâs some confusion â and even panic â at large companies, while AI tools donât work nearly as well on large and complex codebases as on greenfield projects. Also, a âre-soloingâ of software development is inbound. Avoiding burnout with AI agents. Set and maintain boundaries, and pay attention. Martin suggests to catch when you start producing ânegative valueâ: thatâs when to take a break. Unhealthy performance metrics. Companies are starting to measure things like frequency of pull requests â when they should be looking to quantify outcomes and results. Lower quality on purpose? It seems every business is optimizing for speed with AI, but quality can get dropped. Also: building features is more obvious with AI, than investing in âfutures.â Test-Driven Development (TDD): tests no longer optional? Kent pioneered TDD, and today itâs more relevant than ever for working with AI. Thriving in an AI-native industry. Focus on working with agents to express your craft, try to get more enjoyment in understanding your domain, and take on more ambitious work. Before we start, a programming note: this week, there will be no The Pulse on Thursday â Iâll be attending AI Engineer Europe in London on Thursday and Friday, including doing a fireside chat, and hosting one with Linear CTO Tuomas Artman. Do you recall a tech change as similarly promising and unpredictable as AI? Martin: âNothing has hit with the magnitude of AI. This is a whole size different from anything weâve faced before. On a smaller scale, we were very much involved in the growth of object oriented languages, which scared a lot of people. It didnât scare us so much because we were part of it. Looking back, the internet had a huge impact on us all, and of course, Agile software development, too. Agile had a very big impact on a lot of organizations: you could tell by how hard they resisted it. We had to persuade people of the importance of these technological changes; yes, even the internet! It may sound surprising but there were people who didnât think it was important. The thing about AI is that today there is no argument about how important it is.â Kent: âThe other analogy I have is the introduction of the microprocessor. Before that, computers were big boxes; you couldnât move them around. If you wanted another computer, youâd mortgage your house for it. Having a computer was a big deal. I was a kid in Silicon Valley with my dad as a programmer when the Intel 4004 hit the market [in 1971]. We went: âWait a minute, that chip is a computer? Oh my goodness!â The possibilities of computing suddenly expanded thanks to it. If you could figure out how to write software on this chip and figure out how to design hardware around this thing, you could suddenly do things you hadnât even imagined. And so I think part of AI is this expansion of imagination. Iâm writing projects that are ridiculously ambitious: Iâm working on a persistent Smalltalk. Iâm writing library-quality code for Rust.â What was the feeling in the industry during those revolutions, and the differences between professionals who thrived back then and those who didnât? Martin: âThere was a mix of people chasing the hype and those saying, âthis new thing is nothing special.â I think youâve always got to have that balance of skepticism and curiosity, and to be selective about it. I mean, I have been completely skeptical about some big changes: Blockchain was one I was extremely skeptical about. My skepticism is well-rooted because Iâve seen so much âsnake oilâ over the years. In fact, my skepticism has to be absolute and total, which means I have to be skeptical about my skepticism! To be that skeptical also requires curiosity: youâve got to be curious enough to say âhow do I probe in order to detect signs of something useful?â You also need to be aware that your early interactions may not actually be a true signal. When I started playing around with AI, it was with GitHub Copilot a year and a half ago. I was pretty unimpressed; it would give you something wonderful, but most of the time it gave you such garbage that you would just delete it right away. If that had been my only impression of AI, I wouldâve immediately flipped the âbozo bitâ on it, like I did with blockchain.â Kent: âHereâs the thing, the capabilities of AI can change week to week. Iâll try something with Gemini one week and it fails miserably. Then Claude Code works pretty well, and then it doesnât. And then I try Gemini for the same thing and it works, when it hadnât worked last week! People want an answer, but the answerâs always changing. In this environment, you canât possibly have the answer. Thatâs the bad news, but the good news is that nobody else has the answer either. So, youâre just as smart as everybody else because weâre all equally ignorant.â In 2001, the âAgile Manifestoâ came out, of which you were both co-authors. I think many companies are expecting the same thing with AI as Agile promised: better, faster, cheaper software. But how did Agile adoption really play out? Kent: âIt turns out people donât want faster, cheaper, better! Inside some companies, the incentives are misaligned with actually achieving that. And so as geeks trying to achieve these improvements and saying: âitâs 40% better, 12% cheaper and less fattening,â people will punish you if that doesnât align with their incentives inside organizations. In the ideal organization, everybody would care about the same things, but thatâs just not the way it works! So, if AI is coming along to promise the same things, weâre going to see the same reaction as before.â Martin: âAn obvious difference is the sheer magnitude and speed there is with AI. Also, I think there will be a big difference between people who use it well and people who use it badly. The trick is figuring out how to use it well and putting the effort in to learn. There will be a big distinction between those two groups. But I suspect there will still be some similarities with Agile. The core notions behind Agile and extreme programming are solid and good, but a huge snake-oil industry appeared around it â the âAgile industrial complexâ, as I refer to it. This is also happening with AI right now, and itâs often hard to see the difference between snake oil and the real stuff.â Kent: âAI is an amplifier. If youâre young and learning quickly, AI can amplify your learning. I personally think this is the golden age of theâŠ
Send this story to anyone â or drop the embed into a blog post, Substack, Notion page. Every play sends rev-share back to The Pragmatic Engineer.