You know, I'm one of these adults that actually still loves playing with LEGO. I loved them way back in the '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.
Saben, soy uno de esos adultos a los que todavía les encanta jugar con LEGO. Me encantaron en los años 80 en Berlín, cuando crecí, y todavía me encantan. Y hoy en día, construyo LEGO con mis hijos los sábados por la tarde. Y la razón por la que mi amor por LEGO ha perdurado es, sencillamente, que LEGO es un sistema para hacer realidad la creatividad prácticamente sin barreras de acceso.
And I’m not only a LEGO dad, I'm also the CEO of GitHub. And if you don't know GitHub, you can think of it as the home of coding. It's where all the software developers, the chief nerds of our society, collaborate together. And it's part of our mission to make it as easy as possible for every developer to build small and big ideas with code.
Y no solo soy el padre de LEGO, también soy el director ejecutivo de GitHub. Y si no conoces GitHub, puedes pensarlo como la cuna de la programación. Allí todos los desarrolladores de software, los principales nerds de nuestra sociedad, colaboran juntos. Y es parte de nuestra misión hacer que a todos los desarrolladores les resulte lo más fácil posible
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.
crear pequeñas y grandes ideas con código. Sin embargo, a diferencia de LEGO, el proceso de creación de software resulta abrumador para la mayoría de las personas. Todo esto empezó a cambiar cuando llegó ChatGPT a finales de 2022. Ahora vivimos en un mundo en el que las máquinas inteligentes nos entienden tanto como nosotros las entendemos a ellas. Todo por culpa del idioma. Y esto cambiará para siempre la forma en que creamos 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's an example. This, from the early 1940s, is the world'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's a few numbers, some bubbles and some big-ass brackets. Not much humanity here, right?
Hasta ahora, para crear software, tenías que ser un desarrollador de software profesional. Había que entender, hablar e interpretar el lenguaje altamente complejo y a veces absurdo de una máquina a la que llamamos código. El código moderno todavía parece jeroglífico para la mayoría de la gente. He aquí un ejemplo. Este, de principios de la década de 1940, es el primer lenguaje de programación de computadoras del mundo, llamado Plankalkül. Sentó las bases del código moderno que utilizamos hoy en día. Y como puedes ver, son unos pocos números, algunas burbujas y unos corchetes enormes. No hay mucha humanidad aquí, ¿verdad?
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't make much sense to most of you.
Avancemos unos 20 años con el lenguaje de programación llamado COBOL. COBOL se inventó durante los años de Eisenhower, pero sigue siendo un lenguaje importante para muchas de nuestras instituciones financieras más importantes. Wall Street, su cuenta de ahorros, sus tarjetas de crédito, todo depende de esto en la actualidad. Y aquí vemos algunas palabras conocidas. Pero estructuralmente,
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.
pienso que esto no tiene mucho sentido para la mayoría de Uds. Pasamos otros 30 años, hasta 1991, y vimos el nacimiento de Python, uno de los lenguajes de programación más populares en esta era de la IA. En 80 años, pasamos de burbujas a corchetes y a fragmentos de inglés y, sin embargo, no nos acercamos ni de lejos a la intuición del lenguaje humano.
But then came June 2020, and we got early access to OpenAI'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.
Pero llegó junio de 2020 y tuvimos acceso anticipado al gran modelo lingüístico de OpenAI, que entonces se llamaba GPT-3. Era COVID, estábamos todos encerrados, recuerdo que estuvimos juntos en una videollamada. Introdujimos ejercicios de programación aleatorios en este modelo sin procesar y, como por arte de magia, resolvió el 93 % de los problemas en las primeras tomas. En GitHub nos dimos cuenta de que teníamos algo extraordinario entre manos, y rápidamente pusimos en marcha una novedosa herramienta para desarrolladores llamada GitHub Copilot: un asistente de inteligencia artificial que predice y completa código para desarrolladores de software. Copilot es ahora la herramienta de desarrollo de IA más utilizada del planeta. La era de la programación ha renacido.
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.
Sin embargo, las posibilidades de este gran avance iban más allá de estos resultados empresariales. Como los grandes modelos lingüísticos en los que se basan ChatGPT y Copilot se basan en una vasta biblioteca de información humana, comprenden e interpretan casi todos los idiomas humanos, todos los principales idiomas humanos. Parece que nos están entendiendo. Hemos logrado una nueva fusión entre el lenguaje de un humano y el de una máquina. Con Copilot, ahora cualquier persona puede crear software en cualquier idioma humano con un solo mensaje escrito. Adiós a las burbujas y a los enormes corchetes.
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's about one percent of the world'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.
Este es el avance tecnológico más profundo desde la génesis del propio desarrollo de software. En la actualidad, hay más de 100 millones de desarrolladores en GitHub. Eso es alrededor del uno por ciento de la población mundial, más-menos. Creo que ese número está a punto de explotar. Y quiero mostrarte por qué, aquí en mi 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'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.
Empezamos con el Copilot original o, como decimos, el OG Copilot, y literalmente solo predecía y completaba el código en el editor. Puedes pensar en el editor como el Google Docs para desarrolladores. Y cuando tienes un documento abierto, una página vacía, ¿qué es lo que quiero hacer? Y mencioné LEGO. Construyamos un ladrillo LEGO 3D en una página web. Los desarrolladores empiezan a escribir. Escribí el archivo JavaScript: crea una función para crear un ladrillo LEGO. Y aquí pueden ver el texto gris, al que llamamos texto fantasma. Esto proviene del modelo de lenguaje grande. Ahoa presiono tecla de tabulación y enter. Y recibo otra sugerencia para crear una torre LEGO. Quizá lo hagamos más tarde. O simplemente puedo hacer: dibujar una función de ladrillo de LEGO. Y aquí de nuevo, ves un texto fantasma de Copilot disponible de inmediato. Y si me gusta lo que veo y me pongo a escribir y entender, puedo aceptarlo. A los desarrolladores les encanta eso, ¿no? Porque en lugar de escribir diez líneas de código o copiarlas y pegarlas desde Internet, las escriben directamente en su editor. Pueden mantenerse en el flujo.
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.
Pero OG Copilot no me ofreció una forma de interactuar con esto. No puedo hacer preguntas, no puedo darle instrucciones para que haga cosas diferentes. El año pasado lanzamos una nueva función, el chat con Copilot, y puedes considerarla como ChatGPT en tu editor. Así que puedo abrirla aquí, en la barra lateral. Y ahora puedo decirle que cree una página web completa con un ladrillo LEGO 3D para mí. Al igual que ChatGPT, transmite la respuesta y no solo me da un código, sino que también me da una explicación. Empieza a escribir código, ves los comentarios que explican el código. Utiliza una biblioteca de código abierto llamada Three.js. Aquí pueden ver la idea de empoderar a los desarrolladores y a las personas que quieren aprender a desarrollar. Y termina con otra explicación. Ahora puedo ir aquí, inspeccionar ese código y, de hecho, puedo pulsar ese botón para copiarlo en mi archivo.
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.
Pero quiero mostrarles algo más. Quizás hayan visto este pequeño icono de micrófono. Puedo usarlo para hablar con Copilot. Y quiero preguntarle, en alemán, qué hace ese código que está a la izquierda del editor.
(Speaking German) Can you explain to me what that code does?
(En alemán) ¿Puedes explicarme qué hace ese código?
And now Copilot responds again, but it responds in German to me, right? So it says, if I loosely translate, "Yes, of course, this JavaScript code defines a function named ‘drawLEGOBrick.’”
Y ahora Copilot vuelve a responder, pero me responde en alemán, ¿verdad? Si traduzco vagamente, dice: «Sí, por supuesto, este código JavaScript define una función llamada '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.
Esta es la idea. Un niño de seis años que vive en Berlín, Bombay y Río ahora puede explorar la programación sin que sus padres estén presentes ni tengan conocimientos técnicos.
(Laughter)
(Risas)
I mean, you know.
Es decir,
(Applause)
(Aplausos)
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'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's nice lighting effects. I can even zoom into this and zoom out of this.
Lo que también ven es que todavía tienen que averiguar cómo juntar todo eso, ¿verdad? Hay muchas cosas técnicas aquí. Un código que requiere repeticiones. Tengo que averiguar cómo implementar esto en la nube para compartirlo con mis amigos. Aquí está mi ladrillo de LEGO. Así es como se ve hice todos estos pasos como desarrollador, pueden ver que gira muy bien. De hecho, puedo girarlo con el ratón. Ven los huecos, las salientes. Efectos de iluminación. Incluso puedo acercar y alejar esto.
Now I don'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'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'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'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's all in natural language in our user. Some file names, of course, but there is no code here. It'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'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's already my code written for me, right?
Ahora ya no quiero dedicarme a todo esto de desarrollador. Solo quiero canalizar mi creatividad directamente hacia la realidad. Por primera vez en mi vida en un escenario, mostraré un nuevo producto llamado Copilot Workspace que hace exactamente eso. Este es mi espacio de trabajo. No hay editor. Solo puedo ver una tarea y puedo introducir una tarea. Tengo mi ladrillo de LEGO, quiero convertir el ladrillo de LEGO en una casa de LEGO. Apila los ladrillos en forma de casa de LEGO. Y puedo hacerlo también en alemán y en otros idiomas. Pero por ahora, sigamos con el inglés. Puedo guardar mi tarea. Y ahora lo que pasa es que Copilot Workspace analiza lo que ya tengo y luego describe lo que me propone. Reformula mi tarea para convertirla en un plan o una especificación. Y como ven aquí, todo está en lenguaje natural en nuestro usuario. Nombres de archivo, por supuesto, pero no hay código. Todo lo describe en inglés. De hecho, puedo entrar en esto y editarlo y hacer cambios en esta línea, o ir aquí y añadir otro elemento si creo que el plan no es exactamente lo que quiero. Puedo ir un paso más allá y generar un plan, y ahora un agente revisa todos los archivos que ya tengo y averigua cómo debo modificarlos o tengo que añadir archivos a mi repositorio para que sepas que quiere añadir una función «CreateLegoHouse» y luego llamar a «CreateLegoHouse». Me parece bien, así que implementemos esto. Y ahora Copilot usa mi tarea, mis especificaciones y mi plan para escribir código por mí. Aquí que hay dos archivos en cola, el archivo public/legoBrick.js y boom, ya tengo mi código escrito para mí, ¿sí?
I didn't have to touch code, I didn'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.
No tuve que tocar el código, ni siquiera saber qué es el código. Ahora veo que importa una línea nueva a mi archivo y ha escrito mucho código aquí que hace esos cambios.
So you want to see what that looks like, did we get a LEGO house? So here'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 --
Si quieren ver qué aspecto tiene, ¿tenemos una casa de LEGO? Aquí hay un botón para abrir una vista previa en vivo para poder hacerlo. Y ahora los ladrillos caen del cielo y tengo una casa de LEGO. Esta no es una imagen, ¿sí?
(Applause)
(Aplausos)
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.
Sí, gracias. Todo esto en vivo, este es el poder del código, este es el poder de convertir mi creatividad en realidad con lenguaje natural.
Now one last thing. Thank you, Copilot, you have always to be nice to the AI.
Ahora una última cosa. Gracias, Copilot, siempre tienes que ser amable con la IA.
(Laughter)
(Risas)
(Applause)
(Aplausos)
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'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.
Ahora, lo que acaban de ver son tres saltos en tres años. Tres avances que representan un progreso mayor en la accesibilidad de la programación informática que los que hemos dado en los últimos 100 años. ¿Recuerdan cuando dije que el 1 % de la población mundial es desarrollador? Ahora puedes ver cómo va a cambiar esto. Es posible que Copilot Workspace siga siendo para desarrolladores por ahora, pero muy pronto estas herramientas de desarrollo se generalizarán. De ahora en adelante, todos, sin importar el idioma que hablen, podrán hablar automáticamente. Cualquier lenguaje humano es ahora la única habilidad para empezar a programar computadoras. Esto conducirá a una oleada globalizada de desarrolladores de software y remodelará la geografía de nuestra economía global.
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've ever taken in my life. Now I know what you're thinking. What a freaking nerd, right? And yeah, it'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.
Por eso, creo que para 2030, quizás incluso antes, tendremos más de mil millones de desarrolladores de software en GitHub. Piensen, el 10 % de la población mundial no solo controlará una computadora, sino que también podrá crear software como si estuviera montando en bicicleta. Esto generará un nuevo renacimiento de la creatividad humana con el software. Ahora cualquiera en esta sala podría tener una idea brillante: un sitio web, una aplicación, un juego de ordenador genial, una canción increíble, tal vez incluso una cura para algo. Por ejemplo, el año pasado, durante un par de semanas, creé una aplicación que rastrea todos los vuelos que he realizado en mi vida. Ahora sé lo que piensas. Qué maldito nerd, ¿verdad? Y sí, es cierto, me encanta construir cosas como estas. Y con la ayuda de la IA, ahora puedo hacerlo en inglés o en alemán incluso antes de terminar una copa de vino. Y muy pronto, esto será cierto para todos los presentes. Las compuertas del nerviosismo se han abierto de par en par.
(Laughter)
(Risas)
(Applause)
(Aplausos)
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.
Ahora bien, esto no significa que todo el mundo vaya a convertirse en un desarrollador profesional de software, ni siquiera que deba hacerlo. La profesión de desarrollador de software profesional no va a ninguna parte. Siempre habrá demanda para quienes diseñen y mantengan los sistemas de software más grandes del mundo. Añadimos millones de líneas de código todos los días a sistemas cada vez más complejos, y apenas podemos mantener los existentes. Como cualquier infraestructura del mundo, necesitamos verdaderos expertos para preservarla y renovarla.
The point here is not a "will" or a "should." It'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.
El punto aquí no es una «voluntad» o un «debería». Es que cualquiera puede. Todo porque el sistema más poderoso que tenemos, cualquier lenguaje humano, ahora está fusionado con el lenguaje de una máquina. Y muy pronto, crear software será tan sencillo y divertido como apilar un LEGO.
(Speaking German) Thank you very much.
(En alemán) Muchas gracias.
(Applause)
(Aplausos)
Bilawal Sidhu: Gosh, I'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, "We've had three leaps in three years." 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?
Bilawal Sidhu: Caramba, tengo que decirlo, mil millones de desarrolladores hacen que GitHub suene más parecido a YouTube y TikTok de lo que es hoy en día. Sencillamente emocionante. Debo preguntar por una cuestión pendiente. Una charla increíble. Dijiste que el desarrollador sigue a cargo. También dijiste: «Hemos dado tres saltos en tres años». Avanzando un poco más rápido, ¿crees que los humanos seguiremos en proceso o que estos sistemas de IA podrán crear y mantener software de forma autónoma?
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'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'm still there, you know, covering the large system. And as I mentioned, you know, we're still running COBOL systems from the '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.
TD: Siempre lo pienso y digo que lo llamamos Copilot por una razón. Necesitamos un piloto. Necesitamos un piloto creativo, que pueda decidir qué hacer. Es como un set de LEGO. Tienes un gran problema y lo divides en problemas más pequeños, en pequeños bloques de construcción. Eso requiere alguien que piense los sistemas. Necesitas un humano que sepa si estoy creando un sistema de punto de venta. ¿Creo una aplicación para iPhone? ¿Creo un videojuego genial? ¿Creo el próximo Facebook? Son sistemas muy diferentes. Estos componentes básicos crecerán en tamaño. Hoy son un par de líneas de código, tal vez un archivo completo, en el futuro, podría ser un subsistema completo. Así me quitan más trabajo de encima. Pero sigo ahí cubriendo el gran sistema. Y como he mencionado todavía usamos sistemas COBOL de los años 60. Tenemos mucho por hacer. BS: Absolutamente. Nos encargaremos de orquestar estos sistemas con un nivel superior de abstracción.
Thomas Dohmke, everybody, thank you.
Thomas Dohmke, gracias a todos.
TD: Thank you so much.
TD: Muchísimas gracias.