In short
Podcast Episode Notes: Azeem Azhar's Exponential View - Episode with Thomas Dohmke
Episode Overview In this episode of "Azeem Azhar's Exponential View," Azeem speaks with Thomas Dohmke, CEO of GitHub, about the transformative impact of AI on software development, developer salaries, and the future of SaaS. The discussion delves into how AI is reshaping the roles of developers and the nature of software creation.
Key Topics Discussed
- The Role of Developers in the Age of AI
- Automation Focus: Developers increasingly start each day asking how to automate tasks they performed last week.
- Abstraction Ladder: Developers are moving up the "abstraction ladder," leveraging AI to work closer to their conceptual thinking rather than getting bogged down in low-level coding.
- GitHub Copilot and Workflow Enhancements
- AI's Role: GitHub Copilot helps to unlock a "flow state," allowing developers to brainstorm and decompose problems efficiently.
- Changes to Workflows: The introduction of AI tools is making it easier to code, reducing the time spent on research and debugging.
- Shifts in Software Development Practices
- Art vs. Assembly Line: The debate on whether software development is an art or a production line.
- Software Commoditization: There's a trend toward creating simple software that can be rapidly generated, potentially replacing traditional SaaS models.
- Inspection and Control Over Code
- Complexity of Codebases: There's growing concern that as AI-generated code proliferates, it will become less inspectable, making it harder for developers to maintain control over systems.
- Understanding AI Outputs: Developers need to learn how to effectively communicate with AI tools to get the desired output.
- The Future of Software Development
- Ultra-Personalized Software: We are entering an age where software can be highly customized for individual users.
- Building the Next-Generation Web: The shift towards using agents to interface with complex systems rather than traditional coding.
- Developer Salaries and Market Impact
- Impact of Increased Developer Population: The potential rise in developer numbers may affect salary structures and job roles within the industry.
- Moving Towards an Agentic Web
- Emerging Trends: The conversation touches on the shift from human-centered web experiences to agentic tools that automate interactions with software.
- Complexity of Interfaces: As tools become more sophisticated, the backend complexity will increase, requiring new approaches to manage software development.
Key Takeaways
- Evolving Developer Roles: As AI takes on more coding tasks, developers will shift towards problem-solving and creative aspects of software design.
- Importance of Understanding AI: Developers must learn to effectively prompt AI for the best results, balancing automation with oversight.
- Personalized Software Revolution: The future of software development will enable users to create highly specific applications tailored to their needs without traditional coding skills.
- Market Dynamics: An increase in the number of developers may disrupt current job markets and salary levels.
Conclusion The conversation with Thomas Dohmke presents a forward-looking perspective on the software industry, emphasizing the importance of adapting to rapid technological changes and the evolving nature of work in the age of AI. As software becomes more accessible and personalized, developers will need to find a balance between automation and the inherent complexities of modern coding environments.
Additional Resources
- Thomas Dohmke's Links:
- [GitHub](https://github.com/)
- [LinkedIn](https://www.linkedin.com/in/ashtom/)
- [Twitter/X](https://x.com/ashtom)
- Azeem Azhar's Links:
- [Substack](https://www.exponentialview.co/)
- [Website](https://www.azeemazhar.com/)
- [LinkedIn](https://www.linkedin.com/in/azhar)
- [Twitter/X](https://x.com/azeem)
---
This outline captures the essence of the podcast and provides a structured overview of the discussions and insights shared by Azeem Azhar and Thomas Dohmke.
Written by AI. May contain mistakes. Listen to the episode to check what was said.
Transcript
Automatic transcript. May contain errors.0:00Where we are today in technology means a company like GitHub or Microsoft needs to be as agile as a 10 person startup. And that is quite hard because we're running a big ship at the speed of a really small boat. The nature of the software that companies are going to ask for is also going to change. We will see a commoditization of software that is so simple that recreating that on the fly will replace those SaaS services. I think software developers are the first class of career where they start their day thinking, how can I automate away the things I did last week? But also they have moved up what I call the abstraction ladder.
0:32All of a sudden, with AI, we were able to get so much closer to how we're actually thinking, the language and the descriptions that we're thinking in. Isn't there a case that we've gone over the hill to a point where we're going to be creating so much code so rapidly that it'll be less inspectable for the human? At least you're already past that point.
0:57My guest today is Thomas Domker. He is the CEO of GitHub. GitHub needs no introduction. It is the platform upon which nearly all modern software development happens, and software development is being revolutionized by artificial intelligence. Now, GitHub is part of Microsoft, and recently Microsoft CEO Satya Nadella said about 30 % of the code in some Microsoft project is written by AI. This means that AI writes one line of code for every two lines of human rights. But that ratio is going to change as AI gets better, and some developers have told me their ratio is closer to four AI to one human.
1:42When it reaches 100 AI lines of code for every one human line of code, Thomas, what is the developer actually going to be doing? Yeah, it's a great question. I think Satya said between 20 and 30 percent of the code in our repositories was written by software. So it was a bit broader in how he framed it. And I think, you know, the developer will do mostly what engineers actually do and how they define themselves, which is they're solving problems, implementing ideas. You know, they're taking the big idea you have in the morning. You know, it's Friday, 9 a.m. here. I'm sure many engineers here in the U.S.
2:22look forward to a long weekend, but still have something that they want to get done. And they're trying to figure out how they do that. The work doesn't start with typing in your editor. The work starts with leading up, you know, a GitHub issue or a specification or just taking what I have in my head and bringing it down into nodes and, you know, models and systems like Copilot play the first role here where you can brainstorm with them and say, hey, you know, I have this problem that I want to solve. Very simple. I want to build an app today. Give me some thoughts of how I can do that. And you can kind of like do this software decomposition part first and take a big problem break into smaller parts.
2:56And I think that ultimately is what engineering means. and then you know where to stop with the decomposition and now you can start coding. And in the past, you had to start at a very low level. Before we started the live stream, you showed me a very old computer and back then it was very hard. You had to go very low level. Today, most engineers actually already start on code written by others, right? They use open source libraries. They use open source app writing systems. They have an editor that they're not building themselves and a debugger and a compiler and a container orchestration like Kubernetes and all these things, right?
3:29So we're already composing different pieces into software and we're moving up the abstraction then and AI will help us to achieve that. And then we will review the work of the AI to make sure it's secure and compliant and runs efficiently and hopefully returns some profit for the corporations or the teams we're working for. I love what you've done there because you've built us a bridge to the past. When people started to write code and I spoke to somebody this morning or yesterday morning when I was in Chicago who worked on medical records. And he said the language they're written in is called Mumps, M-U-M-P-S, which I'd never heard of before.
4:08And I've gone off on research. But, you know, in those early days, you started from a blank page. If it was in basic 10, you know, print hello world. And what's happened over 35, 40 years is libraries, abstractions, reusable components. So an engineer is assembling things almost like Lego, but it's not as straightforward as a Lego. But there is something different about these AI tools, or so we're told by the numbers that come out on grand stages at developer days. How has your own experience as an engineer changed as you've started to use the co-pilot in GitHub? Is there a behavior that you hadn't expected to take on?
4:53I actually have some Legos in my hands and behind me too. In some ways, I actually think it is a bit like Lego, right? Because when you start working with Lego, you're not thinking about plastic, you know, pieces and forms to build bricks first before you assemble the bricks. I think the thing that really changed Google Copilot in my own coding projects, which are mostly hobby projects on weekends is that I match faster back into the flow state. The challenge that most engineers have, and this is where vibe coding comes, is that you have an idea and you want to build something on a Sunday morning.
5:29And the first thing you did in the past is you started research and you maybe looked on GitHub for some open source components, or you looked on maybe something project already existed that you could fork. But before you knew it, it was night and you had maybe done a little bit, got a quick prototype done, but you were nowhere near the thing you actually wanted to build. And maybe you got to 10 % or 5 % and you realized that what you thought is easy to do is actually much more complex. And that has dramatically changed, you know, through the use of open source, through the cloud, through platforms like GitHub, Reddit, Stack Overflow, all these being available to you.
6:07Because when I started coding in the early 90s, it was books and magazines. And then on a Commodore 64, I had to build it all from scratch, right? So we are already at the point where we are taking pieces and we're composing software. But now I open my editor and my project is there and I can just ask Copilot, what's the next step? Or I can, you know, give agent mode the feature I want to build and say, hey, help me to build this feature. And then it looks through the files and it identifies where I have to make changes. So I don't even have to figure that out myself. We're in the code base where I have to implement things.
6:39it runs command and the cool thing when it runs command it actually actually can look at the error message and then see what what is wrong on my system and it might have to install another library or and things like that so it keeps you more in that flow state you know instead of you switching back and forth between research mode and trying to make things work and then things take forever to compile in the meantime you go and make a coffee or get distracted by sub stack Well, if you think about the maybe three orthogonal dimensions about an engineer's output, there's quantity, there's quality, and there's creativity.
7:18Are they producing more lines of code? Are they producing better lines of code within a tighter set of guardrails? Or are they being more creative about the problem specification? which of those has most shifted when you look across the millions of people who've been using GitHub Copilot? I think they you know to some degree have evenly shifted because they're all tied to each other my creativity you know during the coding process is limited by the time that I have available and the energy that I have you know the amount of distraction I get and oftentimes developers describe that as the magical flow state like you're in you're almost in a in the zone of of building something and as long as nobody distracts you you really feel like you're getting a lot of things done and then you know the moment comes where you finish the feature or or you got the distraction and now you're out of the zone and you have to find it back later and i think co-pilot and agent mode keeps you in that zone of creativity and lets you really focus okay i want to take this and implement it.
8:23Similarly, it helps you to review code. So there's the copilot code review agent where you can run your pull request through it and it gives you feedback on that. So you no longer have to wait for your team members, right? So that's not a creative process. That's more like a verification process and copilot helps you with that work. It can write unit tests. And I think most developers, if they're honest to themselves, and then certainly I can speak for myself, if I work on my own hobby projects, I write no tests whatsoever and I don't file a pull request against myself either, right? Because it's like, A, all my code is obviously perfect, haha.
8:56But B, it's like, that's not the fun part of the job. The fun part is to implement something and I can see it appear in front of me on my screen. I have the magic in my hands and I could create something with just code, right? So can I just demystify three terms you've said that may maybe need explanation for non-developers? Because this is a super relevant conversation about how work changes that we're having beyond coding and software development. So you said three things. One is unit tests. So roughly, you know, when a developer writes a component of code in order to know whether they've written the right thing, they should also write a test.
9:30If it passes the test, they've written the right thing, unless, of course, they've specified the test wrongly. So that was one thing you described. The other thing you talked about were the idea of pull requests. This is really about how you file each iteration of your code with a note of the work that you actually did so that you technically have an audit trail to work your way back like Hansel and Gretel when they were meant to leave the sweets trail in the forest. And the other thing you said, which if people haven't worked with engineers, I think is so important, is the notion that an engineer gets into flow state.
10:09They become one with the code because what you're doing is you're taking the amorphous complex world and you're framing it into logical deterministic code. And it requires a class of focus that I don't think you see in any other activities. Now, you're the sort of developer advocate on this call. Is that a fair reflection of those three ideas? You hit the head on the nail. Is that how you say it? You hit the head on the nail. Or the nail on the head, I think. Either way, we're fine. We're friends here. The hammer on the nail. No, but I think software development is a combination of creative work, of art, something that's very similar to what an artist does.
10:53And it's also production, what Bill Gates famously called the software factory. And both of these things are combined. And so part of the job of a developer is being creative, implementing something in software. And the other part is working with the team, developers, product managers, designers to verify the product. And that is both from a UI, UX perspective, like looking if the product actually does and look like it was intended to be. But also from a code quality perspective, from a, does the piece of software I produce, does that align with what the rest of my team has been doing? Or is there now a conflict between those things?
11:29So a lot of the time that developers spending every day is actually on that production side of the creative process. And often that is the more, you know, boring piece for many developers. And that's where automation is great because I actually want to spend more time in the creative part of it. You know, designing ultimately what I'm shipping to my customers and automate as much as I can on the production side. So to give one example, over the last 10, maybe 20 years, almost all production deployment has been automated. So it used to be, you know, in the late 90s and early 2000s when the internet started, you would have some files in your local machine and you would use a protocol like a so-called FTP, file transfer protocol, and upload files to a box somewhere, then replicate that process and maybe had a script to automate that to some degree.
12:19but that was a very manual process and if something went wrong your page went down and and then you had to figure out what did i do wrong or what server has a problem today all you really do is you use this pull request that's that you described so eloquently uh where i i submit my my work uh for review by my team they review it automated tests are running and verification is running and then i click a button that says merge and it merges us into the main branch the main line of our work. And then an automated process starts to deploy all of that into sometimes thousands, if not tens of thousands of virtual machines in the cloud.
12:55And so that's one such example where we have automated the work of a software developer. So we have more time for the ever increasing complexity and demands and innovation on the creative side. Absolutely. I mean, that's a great example where I think software developers are the first class of career where they start their day thinking, how can I automate away the things I did last week? And I've been around so long. You talked about continuous integration and deployment as opposed to manual deployment. I remember the absolute excitement with a development team I was working with when we got something called Doxygen, which helped you create documentation.
13:39This is in the late 90s because if there was one thing developers hated more than unit tests or more than deployment, it was writing docs. And Doxygen came out and helped you with that process. So you've got this career class, right, where people have spent their time consistently thinking about how they automate what they do. I mean, I remember my sysadmin from 10 or 12 years ago, would spend about four days a week managing service. And over the course of three months, he got that down to a couple of hours a day using tools like called Capistrano and Chef. I don't even know if these things still exist now.
14:17And so he started to do much more creative work. And it's one of the things I was wondering about, that desire to automate, whether that is one of the reasons why tools like GitHub Copilot, but also Cursor and Windsurf and Replit and Lovable are growing so fast. If you look at the category of Gen AI tools and the general models, you know, the CLAWs and the chat GPTs are growing at about 20 to 22 % every three months. No other category is growing remotely as fast as that, image generation, text generation, except the coding assistant tools, which are growing 76 % quarter on quarter. I mean, still from a low base, a few million people every day logging in.
15:07I mean, to what extent is that just because software developers are, they like using software? To what extent is it because they're bound to this idea of automating their jobs so they can get onto the interesting projects? We've talked about history already a little bit. And the way Topfer developers have always worked is that they have tried to automate as much as they can of the workflow, but also they have moved up what I call the abstraction ladder. And 50, 60 years ago, there were still punch cards. So we would punch holes into a card because that basically a hole was, you know, transistor open and not a hole was transistor closed or the other way around.
15:49And then, you know, microprocessors came when Microsoft started in 1985. There was a very popular, it's funny to say these days, because it was like maybe thousands of devices in a very small scene of people, but where all of a sudden you could program the computer in a programming language. And so the first Microsoft product was BASIC. And BASIC, what BASIC did is abstracted the instruction set of the chip, you know, which is ultimately, you know, numbers in hexadecimal form, abstracted that into something that is human readable and is pseudo-English, right? If you look at almost all the popular programming languages, Python, Basic, Rust, they all have English keywords.
16:34The reason for that is that obviously our thoughts are expressed in the language that we speak, not in computer instruction sets. And so we abstracted the complexity of the chip into something that is closer to the ideas that we have, the features. But there was still a huge gap between the description and an instruction set. And over the years with open source components and higher programming languages and things like that, we moved closer, but we never got really there until GPT-3 came. And when OpenAI launched GPT-3 in 2020, they created a fine-tuned version of that called Codex, fine-tuned on open source code that for the first time allowed developers to describe their ideas in English and then later in German and almost any major human language.
17:22And then the model generated the code for me. And in 2020, that meant I could say, you know, give me a method to determine prime numbers or do sorting algorithms. And if, you know, if the listeners have gone to university and did computer science, they know that you have to learn all these different sorting algorithms, quick sort and bubble sort and whatnot. And then you never needed that again, because ever since you started your career in a company, you just use some library and do, you know, array.sort, right? And so we've always moved up that ladder, but all of a sudden with AI, we were able to get so much closer to how we're actually thinking, right?
17:58The language and the descriptions that we're thinking in. So I think that's number one of why the adoption, the diffusion of these tools has been so fast in software development because it finally got us to the step where we always wanted to be. But this arc that you describe, right, where we go from assembler language, which is, you know, I recommend people take a look at some if they haven't. I mean, it's pretty indecipherable through to higher, more sort of English natural language friendly languages like Python and Rust makes a great deal of sense. And then, of course, you move in towards open source and open source has these highly inspectable bazaars.
18:40They're not these uninterpretable cathedrals. You can put your library and other people can look at it and people can fork it. They can run their tests. There's a sense of trust in what's going on. But there is an argument that says, as we move to AI writing 400 lines of code for every line I write, that it doesn't become inspectable. I mean, a human couldn't inspect the source code in a modern jet plane, for example. No single human could. So we, you know, isn't there a case that we've gone over the hill, over that point where the languages were high level enough, abstracted enough that we could understand them to a point where we're going to be creating so much code so rapidly that it'll be less inspectable for the human?
19:30I believe we're already past that point. With or without AI, we passed that point a few years ago when it became clear that the majority of projects, commercial or not, are based on 90 %-ish, plus or minus of open source libraries, open source systems. If you look at what runs on a platform like Substack today, it's not only the product itself, it's all the open source libraries. And keep in mind, those open source libraries are maintained by millions of developers around the world that are not part of the organization that sells the product, right? That do not follow a work schedule, that do not the same trainings, that might decide on a Sunday night to push an update to the library.
20:13And so now all of a sudden, you effectively gave commit access to those people because they're part of your stack, all the way down to the operating system that almost nobody builds themselves. And even if you look into the Linux, Windows, or Mac OS operating systems, they're incredibly complex. It's very rare that a single person can navigate that whole code base. So what do companies do? They divide and conquer. And they assign subsystems to individual teams. And that's, you know, in some ways, the funny thing about software development is that what you learn in school and university is the basics.
20:50And then what you really learn is the craft through your journey. When you come into a company, you realize you almost never get to start a new project and start from scratch. You almost always, you know, get to maintain somebody else's work. that might be, you know, there's still many financial services companies that run on COBOL, which is a very old programming language that was invented when Eisenhower was the president in the United States. It runs on mainframes, which is a technology that was, you know, the state of the art in 1975. That still runs, right? And somebody has to maintain that.
21:26So we are, I think what you're saying is absolutely true. We're already at the state where a single person often cannot explain all the different parts of the system. And so AI actually gets us closer to that state again, because now you can just, you know, ask Copilot, you know, where in my code base is the feature implemented? What does this method do? What does that method in COBOL or the struct looks like in a more modern language like Java or Python? And so you can do these transformations. You have an agent, a coding agent that's always available to you. And, you know, this week at our build conference And here in Seattle, we announced the coding agent and co-pilot where you take an issue, literally like a human language description, and the agent does all the work in the background and submits a pull request.
22:12Now, I get that pull request. I still need to understand what that actually does, right? Like, how do I decide whether I can merge this or not? Of course, I can YOLO it, right? I can just, you know, only live once. How do you give some assurance to possibly a complex task that an agent has worked on for 45 minutes or an hour and make sure it's right? And, you know, how does a discipline, what used to happen, I guess, in engineering teams was that, you know, you might show your commits to your neighbor who's a peer of yours and say, this is how I approach it. They might ask you the questions. And maybe once a week, your team manager might sit down with you and ask you to walk through some of the things you've done as a measure or beyond whether you've passed the unit tests.
22:54But how does that team now work where you fired lots of things off to coding agents to go and build? Where do you get the understanding, the assurance from? It starts with the planning process, the process of describing what you actually want to implement and the key new skill that engineers, product managers, designers, whoever is using this orchestra of agents that helps us through our day, you will learn and internalize what is the right level of description that the agent needs to do actually what I want it to be. Now, of course, when you try out an agent like this, you can just give it a very abstract task and see what it does.
23:36And very quickly, we'll find out, and you mentioned earlier image generators. I think image generators are actually the perfect abstraction of that concept, right? Like the first time you used an image generator and you told it you want to render an image of puppies, or a computer on a meadow or something like that, right? You most likely didn't get exactly what you wanted. You got something that was close to the description and then you knew that, okay, I write another prompt and you try to figure out how do I change my prompt to now get closer to the image I want to get to. And the same is true for coding agents, right?
24:09You will try it out. You'll see, okay, it wrote something, but that's actually not what I wanted or it doesn't align with our standards here at GitHub. And so then you go back to a description and adjust your prompt. And as you learn that skill, you're going to get better on describing exactly the task that the coding agent can take. You know, run 45 minutes, submit a pull request, you review the code, and you're like, yep, this actually looks good and it does exactly what I want. And you will be wrong at times. You will be, you know, either too far away, and then you will have to work with the agent and understand, you know, how do I get it now to the point?
24:43And I think what will be crucial here is that developers will want to just take the code on your local machine, on their local machine, and modify it. Because there's always going to be a moment where you're like, this is three lines of code. I know exactly what I'm doing. Instead of me trying to figure out how to tell the agent to change those three lines of code, I just change it myself. So we will switch between the natural language layer and the coding layer all the time. But let me ask you about how this changes as the software changes. You've described that a lot of developers in the world are not working on the next TikTok.
25:18They're actually maintaining a customer database for a shoe factory. And they have to go in and do that work. And what you're doing is you're taking the technologies of tomorrow, which is AI, pointing it at the systems of yesterday and maintaining them. Everything needs maintenance. But of course, we're going to start to build new things. and the word agent, of course, is in vogue and software agents from you and Cursor and Replit and so on are all part of this system. But the nature of the software that companies are going to ask for is also going to change. You know, I would posit that if you're a big company and you've got a system of record like a NetSuite or an SAP, What you probably want to do because you've been basically stuck in this stack is start to build a layer of agents that do the things that you need for your customers, your suppliers, your team, without having to build traditional software.
26:24just talk to them through an API or through browser use, which is getting better and better, and abstract away those old, complex, almost kidnapper-style bits of software and move to a new architecture, which is ultimately about building more agents that work with each other. I mean, is that a reasonable direction of travel, or do you think I've simplified it to an absurdity there? No, I would actually follow your logic, but even layer it a little bit. You mentioned a number of these agents. And so let's say you and I want to build a web page where we sell shoes, right? You can just go to any of these agents and have it build the web page for you and it can even deploy it.
Read the full transcript
27:11And you never have to look at the code of that web page, right? Because it used to be called low code or no code. And a lot of these very simple things you can build without ever looking at the code. now our shoe empire grows and now we have a full e-commerce store and we need a backend and a warehouse now what what started simple no longer scales and all of a sudden you know a million buyers come and the web page is down on black friday how do you figure out to make that actually work now you need to go into what is actually the part of engineering it which is not you know building this quick web page hacking it together is what we used to call it but figuring out how how do I make the scale?
27:49How do I have the capacity on Black Friday? But, you know, don't waste a lot of money because servers cost money and that ruins the margin of our business when there is no demand. And so we have to build, you know, an abstraction layer in between, for example, for all the shoot pages to have the same design system, design components. And so when we decide, okay, you know, we're five years into our business and our brand color is no longer purple, but pink, you know, that we can just change all the design at once instead of having the agent go to every single page and modify that again, right? So we've got to build a stack, an engineering stack, a platform stack that resembles our business.
28:28Another example is GitHub. We have a product called GitHub Actions, which is our continuous integration deployment service. And we're looking into how can we get that from 99.9 % uptime to 99.99, so-called four nines uptime. That's not something you can just go and ask the agent, right? Like, well, this is an engineering problem that you need to solve that is very similar, I think, from a complexity perspective. If you're the mayor of a city and you promise everybody you're making public transport better, right? It sounds simple when you're promising it during the election. And it's much harder when you're actually elected.
29:02And now you have to figure out, how do I change the city? How do I get the permits? How do I build? Where's the funding coming from? And I think that is where you're always going to have humans, humans that use agents and combine different agents, but you've got to know at which point in your day-to-day process, in your engineering process, you're using these agents for what purpose? Okay, so I think what you're saying there at that point is that, you know, it's one thing to write small chunks of code that can do a function or a personal app, but embedded in what is effectively a complex system of enterprise software with thousands of functions and services where they can be quite brittle because one is very sensitive to how quickly it gets a response.
29:49And over the years, you've built in queues and other mechanisms to make sure the whole thing works. That is almost an undocumented, implicit knowledge that the senior engineers have of a system. Your contention is it'll take a while for AI systems to get there. So we're going to see two trends, right? Today, you're buying software, SaaS services, platforms like Substack, because it's cheaper for you to spend a small amount of dollars every month on those platforms instead of all building it yourself. If building it yourself with an agent becomes so simple that you can just do that in a couple of minutes, you will stop paying for these SaaS services.
30:30You know, we will see a commoditization of software that is so simple that recreating that on the fly will replace those SaaS services. And one such example is Manus, one of the tools that became very popular in recent weeks. And I met with the founders a couple of weeks ago and they showed me how they were looking for an office in Tokyo. And so instead of just going to a real estate page and kind of creating a note sheet of what is interesting, they had the agent create a map of all the available offices just for them, right? So it's personal software. It only serves that one purpose. Once they're found an office, they can throw that away.
31:06And whenever they need to find bigger space and whatnot, they recreate that software. So that level of software effectively has lost most of its value. And it's only because the creation is so cheap. But at the same time, everybody using agents will create so much more complex software because they can now, with the same skills and the same capabilities, add features to their platforms like GitHub at an accelerated pace. And so hopefully, you know, you're still finding value in buying these platforms and paying, you know, for the service because the complexity there is increasing as much as the simplicity commoditizes the more simple applications.
31:47Yeah, I mean, it's very true. I have a really personal example. So my physio gave me a program for a month and I took the program and I threw it into one of these Vibe coding platforms. These are products you can go to. They've got a prompt. You type in a description. It generates working code. And it generated me a working web app called Build Back Better, which I thought was a great name for a back program. And it's just for the four weeks that I've been using and tracking and doing the work. And I didn't go off and buy something. I didn't find something, you know, that didn't quite fit my needs.
32:27So you start to see things like that emerge quite quickly. And you yourself talked about a world of a billion developers, right? So we currently have about 50 million developers. And you said, well, you can envisage this world of a billion. But that feels like a phase change, right? So what are a billion developers doing? they're not debugging SAP, right? Or COBOL or Dibol or in an IBM 370, right? So what does that actually mean for there to be a billion developers? We already have 150 million accounts on GitHub. Now I'm sure there's, you know, some duplicate accounts and some bots and whatnot.
33:09But we are on a path, if you look back, where GitHub came from 17 years ago when it launched in April 2008. Now we're at 150 million. can just continue that exponential curve and predict that by 2030 or so, we're going to be at a billion. From my perspective, the most important thing about this number is that we have way more than a billion computer users. In fact, we have more than a billion smartphone users on the different platforms. And a lot of that smartphone usage today is consumption. You're downloading an app or you're just opening a browser or you're watching videos and reading text.
33:47And that's actually as different to what computers were 50 years ago when you bought your first, you know, well, PC wasn't around, but like microcomputer and then, and where you started with creating software, right? You had a basic prompt on a Commodore 64 and so you had to learn a little bit of coding. And I think we're going back to that, that every consumer is also being empowered to be a creator, just like you're using your camera already to create on these phones and your email app and whatnot. And I think that's crucial that it's important for us that these devices let us create whatever we want to create and the programming language is not in the way of that.
34:24I love that picture. So let's play around with what that might look like. I mean, the tools are pretty good today. I don't think they're quite there for a billion people. You still, you know, the agents still make mistakes and you need to know a little bit about CSS styling and other types of questions when you, you know, you look at the preview. But it is really, enlivening, in fact. And I wrote my first code for the first time since 2012. I had been banned by my engineering code team from writing any more code back then. And I had to set up a new GitHub account. And this code does one thing for me.
35:02It's a little extension on my browser that allows me to count the number of words I've highlighted. And there are lots of word count extensions in the Chrome store, but they all have other features I don't want. And this one I've been able to run. I just got Claude to write it for me. I got ChatGPT to check there were no security problems. And it's been amazing because I haven't been able to do that for 15 years. But you work with developers all the time. That's been your life. So what happens when a billion of us are able to do that, right? How are we interacting with our with our computers and with each other.
35:39So that's the other side I see is, you know, we have a billion, well, we have more than a billion, way more than a billion people that learn math in school and that learn reading and writing in school and they have arts and sciences and physics and maths and all that. But most folks then after school, most students after they leave school pursue one career path. And just because they had, you know, math in school, that doesn't mean they don't become a mathematician. Now, that might also be because that's something where you don't make a lot of money as a mathematician. But you get the idea, right?
36:11We're teaching our kids the fundamental skills of life. And I think computer science is part of these skills. So that's number one. Like we need actually every human on this planet to understand the basics of these devices that are so dominating our lives. And it will only get worse from here. You know, the future. Or get better, perhaps, depending on your perspective. Better. Sorry, that was you, the optimist, and me, the German realist. But worse in the sense of we're going to have software and computers everywhere in our lives, self-driving cars, and our alarm is a software, and our house is controlled by software, and travel is controlled by software, all that.
36:53And so then there's the intersection of you can do it because you have learned it, or you want to make that your career. You become a professional software developer. And I think that that's a Venn diagram that will never be perfect because not everybody in this world wants to be a software developer. You know, people want to be outside. People want to be in the kitchen, you know, becoming a chef. They want to build houses and whatnot. But to take your example now, you know, the builder that works on your house to build your new deck or whatever, right, will now probably build software for your project that is between you and him or them.
37:29And that, you know, the crew. And that software will be there for the part of the project. So you don't have to create an account for some platform. You don't have to accept the terms. And maybe there's still a billing platform and credit card stuff. And because that will always be simpler through something that's standardized. But you're going to have a personalized piece of software. And I think we're going to rethink these devices. And you see some folks in the industry already doing that. Where a lot of that is more like an agentic interface that is highly custom for you. instead of having a grid of icons?
38:02You know, there was that no code movement some years ago, which people who aren't developers meant that you could build applications without just by joining blocks together. And actually when my house was renovated, I did in fact build an app for it. So when you take the house over from the builder, you have to go around and find all the snagging, right? Where did the paint not finish? Where's the door not closing properly? So I built a little app using something called Airtable and you could take photos of it, of the thing, and it would get dropped into this database. And then we printed it out and gave it to the builder.
38:36And it was an incredible feeling back then to just produce this thing. It was time-limited. It came and it went. But the thing is, of course, a lot of the 100 million people who are on GitHub and the 50 million former professional software developers make their money by writing software that is built and used by many, many people and we pay$50 for it or$1 ,000 for it. So in this world of a billion developers, don't you naturally suppress the wages in the coding community? Don't you dampen down the number of formal roles that are there? Because I'm not buying downloading an app on the App Store now because I can just quickly whip up the thing I need.
39:21You're not downloading an app from the App Store, but you're building your personal applications that are connecting to what we call the agentic web. You know, servers, APIs, application programming interfaces, you know, information stores, databases, payment gateways, all these, the models itself, you know, and the GPU clusters and around the world to actually enable all these scenarios. Right. So there's going to be the infrastructure that enables you to build that app. Of course, you're still going to buy some device. And as a good nerd, you're buying a new device way too often, way more often than you actually need a new device.
40:01And that device runs an operating system and has connectivity that connects to that, you know, agentic web backend. I think what will go away in the sense that nothing actually ever goes away but will fade more into the background is this notion that everything has a highly branded web page. Like take, you know, an example, like I'm going to Paris in a few weeks. And today when I booked this trip, I go to a webpage to book my plane ticket or train ticket and book a hotel on a different webpage and book a rental car or driver. And so three times I've entered the same from two dates and have accommodated for when I arrive and when I leave and looked at my calendar 15 times.
40:44Why can I just not just go into my agent and say, hey, I'm going to Paris. you know this is the and you describe in natural language what you would actually describe to the human travel agent and then the maybe it builds even a web page for the trip and and so you have all your bookmarks there and all your images uh highly personalized but all these pieces all these features connect to to infrastructure and to to processing to ultimately whoever is selling you the service because it's not like you're having an agent that builds an airplane that that flies to paris although that would be kind of cool if that exists the world that we as humans enjoy is still mostly physical and it's mostly based on services provided by others and even if you like you know making your own food at home you still have to buy groceries because you're not growing all these in the garden but even if you grow all these in the garden then you have to buy then you're a good customer of home depot to get all the gardening materials and the tools right and so the same is true for software there's always going to be some part of the stack that the professional software developer companies like microsoft google uh you know and so on to provide to you.
41:48What is really changing is the way you engage with that stack. And instead of taking off the shelf apps, you're going to have personalized. And I think the misconceptions a little bit that we're just replacing existing apps on our home screen with new apps that we built for ourselves, I think it's much more on the fly that you're engaging with your agent. You know, Tony Stark in Iron Man has Jarvis and effectively engages with Jarvis, his computer, only through natural language. But every time he needs something, It has this hollow image screen in front of him and he can see how he can build a fan machine.
42:22And so I think this is how I'm thinking about agents helping us to build software for your house for my Paris trip. But it's built on top of a stack that's provided by a technology industry. And I think that technology industry will sit on so much more complexity and so much more scale because now a billion people generate software that connects with those APIs. at any, it's almost like we are enabling a world where the humanity constantly runs the distributed denial of service, DDoS attack against the whole tech industry, right? And so the scale that you have to build, and that's why companies like NVIDIA, you know, have been thriving so much over recent years, the scale that you have to build is magnitudes larger than what we have today.
43:06Well, I mean, what you're describing there is, you know, a fundamental shift of the web, right? You can't call it a re-architecting because there's no architect. It's going to come bit by bit, step at a time, where the web has really been built for people. We've had APIs on the web that allow computers to talk directly to particular resources. But essentially, the starting point of the web actually is the mobile view, right? Then it's the web view. And then you think about the API. But those first two things are not really useful for agents at all, right? They don't need to see. And in fact, what you're starting to see emerging from the startup community are many, many tools that effectively agentify web pages.
43:54So they take these beautifully designed web pages for humans. A module runs over them in order to reliably allow an agent to programmatically get information or put information into it. And at some sense, and this may have been Satya who said this, but it may have been somebody else, that essentially software is a user interface stuck on top of a CRUD system, create, read, update, delete, database. base. And in a way, what you're describing is that sort of thing where I might be the person who has the really great data on food composition. And you might be the person who has great data on room availability in London, in European capital city hotels.
44:39And the agents will come in and query that to then build the experience that the end user has. It's a fundamental shift from the web because the web has been largely paid for by human attention on human constructed pages or pages constructed for humans. So just, you know, you're a master of change management because you've worked for the software industry for a long time. So talk us through the steps from this human-oriented web funded by human eyeballs to an agentic web, which is about this intelligence, autonomous infrastructure that my agent or agents can interact with to build my experience?
45:23The most crucial thing, especially in my role as CEO of GitHub, is you got to meet the customer for us as software developers. You got to meet them where they are. You got to bring the products where they're already doing their work. It is much harder to convince you to change everything on your computer or in your life, in your house because to convince you of that new future and ultimately sell you that future instead of telling you, here, install this into your existing environment and you get AI features. And when we launched Copilot in 2022, we didn't even focus on this. There wasn't generative AI.
46:02It wasn't a hype. And so we mentioned, we called it the AI pair programmer, but ultimately it was positioned as something that makes your coding experience a little bit better. And it was very much in the background in the IDE, which is the editor. and when you typed it, it gave you a suggestion. The flip side of that is that you've got to have a vision, we often call this the North Star, of what that future looks like. And the challenge, you know, specific with AI is that there's two camps. There's the one that believes, you know, the artificial superintelligence or general intelligence is coming and that's just replacing everything as we know it because it's going to be so intelligent that, you know, it doesn't really make sense to even write, you know, have an editor anymore and see code.
46:47And maybe that future is coming. I don't know. But we certainly don't know how far away that is. And that's tricky if you're running a business today. And the other side of that is that, you know, you gradually get closer to that future. But every step of the way, you're making smaller innovations to what you believe is realistically achievable in the next three to five years. And even that is moving so fast that you're going to be off. And so in software development, we've been calling this agile development for quite a while. Where we are today in technology means you have to be incredibly agile.
47:24A company like GitHub or Microsoft needs to be as agile as a 10-person startup. And that is quite hard because we're running a big ship at the speed of a really small boat that can turn very small circles. And so I think finding that every single day, finding the energy, finding the motivation, finding the steps that we need to take to have this agility, even though we are running this large ship, that is what is required in this world of AI. And let me give you one last metaphor, because we talked a lot about these. We have seen self-driving cars. Whoever has been to San Francisco has hopefully been in a way mode to see what that is like.
48:01and today most American houses in the suburbs have a two-car garage and so you know a significant amount of space on our lot is taken by that garage now I could already start building houses without garages in the in the aspiration that soon enough you know Waymo and similar cars will be everywhere and I don't need a garage anymore I can have a much bigger Lego room in my house but the reality is we're not at that point yet and so i can't do that yet so i can have that dream and that vision but in the meantime i still have to build garages and and and work work our way into that future that we are seeing and i think that's the the fundamental balancing those two the vision you know the aspiration of where the world is going with where we are today in reality and then making incremental changes at a very fast pace that is what allows us to to stay ahead in the world of, in the age of AI.
48:56I'm going to pick up on that in a second. I want to think about something that you said about your customers, because you're close to your customers through the software developers, and GitHub hosts millions of pieces of software, many of which are publicly accessible. And so, you know, what a lot of investors do, I remember doing this myself, you see which repositories are growing really quickly, and you get in touch with the guy who's written them, the woman who's written them to see if they'll accept your money. And I remember a year or so ago that Agent GPT, which was this framework for building agents using GPT-4, was getting all the stars on GitHub, which is like, I guess it's like a Tinder swipe right, right?
49:35Lots of those swipes happening on it. Really, really popular. And it allowed people to say, well, that's where the smartest developers are kind of veering towards. So looking at what you're seeing across GitHub, what are the little hotspots that are going to be really exciting in the next six months and a year because you're seeing the smartest of your developers, star, clone, fork, repos? This weekend is the Formula One race in Monaco, and Saturday is qualifying and Sunday is the race. And what you described is you look at what the qualifying result is and you assume that that's also the result of the race.
50:15Now, that may be true for some races where you can't overtake, although now they do two mandatory pit stops. We will see what that's like. But it describes a bit of what the world that you see is. There's a lot of great ideas out there. There's a lot of projects that have really steep adoption curves. That doesn't necessarily mean that they're winning and vice versa. You can have a winner that comes from behind and was in the shadows for a while. This goes back to what I said earlier. The crucial piece is that you've got to keep it up. In software, there's no stable state. The world is always changing.
50:48What is the new shit today is going to be outdated tomorrow. And we see this in AI even faster than we've ever seen it before. And so it means no matter, you know, what project you're looking at, you got to see, okay, so what are they doing next? And how often can they keep up with the work? And that is as true in the enterprise and in the commercial software space where you keep your source code close than it is in the open source space. And, you know, the best way I can describe this is like they're all playing Minecraft. There is no ultimate win. There's little mini wins that you have, but you're playing an infinite game.
51:23You're playing an infinite game and survival and staying on top of it, that is actually the skill for software engineers and the groups that they're forming to build companies. I mean, I think Steve Jobs said that the computer is the bicycle for the mind. If the computer is the bicycle for the mind, software, I suppose, are the unending roadways and hills and places that you can travel. Thank you for your time. One last question for you. I know you talked about Minecraft. You love Lego. If we could bring these two things together, Lego and AI, what would be your fantasy agent? What would you want to merge those loves of your life?
52:06The magical thing, I think, for every Lego enthusiast is that I can give it all my unsorted Legos. And it perfectly sorts them by size and color into the container store bins that I have upstairs. There is an app on smartphones that does that to a smaller degree, but I would love kind of like a little machine, you know, maybe it's the size of a dishwasher and you just put all the Legos on top of it and it sorts them all into the bins. And so you don't have to do that yourself. That's the nature, I think, especially for parents at home. The magic of Lego is that you can take it apart and reassemble it in any possible way.
52:46But the more that also means you're creating entropy. The Lego room is always going to have entropy. and then bringing the entropy back into order is the birth. And the funny thing is, you know, if you take that into software, that's exactly the same for code, right? Code also has entropy. Like code bases always get worse. Even if they're stable, then they get worse because the world around the code base is changing new libraries, new operating system, and so on. So keeping the code, you know, organized and clean and healthy and scalable, that is what engineers are looking into with these agents.
53:19And so they can then use their time, their creative time to build something amazing. Thomas, on that chaotic note, I'll also get you a humanoid robot to load your Lego sorting machine at some point. Thank you for all of your time this morning. Thank you so much for having me.
From the publisher
Thomas Dohmke, CEO of GitHub, joins Azeem to explore how AI is fundamentally transforming software development. In this episode you'll hear:
- (01:50) What’s left for developers in the age of AI?
- (04:54) How GitHub Copilot unlocks flow state
- (07:09) Three big shifts in how engineers work today
- (10:47) Is software development art or assembly line?
- (15:26) Why developers are climbing the abstraction ladder
- (19:35) Have we already lost control of the code?
- (23:15) What it’s actually like to work with AI coding agents
- (39:35) Welcome to the age of ultra-personalized software
- (45:37) Building the next-generation web
Thomas's links:
- GitHub: https://github.com/
- LinkedIn: https://www.linkedin.com/in/ashtom/
- Twitter/X: https://x.com/ashtom
Azeem's links:
- Substack: https://www.exponentialview.co/
- Website: https://www.azeemazhar.com/
- LinkedIn: https://www.linkedin.com/in/azhar
- Twitter/X: https://x.com/azeem
Our new show This was originally recorded for "Friday with Azeem Azhar", a new show that takes place every Friday at 9am PT and 12pm ET. You can tune in through Exponential View on Substack. Produced by supermix.io and EPIIPLUS1 Ltd
Hosted by Simplecast, an AdsWizz company. See pcm.adswizz.com for information about our collection and use of personal data for advertising.
