LLM programmers

I forget where but I recently came across a discussion online about whether ChatGPT would allow companies to replace programmers in the near-future. The main response argued that since ChatGPT frequently makes mistakes that a businessperson would be unable to spot, programmers’ jobs are safe. The business people will still need programmers to make corrections to the code ChatGPT produces. In the same breath, the commenter observed that the more advanced the programmer, the more likely that ChatGPT helps them produce good code. That is, they are more productive with it compared when working without it. They suggested that the returns on ChatGPT are much smaller for novice devs, and maybe even detrimental if ChatGPT produces poor usage of APIs and they don’t know any better, but would if they had just read the docs. (The debate then devolved into talk about how coorporations would ban ChatGPT since copyright is so murky with it… as if they would throw away something that can make their best devs 10x more productive because their lawyers will have to work a little harder)

This debate was interesting to me because the two commenters had different ideas of what it meant to replace programmers. I think there are two ways to think about this, illustrated by two scenarios:

  1. A business person wants a piece of software. They hire a dev. The dev makes the software for them.
  2. A business person wants a piece of software. They hire a team of devs, since it’s complicated. The devs make the software for them.

In scenario 1, I agree that ChatGPT won’t replace the programmer (in the near-term). Even if ChatGPT could do a lot of the heavy lifting, it’s not good enough to make software from start to finish, unless it’s just a script and the business person is relatively tech savvy.

In scenario 2, ChatGPT could absolutely replace programmers. From my limited experience in industry, I’ve gathered that most teams have one or two senior devs and the rest are junior. The juniors are the codemonkeys and the seniors do most of the real decision-making. A senior developer that uses ChatGPT well could absolutely become as productive as they would be with one or two junior devs. In this case, a company would just hire the senior dev, and ChatGPT replaced two devs.

I can see this creating a strange equilibrium, where companies are even less interested in junior devs, and more interested in senior devs (this is already the case of course, but at least junior devs do produce code). But the only way to become a senior dev is through experience. So perhaps junior years works more like long-term internships? Senior devs get paid more, and junior devs paid less, until ChatGPT becomes strong enough to displace even the senior devs? Winner takes all? Or progress in LLM-powered learning platforms allows devs to get to senior level in less time?…