- OpenAI's ChatGPT, which can answer questions with human-like responses, is exploding in popularity.
- The same company is also behind Codex, a tool that automates the writing of software code.
- Experts say software development skills will still be necessary for the foreseeable future.
OpenAI is the talk of the town these days as the company's intelligent chatbot ChatGPT has sparked imaginations and made people ask what role artificial intelligence will play going forward. The same company has also been developing a less-oft talked about service, Codex, which could completely change the way developers work.
Using data it has collected from across the web, ChatGPT can answer just about any question thrown at it (although not always accurately) – and with a response that looks like it was written by a human. Codex is similar, except that instead of writing English sentences, it writes software code. Tell Codex what type of software problem you're trying to solve, and Codex will suggest a solution with a string of code.
If an AI service can now write code for developers, it raises the question of how it will impact students studying computer science and if highly-paid software engineering jobs will vanish. Still, software engineering skills will continue to be in high demand, and AI services like Codex are just a natural step as programming becomes progressively easier over generations, according to academics and experts in computer science education.
Codex has been available to developers since 2021 in the form of GitHub Copilot. And OpenAI, which has raised more than $10 billion from Microsoft and others, has been investing more in Codex of late, hiring upwards of 1,000 contractors to write code and associated descriptions that will help Codex learn to become a better programmer, Semafor reported.
Codex and ChatGPT are a "huge productivity enhancer," and many programmers are already using Codex in their day-to-day workflow, said Christopher Manning, a professor of computer science and linguistics at Stanford University. Still, just because Codex can write basic functions to make an engineer's life simpler, it doesn't mean it can suddenly write entire applications all on its own, he added.
Each generation makes programming easier
In thinking about Codex, one must understand that programming has been getting progressively easier with each generation, says Hadi Partovi, CEO and cofounder of the education non-profit Code.org, which creates curriculums for K-12 computer science classes.
"Programming started with punch cards," Partovi said. "We don't use punch cards anymore." After that, programmers began typing with keyboards using a programming language called Assembly, a low-level language that communicates directly with a machine's architecture.
Similarly, Codex further simplifies certain software engineering tasks. Programmers don't have to spend as much time on rote work that others have done a million times over, but they'll need to understand the code that a tool like Codex produces, Partovi said. Developers using Codex or a similar tool who can't explain what their code is doing aren't going to become productive engineers.
Codex can fill in lines of code, but developers still must fundamentally understand how to solve a technical problem in the first place.
"I'm confident it'll make engineering easier," Partovi said. "Then we'll have more engineers, and more software engineering. Demand for technology is only limited by the supply of engineers."
Creating the next big thing
For the next generation of programmers, a major concern is that students will use a program like Copilot to write some code for them, and then feel deflated by the idea that the program can do the work all on its own, said Cynthia Lee, a senior lecturer of computer science at Stanford University. She says she has already received assignments from students she's certain were completed with Codex.
Lee worries that Codex may demotivate students who are struggling to figure out assignments. Tools like Copilot are "an exacerbation of a problem that we've always faced, which is how do you get people to do the tasks that they need to do to learn," she said.
"It just requires having a lot of conversation with students about the real basics of, why are we here?" Lee said.
Codex is a force-multiplier that can speed up programming work, but it mostly spits out code that people have already written by gathering data from existing software packages. Still, Lee is optimistic about the technology overall, and she highlights how important it is for students to continue learning software development skills.
"There will always be a frontier of new creation," Lee said.
Codex can speed up innovation
The benefit of tools like Codex is that they can replace the manual searching developers usually need to do on the Internet to figure out ways to debug their code and find software packages that support the code they're writing, said Manning, the Stanford professor.
For example, programmers may use the Python programming language to analyze text from a webpage. With Codex, they can just write a comment asking for a piece of code to complete that task, and the service will return it.
"Even for people who are in the field, the speed at which these models have gotten better and the success they have is frankly surprising," Manning said. "But these models absolutely aren't perfect, and if you aren't capable of noticing when something is wrong and it's generating the wrong code, or there's still a bug, then you're not going to be a productive software engineer."