We can’t seem to let go of ChatGPT. Last week, Richard posted a short article describing his concerns about the unintended consequences of ChatGPT as it enters our cultural mainstream. With artificial intelligence (AI) research no longer on the fringes of computer science, Richard’s concerns are quite valid. Will the impact of ChatGPT on software jobs and other professions be significant and rapid or will it proceed at a more moderate pace similar to other new technology?
In his article, Richard specifically called out examples where ChatGPT quickly solved a couple of software problems for his colleagues at Caltech. I’m an old software guy who started programming in the early 1970s and was coding occasionally until a couple of years ago (for hobby-level projects). I was curious. How good were ChatGPT’s software results?
I have a basic understanding of how ChatGPT works. Somewhat cynically, I assumed that it was inevitable that an early pre-training domain for ChatGPT would be software development. After all, the developers were software geeks who understood how routine many coding projects are.
A Bit of Software Development History
Software development has always been characterized by reuse and cut-and-paste practices. Every coder with decent skills over the last 70 years has a personal library of code samples. Yes, even in the days of entering computer programs via a deck of keypunched cards good programmers keep “reusable” code decks. Modern coders are well-versed in the use of open-source libraries to build applications. Indeed, most contemporary coding involves assembling proven bits of code and libraries into an application. It isn’t about grinding out lines of code. The critical skills required to develop a new application are designing the system and delivering an excellent user experience.
I might add that having software (such as ChatGPT) produce other software is a very old idea. Code generators first emerged many decades ago as programmers quickly came to realize how much of their work was derivative of other applications they had developed. From my viewpoint, having ChatGPT write software was interesting, but not a breakthrough. Nevertheless, I wanted to put this bot to the test.
Putting ChatGPT to the Test
I asked ChatGPT to write a simple web-based program that would request information from a user and store it in a database. Pretty basic stuff used everywhere on the web. I provided some guidance by asking that the program use a very common programming language, Node.js. Next, I added a popular framework for user interfaces in web applications called React.js. Finally, I wanted ChatGPT to use a well-known database (MongoDB). This set of software tools is used daily by thousands of software developers. My request to ChatGPT:
“Write me a web-based program using Node.js that accepts name, rank, and serial number from a React.js form and stores it in a MongoDB database.”
Because of a resource limitation imposed by the company that created and operates ChatGPT, the results of this request were incomplete. ChatGPT began quite nicely but simply came to a grinding halt. I simplified the query to limit resource requests to the chatbot:
“Write me a text-based program using Node.js that requests name, rank, and serial number from a user and stores it in a MongoDB database.”
The response here was quite decent. It demonstrated a very effective pre-training operation that reflects the availability of dozens, even hundreds, of online tutorials to train newbie programmers. The pre-training also included millions of lines of free software in Microsoft’s GitHub repository. finally, a very self-interested, human-directed fine-tuning effort by the developers of ChatGPT ensured the outcome would be as good as it was.
The Impact on Coders
What does it all mean? Will the impact of ChatGPT on software jobs consign software developers to the dustbin of history? As with all new technology, I believe it inevitably comes down to winners and losers. The losers are those who deny the reality of the new technology. They insist that automobiles are a passing fancy and buggy whips will always be in demand. The winners will be those who embrace the new technology, using it to enhance their skills and productivity. If I were still in the software business, I would never hire a developer who preferred to prove their software mettle by grinding out 10,000 lines of original code for a new app. My target hire is a smart person who understands the application development ecosystem and embraces ChatGPT (or its specialized siblings). These coders can deliver a far more reliable, full-featured solution in much less time. They will thrive in the new milieu while the “buggy-whip” coders will be the losers.
For most senior citizens, the impact of AI on jobs is not directly relevant since many of us are retired. It will have an impact on our children and their descendants. We absolutely must be aware of the risks of misuse of these intelligent assistants. However, we should also take heart and recognize that artificial intelligence can deliver major benefits. In a recent article, Bill Gates articulated his vision as we enter the age of AI. I’m in Bill’s camp.