When return on investment is the highest priority, automating repetitive, predictable tasks is a strategy that has proven inevitable in any industry where it’s possible. If machines or technology can complete a task faster, cheaper, more safely, and more effectively than a human, industry leaders are going to find a way to turf that job to technology. And now, smart machines—ones which depend on code written by humans—are rendering some programming jobs obsolete by out-performing people.
For the programming industry, automation is often the objective: how can we create software that will make everyday tasks of varying complexity easier, faster, or simpler? Online scheduling software for medical offices saves eight minutes per appointment scheduled, which for large medical practices can eliminate the need for an entire receptionist position. The automation of booking travel by software like Kayak, Hipmunk, and Expedia essentially have replaced travel agents. The robots programmed to fulfill your Amazon order have upended the way people shop, making trips to specific stores in the flesh unnecessary.
Currently, creating this time-and-money saving automation requires a corps of programmers to hand-type and hand-test the endless lines of underlying code. Because of the sheer number of people required for all software development across all industries, coding abilities historically have been touted as the must-have skill.
However, automation is impacting the very same programming force which brought it into existence, changing the specific skills which will be in-demand moving forward. With exponential advances in machine learning—the process by which computers learn without being explicitly programmed—the future need for a human to hand-type and hand-test endless lines of code is not looking as stable as it once did. Because artificial intelligence can already automate some mundane programming tasks, some predict that “software engineers” will be eliminated as a professional category as early as 2060.
Whether you’re already a programmer or thinking about becoming one, read on to learn about how automation may completely disrupt the programming industry.
On the edge of software development, industry leaders are already starting to contemplate how to apply advances in machine learning to software programming. CEO of Github, Chris Wanstrath, sees typing code into a computer as a flawed process, and predicts that coding of the future will be fully automated. In his estimation, using automation rather than people to program millions of lines of code frees human attention to focus on high-level strategy and design.
As an example of this ideal already in action, the CEO of Dev9, Will Iverson, intentionally utilizes automation for a process called, “Continuous Development.” In this automation-heavy software production model, a small team of high-level engineers are responsible for writing code, and artificial intelligence is responsible for automated testing and deployment tasks. According to Iverson, replacing lower-level human engineers with automation has benefits for his bottom line and for his clients. Hiring a small team of quality engineers while eliminating the corps of manual testers speeds up the rate of delivery of high-quality products while minimizing labor costs.
Of course, the automation of industry won’t be limited to coding and programming. According to the the Pew Research Center’s Future of the Internet report, experts predict that by 2025 robotics and artificial intelligence will already be a large part of everyday life, especially in healthcare, transportation, logistics, customer service, and home maintenance. The number of displaced workers is hard to predict, however. Experts are split about how the integration of AI into all arenas will impact job creation. Experts agree that the automation made possible by AI will eliminate not only blue collar but many white collar jobs as well. With that in mind, 48 percent of experts believe that more jobs will be eliminated than created. The remaining 52 percent are hopeful that human creativity will prevail, and new occupations will crop up to replace those lost.
So how are programmers today responding to the prospect of disruption?
For some programmers, the inevitability of automation can be worrisome—and perhaps not unjustifiably. Currently, machine learning is rapidly improving to the point where machines are outperforming humans on routine, repetitive tasks such as coding.
Necessary tasks in software engineering that formerly required human judgement and skill (e.g., bug detection) can now be completed by AI with greater accuracy and reliability through algorithms designed to learn from previous examples. Like the aforementioned example of Dev9, once it is proven that a human employee is no longer necessary to complete a job function, businesses can choose to move forward without that employee.
It is no wonder then, that when a group of software engineers were asked to identify what worried them about their profession, nearly one-third of all respondents reported being scared they would be replaced by artificial intelligence. Worry about being replaced by artificial intelligence outranked all other worries in the study, and was perceived as more threatening than having no pension in old age, bad management, or seeing their skills become irrelevant.
Of those who are worried, those who aren’t highly skilled may be the most justified. In the beginning of both the Industrial and Digital Revolutions, there has been a clear pattern that for the labor force—at least in the beginning—prosperity from innovation is most likely to benefit highest skilled workers. While, eventually, the remainder of the labor force does benefit from innovation, anyone but those at the top could be disproportionately impacted once automation has firmly planted roots in the programming.
While some programmers express fear of being replaced by automation, there are others who are embracing and implementing automation as a strategy to manage their work. In an ethically ambiguous situation, one programmer being paid by his employer for 40 hours of work per week used automation to complete his entire weekly workload in just two hours. He did this for 18 months while receiving a full salary.
While the aforementioned programmer didn’t disclose the effect of automation on his work to his employer, other software engineers reported positive consequences upon disclosing their use of automation to complete their everyday tasks. Automating mundane work led some programmers to promotions, higher wages, and/or being placed in teams where their talent and skill was better utilized.
If you’re currently a programmer, how worried should you really be? If you’re studying computer science or thinking about learning how to engineer software, should you reconsider?
At the time of this writing (Jan. 2018), machine learning still has a long way to go before it renders the human programmer obsolete. Despite the consensus amongst experts that AI will inevitably displace a large chunk of the labor force, there are still vast opportunities for those with skill in coding, both in and outside tech.
For low-level programmers and coders, one strategy for keeping your prosperity through the waves of change is considering upgrading your skills. Learn new programming languages; commit to continually researching the programming languages you do know; and as you play with technology outside of your job, keep your eyes open for how you can apply what you learn during play to your work. And, perhaps obviously, learn as much as you can about using machine learning to automate processes.
Because AI will inevitably replace mundane, repetitive programming, another place where you can set yourself apart is by developing high-level creativity and emotional intelligence skills. Developing self-awareness, self-management, motivation, empathy, and social skills will improve your capacity to work with others. If you improve your capacities to manage your emotions, manage conflict resolution, read and respond to other’s needs and share, you can have an advantage as the programming industry comes to require more teamwork and interpersonal interaction.
Another strategy is to expand upon your current success as a programmer into an even higher-level occupation. If you have the means, the drive, the math skills, and the time, you may want to consider pursuing an advanced degree and becoming a data scientist. Based on number of jobs available, salary, and overall job satisfaction, data scientist has been ranked as the top job on Glassdoor two years in a row. It is even possible to move your skills into this arena through online master’s programs offered by Coursera, or through an online degree program (e.g., Johns Hopkins University).
Just like when IBM’s Deep Blue beat chessmaster Garry Kasparov and Watson beat Ken Jennings on Jeopardy, machine learning eventually is going to outpace and outperform programmers at their own game. The question is: will individual programmers seek to improve their skills or embrace their obsolescence and move into other fields? One thing is clear: automation isn’t just threatening to replace blue collar workers such as manufacturing plant workers and truck drivers. It’s fundamentally disrupting all industries, and the workers of today—regardless of their field—should be prepared for this future.