Sunday, May 26, 2024

Can AI replace human software developers?

Can AI replace human software developers?Yes. Not today, but soon. I have been a software developer longer than most people talking about this have been alive. Most developers are weak enough that much of their activity will be better done by AI automation.

One of the things holding up AI in development is that the human-created code they have trained on is terrible. They have learned to reproduce sloppy, bug-inviting code because that is mostly what is available out there. That will change.

Lots of jobs exist because they are required to support fragile, poorly written systems. As those get replaced, the jobs surrounding them will disappear. That’s good news, though. Maintaining and patching together buggy legacy code is a horrible job I would not wish on anybody.

Depending on the environment, I would say anywhere from 10% to 50% or more of developers will be replaceable in about five years, probably sooner. Maybe the top 10% of developers will still be needed because they have a high level of knowledge and skill, and they are not ‘one-trick ponies’. They are very smart, highly literate, adaptable, and good to work with.

You can’t judge ‘replaceability’ on the basis of the really capable developers. Some may take quite a long time to replace because they embody a great deal of intelligence and knowledge that only exists with a small number of hard-core developers. However, ordinary folk, even if they don’t lose their employment, will find lots of their tasks taken over by automation.

Consider this: if an overall AI development system finds a fixable issue in a codebase, it can survey everything else to find and fix that issue. If it finds a ‘best way’ to replace things, it can make that assessment and quickly change everything over to that way. If, for some reason, one of its changes needs to be rolled back, it will roll it back because failing to account for that is the kind of mistake it does not make. Lots of bugs that developers spend time fussing with are because of mistakes made by the original developers that an AI would find easy to identify and correct. Lots of needed code already exists. Even a top developer is not guaranteed to look for and find acceptable code for things he needs, and they subsequently create the code on their own. An AI system in the next few years will be pretty much aware of every bit of code available, what it does, and how to use it. Using it often depends upon setting up an elaborate environment. I have been amazed at how ChatGPT can already make sense of what I want and how to do it, and when my environment has an issue, it can tell me more about the issue and how to correct it. That includes the kind of fussy stuff that can send even a seasoned programmer down rabbit holes.

AI will soon be able to do a lot of the routine stuff developers do. To some extent, it already can. Going forward, much of the code that human developers might write will already be written, known, and available. The work developing that will not be needed because it will already be done.

For most of us, developers included, the net impact of AI automation will be positive. It will do the tasks we don’t wish or need to do. It will increase our collective net wealth, and at the same time, it will increase our leisure time to take advantage of that wealth. To the extent that humans will be needed in the mix, their powers will be greatly amplified using AI to leverage what they bring to the table.

I must say that this is now coming on fast, and I highly recommend that people begin to become familiar with and skill up on AI systems. ChatGPT, the thing that really opened this all up, is still a great place to start.

No comments:

Success as a Senior Developer

What qualities make a senior software developer successful? Many of them are the same qualities that make anyone successful at work. Here, I...