Current Hype
Recently an AI model known as ChatGPT was released by OpenAI platform which became famous for its ability to write code. This has stirred the debate on social media platforms and developer communities about whether AI will take away software developers' jobs in near future.
My take
I would like to address this with respect to “Deep learning” the fundamental concept behind "ChatGPT" and most AI used today (without delving too much into theory), so it stops seeming like magic and you get a gist of what’s going on.
AI vs ML vs Deep learning
Deep learning is a subset of machine learning which is further a subset of Artificial Intelligence(refer to the image below to get a gist of each of these terms).
Machine learning
An easy way to understand Machine learning is that when we code now what we do is we give computer input data and processing(rules) and it gives back output data. But in Machine learning, we give the computer input data and the output data and it gives back the processing(rules).
In general, three technical forces are driving the advances in machine learning:
Hardware (GPUs and CPUs)
Datasets
Algorithms
Now, all these have made fair advances in the recent past, especially Datasets due to Big Data, the rise of social media etc.
Deep learning
In deep learning how this is achieved in layman's terms is through a feedback loop where we give computer input data and it gives an output based on an algorithm, then we compare this output with the actual expected output and try to minimize the difference. When this process is repeated over thousands of similar inputs then we get the algorithm that has a good chance( never 100%) of doing the given task.
AI vs Coding jobs
So, for AI to replace coders it will need a huge amount of data about each particular task you want to perform. Say for example a new framework comes, then it will take deep learning thousands of code examples in that framework to get trained and even then you won’t get very high accuracy. So a task like writing complex code where even small bugs matter, it doesn’t seem very promising.
Also, even when you look at ChatGPT there have been reports that it is giving answers to only simple or very common codes otherwise the code is full of bugs ( that’s why it was also banned from Stackoverflow as people who didn’t have the required knowledge were posting wrong answers that were given by ChatGPT link)
Conclusion
So, my conclusion is that one day AI may actually replace jobs and not just coding ones but that will be a whole different world, and this will be a very gradual process and we are still far away from it. For now, AI is an excellent assistant and increases productivity by eliminating mundane and repetitive tasks so it’s a tool for programmers, not their replacement.