This article is about one of the honorees of Fast Company’s Next Big Things in Tech awards for 2022. Read about all the winners here.
Generative AI, in which machine learning models create things like text or imagery (as opposed to interpreting or classifying things), might change the way people in many industries do their work. Generative AI models, such as OpenAI’s GPT-3 (text) and Stability.ai’s Stable Diffusion (imagery), have become so powerful, and even creative, that some fear they may automate humans out of their jobs. Others believe such tools will just change existing jobs so that human workers spend more of their time training AI tools, which will then do much of the heavy lifting.
Beyond text and image generation, one of the first areas to benefit from generative AI is coding. In 2022, GitHub launched a new generative AI tool called Copilot, which works something like an advanced autocomplete function, allowing programmers various options on how to finish lines or sections of code.
“As you type, similar to when you type something in Gmail or Google Docs or Outlook it recognizes what you type and then infers what you want to type next,” says GitHub CEO Thomas Dohmke. “And it uses a machine learning model called Codex from OpenAI to predict what is the next method.”
Like other creatives, developers like to get in a zone. They like working within their code editor where they can focus and crank out code. But they must constantly leave the editor to access one of a long line of tabs open in their browser, which contain things like snippets of code they may need, or code testing resources, or documentation.
Copilot’s job, then, is to be an intelligent gopher that anticipates what the developer needs to fill blanks and solve problems, then present the developer with some options for doing so within the editor environment. The developer can also just describe what they need in plain language, like “return the largest integer in a list.”
“It can suggest full-line methods, multi-line methods, whole test cases, or algorithms [such as] bubble sort or things like that,” Dohmke says. Copilot, which is delivered as a plug-in to popular code editors such as Microsoft’s Visual Studio Code, does as much of that code-grabbing and reference work as possible, so that the developer can spend time on harder problems.
The machine learning model behind Copilot is able to predict which code the developer might intend to reach for next because it has been trained on the enormous troves of code written and hosted on GitHub. Not everybody was happy about that when the tool launched. Some people worried that if Copilot suggests large enough chunks of code from its training data, that could amount to laundering open-source code into commercial uses without proper licensing. GitHub acknowledges this possibility, but says it happens very rarely.
GitHub launched a technical preview of Copilot in June 2021, and announced general availability for individual users a year later in June 2022. So far, GitHub says, more than a million developers have used Copilot, and “hundreds of thousands” use it every day.
“I accessed it first in the early days when it wasn’t quite perfect; it would make amusing mistakes and assumptions [in] some of the things it returned for me, but it’s gotten better over time,” says Chicago-based developer Cassidy Williams. “It’s particularly helpful for smaller things like helper functions, or getting me around 80% of the way there to what I’d like to write.”
Williams sees Copilot as a productivity tool more than a creative one. “I don’t see it taking my job anytime soon—my workflow hasn’t changed a ton, it’s just been a little faster than usual,” she says. “But I particularly appreciate that I can get to the more intense logic that humans do best, while Copilot handles things like regex and helpers that are more of a chore to write.”
For some developers, the speed increase in code production is extremely valuable. Ben McAlindin, a software engineer at the aid group Norwegian Refugee Council (NRC), was challenged to build systems for storing and evaluating data collected from people requesting aid (food, shelter, etc.) all over the world. One of those places is Ukraine. The NRC needed to provide a way for Ukrainian families displaced by the war to request aid quickly and directly, and get an answer back promptly. So it built a messaging platform, called Digital Communities Hub, through which Ukrainians can request aid from the NRC via a number of popular messaging apps including WhatsApp and Telegram.
“It was that kind of mindset of there’s a crisis happening, and we need to build things fast,” McAlindin says. “So I was brought in to do this, and I put some Python code together to process this data. . . . It was quite a big project and a lot of code went into this.”
That’s where Copilot helped, McAlindin says. “It really knows what I want to write, and for so much of it I’d write a little bit of code, or I’d write a comment and it would say, ‘Hey, is this what you wanted?’” Then if Copilot returned an option that accomplished the task at hand, he’d okay it by hitting the Tab button and the code would be added. “So, rather than writing maybe 200 lines of code, I just pressed Tab 10 times.”
GitHub said recently at its GitHub Universe developer conference that it’ll soon start selling Copilot for the enterprise. That is, it’ll sell pretty much the same Copilot tool to corporations, but on a seat license basis.
GitHub was in a particularly good position to offer a generative AI tool to coders (it had all that training data), but we may be seeing just the beginning of the advent of generative AI tools in the arts and in business.
Dohmke thinks so. “We believe that there will be a copilot for everything in life for every professional, for every task you’re doing,” he says.
He also believes that Copilot, or more powerful future iterations of it, might play a far bigger role in code creation than it does now. “Ultimately, software development is going through another transformation where everybody is using machine learning models to build, instead of using programming language.”




