Transcript for:
AI in Software Development

You know, I&#39;m one of these adults that actually still loves playing with LEGO. I loved them way back in the &#39;80s in Berlin when I grew up, and I still love them. And these days, I build LEGO with my kids on Saturday afternoons. And the reason that my love for LEGO has remained evergreen is, quite simply, that LEGO is a system for realizing creativity with almost no barrier to entry. And I’m not only a LEGO dad, I&#39;m also the CEO of GitHub. And if you don&#39;t know GitHub, you can think of it as the home of coding. It&#39;s where all the software developers, the chief nerds of our society, collaborate together. And it&#39;s part of our mission to make it as easy as possible for every developer to build small and big ideas with code. But in contrast to LEGO, the process of building software feels daunting to most people. This all started to change when ChatGPT came along in late 2022. Now we live in a world where intelligent machines understand us as much as we understand them. All because of language. And this will forever change the way we create software. Up until now, in order to create software, you had to be a professional software developer. You had to understand, speak and interpret the highly complex, sometimes nonsensical language of a machine that we call code. Modern code still looks like hieroglyphics to most people. Here&#39;s an example. This, from the early 1940s, is the world&#39;s first computer programming language, called Plankalkül. It set the foundation for the modern code that we use today. And as you can see, it&#39;s a few numbers, some bubbles and some big-ass brackets. Not much humanity here, right? Flash forward about 20 years to the programming language called COBOL. COBOL was invented during the Eisenhower years, but it remains an important language for many of our largest financial institutions. Wall Street, your savings account, your credit cards, all run on this today. And we see some familiar words here. But structurally, I think this doesn&#39;t make much sense to most of you. Flash forward another 30 years to 1991, and we saw the birth of Python, one of the most popular programming languages in this era of AI. In 80 years, we went from bubbles to brackets, to blips of English, and yet, we got nowhere near as close as the intuitiveness of human language. But then came June 2020, and we got early access to OpenAI&#39;s large language model, then called GPT-3. It was COVID, we were all on lockdown, I remember we were on a video call together. We fed random programming exercises into this raw model, and like magic, it solved 93 percent of them during the first few takes. We at GitHub recognized we had something remarkable in our hands, and we quickly turned around a novel developer tool called GitHub Copilot: an AI assistant that predicts and completes code for software developers. Copilot is now the most adopted AI developer tool on the planet. The age of programming has been reborn. But the possibilities of the breakthrough went further than just these business results. Because the large language models that power ChatGPT and Copilot are trained on a vast library of human information, they understand and interpret nearly every human language, every major human language. They seem to get us. We have struck a new fusion between the language of a human and a machine. With Copilot, any person can now build software in any human language with a single written prompt. Goodbye to the bubbles and the big-ass bracket. This is the most profound breakthrough to technology since the genesis of software development itself. Today, there are over 100 million developers on GitHub. That&#39;s about one percent of the world&#39;s population, you know, plus-minus. I think that number is about to explode. And I want to show you why, here on my MacBook. We started it all with the original Copilot or how we say the OG Copilot, and it literally just predicted and completed code in the editor. You can think of the editor as, you know, the Google Docs for developers. And when you have a doc open, you know how it is, empty page, what do I actually want to do? And I mentioned LEGO. So let’s build a 3D LEGO brick on a web page. So what developers do, you know, they start typing. And so I typed in the JavaScript file, create a function to create a LEGO brick. And you can see here this gray text, we call this ghost text. This is coming from the large language model. So now I can just press the tab key and press enter. And I get another suggestion, you know, to create a LEGO tower. Maybe we do that later. Or I can just do: function draw LEGO brick. And here again you see ghost text from Copilot right away available for me. And if I like what I&#39;m seeing here, so I get into a mode of writing and understanding, I can just accept this. Developers love that, right? Because instead of writing ten lines of code themselves or copy and pasting them from the internet, they get them right in their editor. They can stay in the flow. Now what the OG Copilot didn’t offer me is a way to interact with this. I cannot ask questions, I cannot, you know, instruct it to do different things. Last year we launched a new feature, Copilot chat, and you can think about it as ChatGPT in your editor. So I can open this up here in the sidebar. And now I can tell it to create a whole web page with a 3D LEGO brick for me. Now you know, similar to ChatGPT, it streams the response, and it gives me not only some code but it actually gives me an explanation. You know, it starts writing code, you can see the comments that explain what that code does. It uses an open-source library called Three.js. And so you can kind of see here the idea of this empowering developers and people that want to learn development. And it ends, you know, with another explanation. Now I can go here, inspect that code, and I can actually push that button to copy it into my file. But I want to show you something else here. And you might have already seen this little mic icon. I can use that to speak to Copilot. And I want to ask it, in German, what that code does that is on the left side in the editor. (Speaking German) Can you explain to me what that code does? And now Copilot responds again, but it responds in German to me, right? So it says, if I loosely translate, &quot;Yes, of course, this JavaScript code defines a function named ‘drawLEGOBrick.’” So you get the idea here. A six-year-old in Berlin, in Mumbai and Rio, can now explore coding without their parents being around or even having a technical background. (Laughter) I mean, you know. (Applause) Now what you also see is you still need to kind of figure out how you put that all together, right? There’s a lot of technical stuff here. I have code. I have to iterate on my machine. I have to figure out how to deploy this to the cloud so I can share with my friends. But here is my LEGO brick now. This is what it looks like if I&#39;ve done all these steps as a developer, you can see now it’s a nicely rotating brick. I can actually use my mouse to turn it around. These are the anti-studs here, the studs, There&#39;s nice lighting effects. I can even zoom into this and zoom out of this. Now I don&#39;t want to do all this developer stuff anymore. I just want to channel my creativity straight into reality. And so for the first time ever on stage, I&#39;m going to show you a new product that we call Copilot Workspace that does exactly that. So here is my workspace. And you can already see there&#39;s not an editor anymore. I can just see a task, and I can enter a task. And so now I have my LEGO brick, I want to now expand the LEGO brick into a LEGO house. Stack the bricks in the shape of a LEGO house. And I can do that also in German and in other languages. But for now, let&#39;s stick with English. I can save my task. And now what happens is that Copilot Workspace analyzes what I already have and then describes what it proposes to me. Basically, it reframes my ask into a plan or a specification. And so you can see here, you know, it&#39;s all in natural language in our user. Some file names, of course, but there is no code here. It&#39;s all describing it in English. I can actually go into this and edit it and can make changes to this line, or I can go down here and add another item if I feel like the plan is not exactly what I want. I can go a step further and generate a plan, and now an agent runs through all my files I already have and figures out how do I need to modify those files, or, you know, do I need to add files to my repository so you know it wants to add a “create<b>LEGO</b>House” function and call the “createLEGOHouse” afterwards. Looks good to me, so let&#39;s implement this. And now Copilot uses my task, my specification, my plan to write code for me. You can see here two files are queued, the public/legoBrick.js file and boom, there&#39;s already my code written for me, right? I didn&#39;t have to touch code, I didn&#39;t have to even know what code is. Now I see here now it imports some new line into my file and has written, you know, lots of code here that does those changes. So you want to see what that looks like, did we get a LEGO house? So here&#39;s a button that lets me open a live preview, so I can do this. And now the bricks fall from the sky and I have a LEGO house. And you know, this is not a picture, right -- (Applause) Yes, thank you. This is all live, this is the power of code, this is the power of streaming my creativity into reality with natural language. Now one last thing. Thank you, Copilot, you have always to be nice to the AI. (Laughter) (Applause) Now, what you just saw were three leaps in three years. Three leaps that are more progress to the accessibility of computer programming than we have made in the last 100. Remember how I said that one percent of the world&#39;s population is a developer? Now you can see how this will change. Copilot Workspace may still be a developer tool right now, but soon enough these kind of developer tools will become mainstream. Because, going forward, every person, no matter what language they speak, will also have the power to speak machine. Any human language is now the only skill that you need to start computer programming. This will lead to a globalized groundswell of software developers, and it will reshape the geography of our global economy. And because of this, I think by 2030, maybe even sooner, we will have more than one billion software developers on GitHub. Think about that: 10 percent of the world’s population will not only control a computer but will also be able to create software just [as] if they were riding a bicycle. This will generate a new renaissance of human creativity with software. Now anyone here in this room could have a brilliant idea right now: a website, an application, a cool computer game, an amazing song, maybe even a cure for something. For example, last year, over a couple of weeks, I built an app that tracks all the flights I&#39;ve ever taken in my life. Now I know what you&#39;re thinking. What a freaking nerd, right? And yeah, it&#39;s true, I love building stuff like this. And with the help of AI, now I can do this in English or in German before I even finish a glass of wine. And soon enough, this will be true for everyone here. The floodgates of nerditude have swung wide open. (Laughter) (Applause) Now this doesn’t mean that everyone will become a professional software developer or even that they should. The profession of a professional software developer is not going anywhere. There will always be demand for those that design and maintain the largest software systems in the world. We are adding millions of lines of code every single day to ever more complex systems, and we are barely keeping up with maintaining the existing ones. Like any infrastructure in this world out there, we need real experts to preserve and renew it. The point here is not a &quot;will&quot; or a &quot;should.&quot; It&#39;s that anyone can. All because the most powerful system that we have, any human language, is now fused to the language of a machine. And very soon, building software will be just as simple and joyful as stacking a LEGO. (Speaking German) Thank you very much. (Applause) Bilawal Sidhu: Gosh, I&#39;ve got to say, one billion developers makes GitHub sound more like YouTube and TikTok than it is today. Just super exciting. Got to ask you one question, perhaps the elephant in the room. Amazing talk. So you said the developer is still in charge. You also said, &quot;We&#39;ve had three leaps in three years.&quot; Fast forwarding a little bit, do you think humans will still need to be in the loop, or will these AI systems be able to autonomously build and maintain software? TD: You know, the way I always think and talk about it is that we called it Copilot for a reason. We need a pilot. We need a pilot that is creative, that can decide what to do. It’s kind of like a LEGO set. You need to take this big problem and break it down into smaller problems, into small building blocks. And for that, you need a systems thinker. You need a human that can figure out, am I building a point of sale system? Am I building an iPhone app? Am I building a cool computer game? Am I building the next Facebook? Those are very different systems. Now these building blocks, they will grow in size. Today it&#39;s, you know, a couple of lines of code, maybe a whole file, in the future, it might be a whole subsystem. So I get more work taken off my shoulders. But I&#39;m still there, you know, covering the large system. And as I mentioned, you know, we&#39;re still running COBOL systems from the &#39;60s. So we have lots of work to do. BS: Absolutely. So we will be in charge orchestrating these systems at a higher level of abstraction. Thomas Dohmke, everybody, thank you. TD: Thank you so much.