How big of a threat is ChatGPT to the job as a software developer?
Disclosure: I haven't used ChatGPT personally, but I have formulated these thoughts and opinions after watching others who have used it.
That out of the way... I think that the answer to how big of a threat ChatGPT is to careers at the moment is minimal. Can it do some pretty amazing things? Absolutely. But, there are still 2 technical hurdles that explicitly block it from taking over and many other implicit ones.
The 2 explicit ones are; input and quality.
Starting with input; the videos that I've watched where ChatGPT has produced the most amazing results are also, incidentally, the cases where the user providing the input has supplied some very high level language that a non-developer would, quite simply, not even know to begin with.
If you need the knowledge of a developer to supply the correct inputs to get the desired outcomes, then it becomes a little absurd to claim that developers have been made obsolete. In these cases, ChatGPT is simply a tool which can potentially expedite development by supplying you with code which you already understood well enough to produce yourself.
Which then leads to validation. AI is not infallible. Not even one as shiny and new and powerful as ChatGPT. Ultimately, you need to be able to analyze the results you got back to know if they actually satisfy your expectations based upon the input. And this requires an even deeper understanding of what you're asking ChatGPT to perform than simply getting the input correct.
It wouldn't do you any good to not know how to phrase a request to ChatGPT. And while you may be able to go some time without the knowledge to validate the output, if you keep on relying upon it without the requisite understanding then you WILL eventually get a dud and not even know it. And worse, lack the basic skills to even understand what about the answer was incorrect.
And then there are the implicit reasons. UI is a great example of this. I've written tons of UI in my time. And there is a simply problem with UIs. There is no universal "right" answer. I've done screens which meet the brief perfectly only to have the PM come back and tell me that the font needs to be bigger, or that the color scheme needs to be adjusted. Or that a screen doesn't properly adhere to our style guidelines. In short, there are many cases where technical knowledge of the tools is insufficient. The odds of AI in the current state exceeding human capabilities in these areas is unlikely.
Once again, the likely outcome is that a tool like ChatGPT could be used to generate a starting point. After which the developer would still be required to step in and take the design and implementation to completion.
Coding standards are another implicit area which apply to both back end and front end code. Then there are things like bug fixes and maintenance/consistency. At the end of the day, the complexity of any production scale with ongoing feature development and maintenance is still a ways out of reach of AI.
On the other hand, I would not be surprised to see a new class of jobs being created somewhere down the road to streamline development efforts around these tools; people trained with "just enough" coding skills to validate the output plus some training on how to maximize the results coming out of these AI solutions. Just like SEO, there will be phrases and keywords and ways of wording requests to get more reliable or higher quality output.
If you start seeing jobs like that and you aren't, say a senior developer and your company is doing poorly or you're planning on switching jobs... then it might be time to be a little scared. When that happens you can likely expect these kinds of jobs to cannibalize the entry level dev positions. I look at it as being similar to the situation with nurses and doctors. Nurses do a lot more work than doctors. And a lot of that work used to fall onto the doctors. They also do it at a lower pay rate. And this works because they also lack the doctorate, the responsibilities and some of the more advanced knowledge.
In short. Nurses, like this theoretical AI-jockey role represent a way to increase throughput at a lower cost for companies. For the foreseeable future some more senior developers will still be needed to keep the code in check. And those developers will likely see much higher pay than those whose skillset revolves more around the AI work. But, even those developers may need additional training and certification to work effectively in this new environment.
Either way, I don't think we are particularly close to having an AI which be relied upon to create a full scale enterprise application in a trusted fashion while being able to handle ongoing feature requests, handle bug fixes and coordinate requirements with a product team.
And until we get there, we will continue to need developers.
Comments
Post a Comment