If you’re a software developer, should you fear an A.I. system eventually taking your job?
DeepMind, an Alphabet subsidiary devoted to A.I., recently announced an A.I. system named AlphaCode that it insists can compete with some human software developers. “AlphaCode achieved an estimated rank within the top 54 percent of participants in programming competitions by solving new problems that require a combination of critical thinking, logic, algorithms, coding, and natural language understanding,” DeepMind claimed in a new corporate blog posting.
If you’re curious about how AlphaCode can generate “competition-level” code, check out DeepMind’s paper detailing how it works. Competitive programming requires everything from understanding complex descriptions to solving problems in unconventional ways; in addition, competitors (both human and machine) must master a variety of data structures and algorithms. To create AlphaCode, DeepMind’s researchers trained the platform on massive, complex models.
“We use large transformer language models to generate code, pre-training them on selected GitHub code and fine-tuning on our curated set of competitive programming problems,” is how the paper summarizes this complicated process. “For each unseen problem we generate a large set of program samples, filter them based on execution results on example tests from the problem description, then cluster the remaining samples to obtain a small set of candidates to be submitted for evaluation.”
If you build software for a living, should you be worried about AlphaCode’s reported ability to compete (and win) against human developers? For years, analysts and pundits have suggested that the rise of “no code” and “low code” programs could empower employees with little tech background to build their own services and applications—but those programs often have relatively simple outputs based on templates. A more sophisticated code-writing platform, on the other hands, could take over tasks previously left to software developers—including complex ones.
In order to adapt to a future in which software writes more software, developers need to focus on those skills that software has a hard time replicating, such as creative problem-solving. Human developers can also beat out A.I. when it comes to project management, communicating with team members and stakeholders, and developing new features that appeal to customers.
There’s also the argument that sophisticated software-writing platforms will actually create more jobs. In late 2020, for example, a report by the The World Economic Forum, which regularly analyzes the potential impact of A.I. on the economy and unemployment, suggested that A.I. and automation will power the creation of 97 million new jobs by 2025, including software and application developers. But the nature of human-driven software development may change radically, with more of a focus on creativity and management than “just” writing code.