AI vs Coders
With ChatGPT making waves recently, people are wondering if the end of human programmer is near. Most envision a bright future (in a couple years time, for sure) where all code is written by prompting the AI chat bot and even non technical folks can spin up a website just by writing a couple of sentences into an input field.
Personally, I think it's still a long way to go to the point where that becomes a reality. And I am not sure it ever will, at least not in the way we imagine. Usually, the future tends to be unpedictable due to the fact that innovations not only change the way we do things - they also change the way we think about problems. Oftentimes, instead of automating a solution to an existing problem the new technology just sidesteps that problem in the first place. Or doesn't solve the issue that doesn't need solving. Case in point:

Current vision is that AI will write code for us. But is that what we really need? Generating more boilerplate seems like a wrong solution. Maybe, we need better abstractions instead? Higher-level programming languages and better integrations? Current AI tools might be a very good stepping stone to that. But, as it stands right now, ChatGPT, Copilot, and other tools are very impressive but very limited at the same time. They are language models, which means they are, at their core, a prediction engine on what word will mostly likely to come next in a sentence (or a coding statement). Quite useful if trained on a set of data big enough, less useful for creating new solutions for unorthodox problems.
Another issue is the AI's ability to believably bullshit you. When you ask it to solve a problem - sometimes it comes up with answers that are completely wrong in some subtle ways. It looks great on the surface but it's very broken. And yes, it will get better with time. But when it comes to code - every case like that means hours spent debugging subtle things in the otherwise great looking code. The worst kind of debugging, if you ask me.

There's other issues l that I haven't mentioned (copyright issues for one) but I think a lot of them will be solved soon. However, I believe it's too early to call it quits on your software development career. As AI models become smarter, they will bring better and better tools that we can use to speed up our coding and get better at our craft. And one day it will enable us to do great things more effeciently. It's still a long way to go though, and I am certain there will be enough work in software for decades to come. Even if it's just to debug the pile of boilerplate junk our smart AI tools have generated.
This post is part of the #100days project, where I try to write a post a day. Today is #day3