Will AI take my Software Developer job?
Okay, click-bait headline. Sorry.
With ChatGPT4 coming out I can hear murmurs from many people, mostly business oriented, that this is going to save us huge costs as we will be able to automate things.
For many non-technical people machine learning (common speak AI) looks like the answer to many difficult discussions about finding developers to work on issues that on the outside seem easy.
How hard can it be to add that one button and field to the simple form? Lets just ask ChatGPT how to do it and we don´t have to hire that developer that costs too much!
Here is my prediction how many business people will see this go:
1) Business person (read CxO/Manager) asks ChatGPT (or similar) how to solve a technical problem based on a business requirement. They get a round-robin answer that sounds promising out. 2) Business person Copy & Paste this description into a Jira ticket as a Todo 3) Hire a consultant from from a cheap labor country or intern to do the work 4) Consultant implements the description got from ChatGPT 5) Problem solved
How do you think this will go?
I don't want to be a pessimist but let me tell you, the end result will not be what the business person thought.
Let's start with the first point.
To ask a machine learning algorithm a question and get a useful technical answer out you will need to form the question in such detail that the algorithm can fit the solution into those parameters. Do you think the average person who doesn't do development can do that? I don't. And even if they could, every system in every company is different so the algorithm would need to accommodate non-standard solutions and legacy technology. I sincerely doubt that will happen.
Second point.
ChatGPT will not be able to build an architecture that is solid and will fit your organization. Yes, you will get a suggested architecture that will fit in a perfect world where every organization have followed the standards, used a standard technological stack with a standardized set of tools. But if you have worked in technology even for a short time you know that doesn't exist.
Third point.
You know the old saying that you get what you pay for? I will leave it at that.
Last point.
In many cases a business person will think that the first solution to a problem will fix the problem and the business can move on. Most people in software know differently. The first solution in many cases is only the stepping stone to the correct solution and in many cases it takes many tries until a final adequate solution is implemented. Software is evolutionary work which no machine learning algorithm will be able to completely fit into its parameters.
Final thoughts
I see machine learning as a great tool in the box for developers. For most cases it is too slow and unreliable to use in production, but for testing purposes and developer tooling it will be useful.
Will it take any developers job? I don't see it can. A developer is much more than someone you just types code every day; a developer communicates requirements, thinks of corner cases, designs alternative approaches, manages data, and so on and so on. The amount of thought work that goes into business systems today is mind-boggling.
But for the business person who only sees that button and form field, it is understandable that the big picture is blurry and machine learning seems exiting.