Will AI “eat software” — and what’ll happen to coders? w/ GitHub Founder & CEO Thomas Dohmke (Transcript)
The TED AI Show
Will AI “eat software” — and what’ll happen to coders? w/ GitHub Founder & CEO Thomas Dohmke
July 2, 2024
[00:00:00] Bilawal Sidhu:
Three years ago, a helicopter took off on Mars. NASA's Ingenuity robots. It was the first time humans made a machine to take flight on another planet. The Ingenuity is nothing like a regular helicopter. It's tiny, spindly looking thing that weighs just four pounds. And its first flight was not very dramatic.
You could watch a video online. Ingenuity goes up to about like 10 feet and then immediately settles back down. This is the first time NASA showed it was even possible to fly in a super thin atmosphere like Mars, but NASA didn't make this happen alone. About 12,000 volunteer coders help create the very software that Ingenuity runs on.
And here's the strange thing, most of them didn't even know they were working on this project. So how's this possible? Well, they were sharing their code on GitHub. If you're not a coder and don't know anything about GitHub, it's pretty simple. GitHub is just a website where people upload their code and share it.
That's it. But the thing is, it's massive. There are over a hundred million developers on GitHub. So when NASA was looking for code to run their Ingenuity robot, they found a bunch already on there, perfectly suited for the task at hand. In 2018, Microsoft bought GitHub for seven and a half billion dollars.
But GitHub continues to operate independently without giving up its open source roots. It's a place where you have a bunch of people just giving out their code for free, for anyone to use or build on in order to make software they think is cool or useful. GitHub volunteers have worked on some incredible open source projects like the operating system, Linux and TensorFlow, the machine learning framework, and even software that helped track COVID-19 cases at the start of the pandemic.
And now GitHub is undergoing a radical transformation. It's inviting AI to take over a lot of the coding. While a lot of us worry about AI coming for our jobs, companies always promote AI as an augmentation, not a replacement, but how will this shake out for coders? Will AI just help them build that cool new app in a day, or will it eventually replace them?
In other words, will AI be the co-pilot or the captain?
I am Bilawal Sidhu, and this is The TED AI Show where we figure out how to live and thrive in a world where AI is changing everything.
Over a decade ago, the entrepreneur and venture capitalist, Marc Andreessen, announced that software is eating the world. He argued that software was becoming fundamental to society and that software companies were basically going to disrupt every industry possible, and he wasn't wrong. Well, back in January, Thomas Dohmke built on that prophecy.
He told a WIRED reporter quote, “Software has eaten the world and now it's AI's turn. AI is eating software.” End quote. And he sounded pretty enthusiastic about it. It's an interesting perspective for him to take as the CEO of GitHub because GitHub is built upon human contributed software, and for well over a decade it's been the center of the programming universe.
GitHub's plan isn't to totally replace coders, but instead to give them superpowers. In 2021, GitHub introduced something called Copilot. Back then it was running on Codex Open AI's programming model, and when they conducted surveys with these early Copilot users, coders said they were not only more productive, but they were having a better time too.
Suddenly coding was less frustrating and more fulfilling, but Copilot’s only got more powerful since then. It now runs on GPT-4, and it's doing a lot more than autocomplete right now. Thomas says a whopping 50% of the code on GitHub is being written by AI, and soon he thinks it'll be more like 80%. In other words, AI is eating software.
I sat down with Thomas Dohmke a few weeks ago to talk about where this all leads. Tell us about what got you interested in technology and software development in the first place.
[00:04:22] Thomas Dohmke:
I grew up in East Berlin when Germany was still divided into two countries, and I was maybe 9, 8, 9 years old in the late eighties.
And I saw, um, I saw a computer in a, in a shopping window. I couldn't buy it, but I saw this computer and it was clear to me I want to touch this and I wanna, you know, use the keyboard to type something. And so as soon as the wall fell in the late eighties and Germany get reunited and you get a West German money instead of East German money, I went to the supermarket and bought a Commodore 64 and, and started coding on that.
And you know, it's easy to forget what that was like back then, you had to buy books and magazines and ma manuals ultimately to learn coding. And so I worked myself through that process, you know, and got frustrated at night and then you go to bed and, and hope that in the morning you have like a magical idea of how to solve a problem.
[00:05:12] Bilawal Sidhu:
So coding can be a pretty solitary activity, like the internet came about, and in the nineties people started exchanging software on the internet, right? But collaboration was still pretty clunky and difficult. Like we had forums, IRC, all these online communities started popping up, but there was still no real place for folks to collaborate together, especially folks from around the world.
How did GitHub come into existence in this context?
[00:05:37] Thomas Dohmke:
Yeah, I, I would probably push back a little bit on that definition. You could argue that, you know, in the nineties, uh, the open source scene or the software scene was the first real creator community, long before we had, you know, YouTube and, and TikTok.
And so those were mostly nerds, software developers, you know, hacking stuff and, and, and whatnot. As you know, the internet became more popular and we got the browser, and, um, soon enough you got some form of a forum. And in the early days, uh, there was a platform called Sourceforge, which was kinda like the first home of open source in 2007.
The founders of GitHub launched very fast and, uh, built that paradigm that, that we still have on GitHub today, which is you can push your source code and you can share with others. And it started as open source. And you know, here we are, uh, 16 years later. Um. Uh, and, and GitHub being kind of like the center of the software universe.
[00:06:29] Bilawal Sidhu:
Very much so. Yeah. It is the epicenter of the software universe, you know, people are building and collaborating together, um, inter Generative AI, right? In 2021, GitHub introduced something called Copilot AI that helps you write your code. If you're familiar with autocomplete, it's a lot like that because it turns out programming is a really a ton of boilerplate.
And is fairly predictable. So, you write a couple lines of code and then what Copilot does is basically auto complete that code for you. It'll have the next line or the next few lines. It keeps predicting what you're going for and essentially eliminates a ton of that drudgery. For developers, the really mundane, repetitive stuff, and lets them stay focused on the higher level task at hand.
[00:07:16] Thomas Dohmke:
And you know, when you, when you start with an empty file, obviously the first line is, um, less predictable, um, than when you have already written 50 lines of code. And the more you write, the more it becomes predictable, uh, what you're writing next. But the Copilot, um, you are still in charge and the developer still needs to set the direction of where the plane is going.
[00:07:36] Bilawal Sidhu:
So obviously now everyone's talking about ai, uh, but Copilot has been around for a few years. Well, before we were talking about Chat, GPT, so where did the idea for Copilot first come from?
[00:07:50] Thomas Dohmke:
So for us, it all started during COVID. Um, it was June, um, 2020. We were all on a video call together and we had just gotten early access to OpenAI slash language model and you know, somebody on the call had the keyboard and everybody else was just shouting or telling that person what to type.
And so we had the idea, “Okay, let's start with some programming exercises, like typical things that, you know, computer science students or employees would do when they apply for a new job.” And um, it worked surprisingly well to the degree that I think many of us on the call were like, “Holy shit.” You know, that it can actually put the parentheses in the right place.
And it knows that, you know, JavaScript, which is one programming language, has a different syntax than than Python and could differentiate between the two and wouldn't garble them together into broken code. And, um, so we ended the call at some point and sent one of our teams, uh, to investigate that further and they collected 200 or so program exercises and, uh, got the model to a point where it would solve 93% of those in a few shots.
And, and that was the point where we are like, this is, “We have something here. We can actually build a product out of this.” We had what worked really well was um, uh, text a code as in you write something and your editor and it predicts the next word, or it takes a comment or multiple lines of comment to, to write a code for you.
So, we started building that product, which became the original Copilot in June, 2021. And then the product went publicly available, uh, a year later in June, 2022. So even that was, was still before, uh, ChatGPT even existed, which was November, 2022.
[00:09:24] Bilawal Sidhu:
What was the response from the development community like when this first came out?
[00:09:28] Thomas Dohmke:
Disbelief. I think most people were like, “This will not work.” And we saw, you know, lots of tweets, um, at the time when people got through that initial disbelief and were like, “Okay, I was wrong. And it actually is useful to me and it actually can help me writing code.” And think a big part of that reason is that um, similar to when you write a blog post, when you write code, um, you know, you're always going to get to the point where you have to look something up, switch from your editor to your browser, and you know, all our browsers look the same and lots of taps open.
[00:10:01] Bilawal Sidhu:
Yeah. It kill, kills the flow state.
[00:10:02] Thomas Dohmke:
Exactly. It kills the flow state.
I like to describe this as, you know, you're surfing, you're falling off the surfboard, and now you have to paddle back, get back on the board, find a new wave, and, and, and you can surf again. And so having a Copilot available to you that keeps you in that flow state, even if it's a little bit wrong or maybe it didn't predict exactly what you wanted to write.
Well, you can just modify it exactly as you would've when you copy and paste it off the internet. And we done research that shows that developers are, they're more on the flow state and they need to do less of the work that they don't want to do. Boilerplate.
[00:10:35] Bilawal Sidhu:
Mm-Hmm.
[00:10:35] Thomas Dohmke:
And have more time for the stuff that actually is fun.
So, after we launched, we realized there is an opportunity here to not only have auto completion, uh, and predict the next word, um, because that that has a clear downside, which is you can't really ask Copilot questions. And so we bought ChatGPT into, into the editor and, and called that Copilot Chat. Uh, and all of a sudden you can now ask questions in the same way that you can ask questions in ChatGPT.
But it's in the context of the file, the editing. And so you can ask questions like, “What does a code do? Or find the problem with this code?” And it would basically give you an answer like ChatGPT does.
[00:11:11] Bilawal Sidhu:
I just wanna jump in here and say that if you worked on collaborative coding projects or inherited somebody else's code base, you know how helpful this would be, like reading through someone else's code and figuring out how the heck it's working.
And how it fits together with everything else can often be super challenging. So having an AI explain it to you would be a major level up.
[00:11:31] Thomas Dohmke:
Often, you know, the documentation, the comments as we mentioned earlier, are not good enough to completely understand how things work. And so now you can highlight code and say, “Explain this code to me.”
Um, and you can do that in not only English, but you can do it in German and Hindi and Brazilian, Portuguese and French, Spanish, you know, many, most major human languages. And that that means that, you know, if I'm a kiddo, you know, a 6-year-old that wants to learn coding and I grew up in Germany or Mumbai, um, I don't have to learn English first. I can just do that in the language that mom and dad taught me and, and start exploring my creativity.
[00:12:06] Bilawal Sidhu:
That's super exciting. Because of copilot, the number of software developers will increase exponentially.
[00:12:13] Thomas Dohmke:
Mm-Hmm.
[00:12:14] Bilawal Sidhu:
Right now, GitHub has roughly a hundred million users, but you estimate that by 2030, GitHub could have 1 billion developers.
Where does that number come from?
[00:12:23] Thomas Dohmke:
I think we announced a hundred million over a year ago. Um, so you can just, you know, apply math of what the growth rate is per year, um, compounded over the next seven, eight years. And, um, exponential growth, um, will tell you, uh, it's, it's actually not that, uh, crazy of growth rate.
Uh, to get to a billion, uh, by 2030 is about 10% of the world’s population. Um, and. That's not too crazy. If you think about, you know, basic skills that kids learn in school, I think coding is a fundamental skill that kids should learn in school. Um, because at six, probably these days, they already have a phone and they certainly had some kind of like access to computer.
And so I think if you teach kids in first grade and second grade the fundamentals of coding with the help of, of Copilot and other large language models. If you show them things like a stable diffusion or Midjourney, they will explore their creativity so much more than they can do today. And then naturally that leads to an explosion of people that have software development skills.
It doesn't mean they're all becoming professional software developers in the same way that just because you learned an instrument in in school doesn't mean you became a professional musician. But it becomes a skill that is part of your repertoire as, as a human, and you use it whenever it, uh, makes you happy or, or serves a purpose for you.
[00:13:39] Bilawal Sidhu:
I love that you're describing this world where coding is no longer going to be this super specialized skill set, right? So in the world, you're predicting software creation starts to look a lot like content creation, like the way we have millions of users uploading video creations to YouTube, TikTok, Instagram, et cetera.
Um, this can be great in some ways, right? Like there's this democratization anyone can create. It does seem one thing is clear, right? The amount of software is going to increase exponentially along with the developers. So in, in many ways it seems like the floor is rising, but so is the ceiling to sort of break through and create the next big hit.
Do you see the world that way?
[00:14:15] Thomas Dohmke:
The nice thing about software is that we need much more software than, uh, we consume videos every single day. We live in a world where most companies actually build software. Um, not only the tech companies that always constantly in our head. Your energy supplier has a software team, your credit card is software and, and so can keep going.
Every company is now a software company, so they're all employing millions of software developers. The demand for software developers is bigger than supply of computer science students. Um, and uh, as such, you know, we need more tools to manage that ever-growing pile of software and the ever-growing demand on these software applications, uh, in our daily lives.
[00:14:55] Bilawal Sidhu:
You know, there's probably a lot of parents listening to this and it brings up the question of education. Conventional wisdom was like, if you want a future-proof profession, learn software engineering. Software engineering is clearly changing. So with the rise of sort of AI assisted coding, what kind of skills should software developers, you know, be inculcating?
Right? How do you see the education landscape shifting to create the next generation of software developers?
[00:15:20] Thomas Dohmke:
I think creative thinking, problem solving systems, thinking like decomposing, uh, you know, big problems into smaller problems, and then figuring out at what point do I leverage an AI tool or code generator or an open source library so I don't have to reinvent the wheel.
When you're building a house, you know that you're not producing the tiles yourself and you're buying probably a sink and you have 10,000 options of sink available. And the problem actually is exactly the same, um, as you have when you're building a house, which is a, it's a big project that takes much longer than you thought it will take.
You have a lot of decisions to make and that's tool, software tool that's thousands of databases and database schemas and cloud technologies, and you can build apps in many different ways. And so you need a software developer, professional software developer that has the experience and the education to make those decisions.
And I think that's where, you know, education will still play a big role. I think um, another big role will be that teachers will change a bit of how they're teaching, and they're going to show us how to use the AI and how to leverage the AI in a responsible way, in a safe and secure way, in a way that you are not, you're not creating harm.
[00:16:32] Bilawal Sidhu:
I love the, uh, analogy of building houses. Like how absurd would it be if we said, “Oh, well, we're not gonna use all this advanced machinery. Like, I'm not gonna go buy that sink. I'm gonna start building everything from scratch.” And we now have a way to sort of eliminate a ton of the drudgery and have software developers focus on designing, creating, doing sort of the fun stuff.
[00:16:51] Thomas Dohmke:
Well, you know, just because Home Depot is selling you, um, power tools, uh, doesn't mean that the job of a builder has gone away. In fact, try to find a professional contractor to do something on your house or, or condo and you will have a challenge, right? Like, just, just because those tools are available to the hobbyist, to, um, to build something creative doesn't mean that there isn't pro the professional of the professional builder or the professional software, whatever is going away.
[00:17:15] Bilawal Sidhu:
We're gonna take a short break. When we come back, is Copilot, simply going to augment coders or replace them all together?
I've been talking to Thomas Dohmke, CEO of GitHub, about Copilot their AI powered assistant for writing code. Copilot started off as a kind of auto complete tool for coders. Now it's having conversations with us about code. I don't know what's next, but I know Copilot is gonna keep evolving. And when it comes to the evolution of AI, it seems like all roads lead to this question.
Is there gonna be a point where AI isn't just gonna be a Copilot, but our captain? That's the fear anyway. So Thomas, what do you think is that fear well-founded?
[00:18:08] Thomas Dohmke:
I wouldn't say they're unfounded because that would, you know, diminish the research and opinions of others. I think both of those polarities, you know, of the world where there is AGI and the world where AI is a companion and never gets to the point where it has, you know, sentience, they can both exist in the same space.
And the question is time and how long it takes us to that point in time. Um, I don't see us anywhere close. If you ask my opinion, I'd say I'm on the side of, um, AI as a companion. And there's nothing in the current science and research that tells us we have found a way to recreate sentients. But that doesn't mean it doesn't happen.
It's just, you know, today we are not at that point.
[00:18:49] Bilawal Sidhu:
Software development is clearly gonna be democratized, and we're gonna have a lot more software engineers, uh, in the future than we do today. What economic impact do you think that's gonna have? Is it gonna devalue software development?
[00:19:01] Thomas Dohmke:
I don’t think so.
And in fact, you know, last, um, summer we published a study, uh, that we did in partnership with, um, Harvard University. That shows that productivity gains, you know, from developers being 55% faster and having, you know, accepting 35% of code from Copilot leads to additional GDP growth of $1.5 trillion by 2030.
And that's just with the original Copilot. That doesn't factor in, you know, the evolution of I, the additional leaps.
[00:19:30] Bilawal Sidhu:
Mm-Hmm.
[00:19:30] Thomas Dohmke:
Uh, that we're going to see o over the coming years. And, you know, if you look back further in history, we have actually seen that every time we increase productivity of the worker, the demand for work has gone up.
Now some jobs changed, and I think I saw a recent study that showed that 40 or 50% of the jobs that US Americans have today didn't even exist some hundred years ago or so. And so I think that's going to happen that the jobs that we are having are going to evolve. We're already talking about the AI engineer, which is somewhere in the middle between the traditional software engineer that uses code to build software and the data scientists that uses data to train models and, and validate those models.
And in fact, you know, the AI revolution, um, the age of AI in many ways has created additional demands on all the software companies. Now, it's no longer just maintaining the software that we have, but adding AI features, thinking about our AI strategy, and we definitely see, you know the fear of missed opportunity or FOMO of those that are not yet using AI tools and asking themselves, if we don't adopt I, uh, soon enough, are we going to fall behind In comparison to our competitors?
We saw, you know, in, in many ways the same, both with the wave of the internet, uh, in the nineties and, and those companies that waited too long.
Uh, and then had to catch up. We saw it with the cloud and the so-called digital transformation and we saw it with a mobile revolution. And, and today, you know, you wouldn't open a bank account if that bank doesn't have a mobile app. And I think with ai we're seeing that once again, except that we are moving much faster than in the past.
'Cause the productivity gains itself accelerate those companies that are investing into AI.
[00:21:07] Bilawal Sidhu:
Speaking of productivity gains and engineering talent, right on one hand. Anyone can write basic code now that they probably couldn't. But it seems if you are a talented software engineer that has good like, you know, system design skills, you'd be 10x, a hundred x more productive.
Do you see that sort of like force multiplier effect? Where not only does it bridge the gap, but it actually accelerates more advanced developers more than folks that are probably new to the game.
[00:21:33] Thomas Dohmke:
I think, you know, the 10X en engineer is a term that has been to a certain degree abused by folks to differentiate themselves and say, “I'm so much better than everybody else.”
Uh, I don't think that's the point. I think the point is that every developer deserves to be a more productive, we are asking a lot of our software developers because if your service is down, it doesn't take too long until everybody gets, uh, angry at you on both the management side and the, and the side that actually wants to buy the product.
And so the burden For every software developer to not only develop software, but actually run and operate, that software has increased by more than 10x. Um, over the last two decades, we are now living in an always on, you know, one hour delivery, times high expectation. And as such, we need our software developers to become more productive and 10x won't be enough and it'll be, you know, 10x more in, in another decade.
And you know, we talked earlier about enabling humans to build software, showing their creativity, even if they're not the professional software developer. So, that makes that age of Copilot so exciting. It's, it's actually helping both sides of that equation. The professional software developers that have a lot of work to do, um, in never increasing amount of, of asks for them, but also the the regular, you know, human that just wants to channel their creativity into something cool, into something meaningful, into something playful.
The opportunity, uh, of this AI breakthrough is that we can empower every human, uh, to build software and we can make those that shows that as choose that as a profession we can help them to become more productive to, to manage these ever growing systems.
[00:23:06] Bilawal Sidhu:
I wanna talk about perhaps the dark side of democratization a bit. It's like very exciting to consider the wide proliferation of software for sure. Um, but what if users are developing potentially harmful software?
[00:23:17] Thomas Dohmke:
GitHub is part of Microsoft, and Microsoft has for many years now talked about the responsible use of AI, the ethical use of AI, the secure use of AI.
And so we, we are committed, uh, to the responsible use of AI, both from a policy perspective and then we are investing heavily on the product side, on the technology side and, and the responsible AI pipeline. When you send a prompt, you know, to Copilot, um, there's a filter before that prompt reaches the model.
The model inference runs, and then that filters, um, on the outside output side of the model for, uh, software security is that the output filter has a security scanner, so it scans that code for security vulnerabilities. And if it finds a security vulnerability, it either blocks that output from reaching you or, uh, it leverages the model to actually give you a code that has, uh, that bug fixed for you.
[00:24:05] Bilawal Sidhu:
I love that. So basically, if I ask GitHub to create harmful viruses or malware, for example, it just won't respond. And if the model ends up creating code that has a known security vulnerability, Copilot will actually try and fix that code for you and patch it or not return that code at all. I'm kind of curious as we wrap up here, looking ahead at your roadmap and of course things that you can share, what are you excited about for the future of Copilot?
[00:24:33] Thomas Dohmke:
I am, I'm really, really excited about the opportunity to code in, in human language and natural language to be able to describe in English or German for me, um, uh, what I want to achieve and have the, have the Copilot help me in doing that, in channeling my creativity and to code and then into reality.
I look, you know, I'm the CEO of GitHub and the CEO drop is lots of things that have nothing to do with coding, including recording podcasts with you. And when I have time on weekends, I build apps and um, and web pages. And the problem is, um, it's very complex to do that. If you only have a, a short certain amount of time, an hour or two, and it's really satisfying to then have an assistant available to me, that makes that faster.
And I think that's where I'm really excited about where our map goes with Copilot Workspace and, uh, and other extensions of the copilot ecosystem really expanding from, you know, just these basic primitives of um, predicting and completing and answering questions into agents, uh, that, that help me to achieve a certain task.
And those tasks might be creative or the task might be to clean up, uh, to fix security vulnerabilities, um, to fix all code, maybe to transform code from a language like COBOL into, into a modern language like Python. I think they're going to see a lot of progress on this in, in the coming year.
[00:25:53] Bilawal Sidhu:
I gotta say, your love for coding comes through the fact that you're the CEO of GitHub, and the thing that you're dreaming about is to sit down with a glass of wine and do some coding after hours, says it all.
Thomas, thank you so much for your time.
[00:26:06] Thomas Dohmke:
Thank you so much for having me.
[00:26:09] Bilawal Sidhu:
If you're not a coder, you might've listened to my conversation with Thomas Dohmke and thought, “Okay. This is great for coders or maybe terrible for coders, but what if I don't actually code?” Well, maybe now you could. Maybe you have a cool idea, but lack the technical know-how to make it happen, or the money to pay other coders to make it for you.
Now, AI assistance like Copilot won't do all the work for you, but they'll definitely get you over the hump and think about all those kids in school we've been pushing to learn how to code. Not all of them actually like it, and for good reason. Programming can be such a pain. You leave off a semicolon or put a bracket in the wrong place and your whole code breaks.
But an AI assistant frees you up to design software at a higher level and not get as tangled up in the weeds. What's also interesting is that GitHub has a hundred million developers today. But when they reach a billion, oh my God, that's gonna rival the monthly active users of platforms like YouTube and TikTok.
Now, I'm not envisioning a world where we're all gonna be creators of software, but we are already consumers of software, and I'd be very interested to see how AI changes both software creation and consumption. Thomas and I touched on this in our conversation, but what I foresee is a lot more software being made for a lot less money.
A lot of the software might actually be disposable, like that video you saw on your feed once, never to be seen again. And teams strapped for cash might be able to afford tailored systems that push their budgets even further. And of course, easier software maintenance. In theory, companies might be able to do a better job of catching bugs and protecting themselves from cyber attacks.
It doesn't cost as much to have an AI do a regular sweep of your software and spot issues as it does to hire people to do that task. On the other hand, if we're not careful, we could have a lot more crappy software flooding the market. I didn't get a chance to ask Thomas about this when we spoke, but in 2021, researchers at NYU found that software created with Copilot had a lot of security vulnerabilities like 40% of the time.
Copilot has evolved a lot since then, and an NYU study that came out a year later found that code written by students with AI assistance wasn't less secure than human generated code. Today's Copilot specifically works to block insecure code in real time. Still GitHub recommends taking the same precautions.
Large language models are trained on human made code after all. So, I think the researcher's warning still holds true. “Developers should remain vigilant.” In other words, don't make copilot your captain just yet.
The TED AI Show is a part of the TED Audio Collective and is produced by TED with Cosmic Standard. Our producers are Elah Feder and Sarah McCrea. Our editors are Banban Cheng and Alejandra Salazar. Our showrunner is Ivana Tucker, and our associate producer is Ben Montoya. Our engineer is Aja Pilar Simpson.
Our technical director is Jacob Winik, and our executive producer is Eliza Smith. Our fact checker is Dan Calacci, and I'm your host, Bilawal Sidhu. See y'all in the next one.