The Future of Programming In A World Dominated By AI
I wrote my first program in the fall of 1972. I was a sophomore in high school. As I learned this thing we call “programming”, it occurred to me as just a word game. I soon realized people would pay very well to have me play these word games all day long. So I ended up going to college and getting my degree in Math/CS.
Today I’m 67, semi-retired, and have spent 45 years as a professional software developer. And, frankly, I cannot understand why programming is still a thing. It was going to be simplified in the 80’s. Then in the 90’s. When people started freaking out in the mid-90’s about the possibility that the world could end on January 1, 2000, companies started hiring people like crazy to solve the Y2K problem. Billions of dollars were invested in tools to analyze code, figure out everywhere that a date was touched and rewrite the code so it was safe, update databases, and everything related to that. And THIS was going to lead to “the end of programming”. Finally!
Well, here we are 23 years later. The world didn’t end and, well, nothing much has changed except we now have computers we carry around with us in our pockets that have more computing power than the most powerful desktops in 2000. And we programmers still use the same basic tools, same basic processes, same overall structures and approaches. In fact, most of the mechanisms underlying all internet mechanisms are still following the same basic designs from the 60’s and 70'.
There’s an industry organization called CMMI has these formal ways of cataloging and certifying the so-called “maturity” of a software company. Curiously, the further up the ladder you go, the less and less impact individual programmers have in the overall process. But programmers — ie, people — are still doing all of the work. People are critical to the process. But in the most “mature” organizations, the CMMI certifications reduce them to mindless robots that can be easily replaced. They have already mapped out the most “mature” development organization. I’m sure some models built on some future version of ChatGPT will become among the first of the most mature CMMI-rated programming “organizations” to be certified.
VULCAN MIND MELDS TO THE RESCUE
Why we’re still using this old, inefficient process to get ideas out of our heads and into a computer so we can create virtual worlds puzzles me. Until we’ve learned how to do Vulcan Mind Melds however, the process of getting ideas out of our heads and into the computer will be challenging.
The bottom-line for me is simple: I can talk to someone and get an idea for something formulated in my head fairly fast. At that point, there’s this unfortunate and extremely tedious process I have to go through to get the overall idea out of my head and into the computer so it can be useful to myself and/or others.
I have to translate my ideas into smaller and smaller pieces, then explain them in excruciating detail using some programming language so a compiler can translate them into code that can tell the computer what to do to render my ideas on a screen or other device that implements my ideas in a way that others can see and use them. Sadly, that whole process has become very mechanical to me. It’s not very creative any more since I have to overcome the same problems repeatedly, work with large and steadily growing libraries of pre-defined functions to do stuff, instead of rewriting them each time. They save lots of programming time, but cost time having to either study and memorize large chunks of data, or look things up as needed.
Personally speaking, I have to do this even as my mental capacities to recall all of this crap are slowly deteriorating due to my age. And I have a problem recalling nouns, and proper nouns in particular, which doesn’t help.
ONE OF AI’S BEST USES
I’ve thought about this AI stuff a lot, especially all of the noise about how AI is going to replace all of these jobs, and I’ve come to a startling realization: AI is going to be incredibly good at one thing in particular (among others): customization and personalization. This is sort of what programming is about, except it got mired down in processes designed by Really Smart and Creative People who don’t like repetition. AI is going to change that. If you need a CRM system, for example, why spend thousands of dollars on one when you can play with some models (like trying on suits), make some notes, and then have an AI bot tailor the one you like best so it fits your needs?
I saw a short video about some software called Jasper that illustrates this perfectly where the guy asked for “a basic social media app”. That is, it starts out with a TEMPLATE that the AI bot already knows about. And his instructions to Jasper are CUSTOMIZING this template for his specific needs.
Programmers are not going to become obsolete, although I don’t think Computer Science has much of a future in an AI-driven world. Computers keep speeding up while CS people use that as an excuse to keep creating bigger, slower, more bloated code. Our downfall is we’re HIGHLY CREATIVE PEOPLE and we want to keep inventing NEW stuff! In contrast, most of the apps people and companies want created are simply customized or personalized versions of stuff that has been around now for a couple of decades.
PLUMBING CODE IS HUGE!
The thing is, perhaps HALF or more of all code is what I call plumbing code that only exists to move data into, out of, and between data objects. Letting AI worry about moving the data around and making it persistent removes a HUGE chunk of programming effort.
Also, it’s possible to break down application templates into chunks that are mostly the same from one app to the next. What varies is the data they need to work with. An AI bot will simply help customize them as needed. When you can deal with the plumbing code and the data variations within specific contexts, you’ve solved 80% or more of what makes apps distinct. In rare cases, someone will want some “secret sauce” added into the mix, and that might require a “real programmer” to create something that’s hidden away on a server that makes the app somewhat magical.
SUMMARY
I believe that given what AI has proven it can do, this is where we’re going to be in less than 5 years. If you know anybody in high school who’s thinking of majoring in Computer Science today, I’d discourage them. Instead, suggest something like genetic engineering, battery chemistry, or becoming a commercial airline pilot. (Keep in mind that aviation offers a lot more opportunities beyind just flying commercial aircraft filled with people, and even that is changing now too.)