Coding Sucks Anyway — Matt Welsh on the End of Programming
This month Matt Welsh, a former professor of computer science at Harvard, spoke at a virtual meetup of the Chicago Association for Computing Machinery (ACM), explaining his thesis that ChatGPI and GitHub Copilot represent the beginning of the end of programming.
Welsh thinks programming is on the cusp of changing from a job that humans do, to one that robots will do, thanks to technologies like ChatGPT and Copilot. In his view, programmers will need to evolve into “teachers” of AI programs — or perhaps product managers or code reviewers, the two human roles he thinks are relatively safe from the robots. But don’t expect to continue your career as an actual programmer, he says, because machines are taking over that role.
Welsh, who has held senior engineering positions at Google and Apple, had written an article on this topic for the January 2023 edition of the Communications of the ACM magazine. However, it wasn’t clear until this ACM video presentation that Welsh has founded a startup to prove his theory. Fixie.ai, which he is the CEO of, is a self-described “automation platform for large language models.” It aims to help businesses program custom software using, you guessed it, ChatGPT and similar machine learning programs.
‘Computer Science is Doomed’
Welsh came off the top rope at the start of his presentation, claiming that “computer science is doomed.”
“I think the field is going to change radically,” he explained. “If you think [about] what is computer science as a discipline? It has always been about really one main thing, which is translating ideas into programs.”
He went on to say that computer programming has evolved over the past 60+ years to try and make it easier for humans to understand the code. He compared Fortran in 1957 to Basic in 1964 and then to Rust in 2010, but said there really isn’t that much difference between those three in terms of ease of use for human programmers.
“Programs that people are developing today are just as complex, just as hard to maintain, just as difficult to understand and just as full of bugs as they have ever been,” he claimed.
It was GitHub Copilot that made Welsh fundamentally reassess the meaning of computer science. “Copilot radically changes the way that we write code,” he said, “and has, at least in my personal experience, been just a remarkable and profound way of accelerating my development.”
Already, he thinks Copilot is an incredible product. “As I’m typing, Copilot does a very, very good job at often completing my thoughts for me — it reads my mind a lot more than I really think it should,” he said. He added that Copilot is “a fantastic productivity boost because it saves me from having to context-switch.”
As good as it is, Welsh thinks the current version of Copilot is “just the beginning.” There are only two things stopping Copilot from getting much better, he said: more data and more compute. Since both of those things are abundant, he doesn’t see “any reason why Copilot in a year or two, or maybe three, isn’t going to get to the point of, you type a few lines at the top of a source file and it just writes the rest.”
The Software Team of the Future
Welsh had some intriguing predictions about how this will change the team dynamics of software development. Basically, he only sees a couple of roles for humans once programmers are phased out: product manager and code reviewer.
The role of product manager won’t change much, he says.
“Imagine a human product manager that is still able to write English-language descriptions — PRDs [product requirements documents], if you will — of what the software should do. It’s what PMs already do, right?”
But in the near future, instead of handing a PRD to the engineering team and waiting six weeks or so for them to implement it, said Welsh, “you just hand the PRD to the AI, the AI spits out the code in, like, a few seconds.”
Of course, one of the early lessons of generative AI is that the output of these AIs won’t necessarily be correct. So Welsh sees a role for human code reviewers in this programmer-less future.
“How do we know that the code works? How do we know that it’s good? How do we know that it’s right? Of course we need to have thorough testing, and the testing is very, very important — and that’s not going away. All the CI/CD stuff and everything that we’ve invested in over the last few decades is still relevant here.”
He thinks that humans with programming ability will be tasked with “reviewing and reading the AI-generated code and making sure that it works, and is doing the right thing.”
As for programmers, and those about to join the field, they will need to become teachers of AI rather than coders. “It’s all about teaching the AI, not writing the computer program,” said Welsh.
Having set the scene and scared the bejeebers out of the 200+ computer scientists who tuned into this ACM meeting, Welsh then explained how his new company is taking advantage of the AI programming trend.
“With Fixie, the idea is you give it a description of what you want to do and Fixie takes it and, using a set of large language models plus agents that can connect to external systems, it can produce a result for you — either an answer to a question, or calling an API, or invoking a tool, or making a change in a database. These are all the things that these models can do. And critically, we’re doing this not by writing a whole ton of code; we’re doing this by teaching the AI models how to do this.”
It became clear in this presentation that Matt Welsh has a big vested interest in making traditional coding obsolete, since his company aims to capitalize on the trend of AI programming. However, given his own long and successful career as a computer scientist, you also have to take his predictions seriously. This is someone who has a deep understanding of how programming works, and he thinks AI is already close to mastering it.
Also, Welsh thinks that “coding sucks” anyway — so just let the robots do it. “Do something else with your time,” he suggests. “Writing computer programs is not the best use of time for everyone.”
Easier said than done for people employed as programmers currently. But Matt Welsh is probably right that this is where coding is headed, so it’s up to us humans to adapt.
Here’s the full video of Matt Welsh’s presentation for the Chicago ACM: