As artificial intelligence (AI) continues to reshape the software development landscape, many developers are beginning to feel threatened by the idea of an AI-powered future.
Which skills will still be relevant? Will software developers lose their jobs to AI?
The Luddite Fallacy
When examining the conflict between software developers and AI, it can be easy to dismiss this as an example of the Luddite fallacy—the false notion that smart machines will replace human workers, leading to mass unemployment.
Workers have worried for centuries that technology might soon lead to mass unemployment. But this fear is largely unfounded, refuted by economists who have studied trends over decades and concluded that new tech does not lead to higher overall unemployment, but rather restructures the composition of jobs in the economy, creating new types of work.
Yet still, there are some notable indicators to suggest software developers should prepare for a bleak job market in the future. In fact, a recent study from the US Department of Energy’s Oak Ridge National Laboratory predicted AI would likely replace software developers altogether by 2040. Understandably, this forecast would alarm any software developer.
But is this forecast just another example of the Luddite fallacy? Let’s take a closer look at how software developers can stay relevant in the face of AI.
Pay Attention to the Changes
On one hand, some software designers may resign themselves to fated obsolescence. But the best thing a software developer can do today to stay ahead of the game for years to come is this: pay attention. The changes AI will bring to software development are inevitable. So if software developers pay close attention to what AI can and cannot do, they’ll be able to prioritize developing relevant skills in order to fill in the gaps.
In other words, stay one step ahead of AI. As AI automates more and more basic programming tasks via neural networks (like maintaining complex software repositories, analyzing run time, writing intricate programs, etc.), software developers are freed to operate at a higher level (like sourcing, composing, manipulating, analyzing, and visualizing the data fed to and from those neural networks).
This framework whereby AI performs time-consuming, hard-coding tasks while human developers source and compose data sets to train AI is referred to as Software 2.0. Coined by Andrej Karpathy, a former research scientist at OpenAI and current Director of AI at Tesla, Software 2.0 is the goal for the software development process in the age of AI. Under the structure of Software 2.0, human developers may focus on problem and goal definition, data analysis, model deployment and integration, and the management of AI applications.
One example of an AI solution that can already begin performing the futuristic tasks described by Software 2.0 include Microsoft’s DeepCoder. This AI tool can create new applications and produce working code by searching through a massive code database and then assembling the best possible arrangements of harvested code fragments. Although DeepCoder’s technology isn’t yet perfect, developers at Microsoft expect the AI will be able to participate in programming competitions in the near future.
Bridge the Skill Gap
Based on a report from Indeed, the top three in-demand jobs on the market today are software engineer, data scientist, and machine learning engineer. Over the past three years, the demand for AI-related roles has more than doubled. And from now on, this demand is only expected to increase.
In order to successfully bridge the skill gap created by AI’s transformation of the software development industry, developers themselves must shift their skill sets. The skills necessary to exceed alongside AI projects include algebra, calculus, statistics, data mining, data science, machine learning, cognitive computing, text analytics, and language processing, among many more.
Obviously, it would be impossible for a software developer to master every single AI-related skill—especially since the field of AI is expanding so quickly. But if developers treat learning new skills as an ongoing process, regarding themselves as expert generalists rather than specialized experts, they will have a much easier time keeping up with AI in the future. Developing a breadth of knowledge allows software developers to more easily adapt with the changing times, acquiring expertise here and there when the market demands.
Software developers of the future won’t necessarily need to know every intricate detail of all the latest machine learning algorithms. More importantly, they should focus on developing flexibility and a range of skills. Navigating the new AI landscape will certainly be challenging. But for software developers, it doesn’t need to be impossible. Staying up-to-date in the software industry is a full-time job. That’s why many companies turn to business partners like KitelyTech, INC. for assistance. At KitelyTech, INC., we work with companies to develop and implement new software solutions. Call us at (800) 274 2908 to discuss your business’s software needs and find out how we can help.