DeepMind shows how AI can impact software development
If you’re a software developer, should you worry about an AI system possibly taking your job?
DeepMind, an Alphabet subsidiary dedicated to AI, recently announced an AI system named AlphaCode that it claims can compete with some human software developers. “AlphaCode has achieved an estimated ranking in the top 54% of programming contest entrants by solving novel problems that require a combination of critical thinking, logic, algorithms, coding, and natural language understanding,” DeepMind claimed in a new company blog.
If you’re curious about how AlphaCode can generate “competition-grade” code, check out The DeepMind article 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 researchers trained the platform on massive and complex models.
“We use large transformer language models to generate code, pre-training them on selected GitHub code and refining our set of competitive programming problems,” is how the paper sums up this complicated process. “For each unseen problem, we generate a large set of program samples, filter them based on the results of running on sample tests from the problem description, and then pool the remaining samples to get a small set of candidate submit for review.”
If you create software for a living, should you be concerned 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 allow employees with little technical knowledge to create their own services and applications, but these programs often have relatively simple model-based outputs. A more sophisticated code-writing platform, on the other hand, could take over tasks previously left to software developers, including the more complex ones.
In order to adapt to a future in which software writes more software, developers need to focus on skills that software struggles to replicate, such as creative problem solving. Human developers can also beat AI when it comes to project management, communicating with team members and stakeholders, and developing compelling new features for customers.
There is also the argument that sophisticated software writing platforms will actually create more jobs. At the end of 2020, for example, a report from the The World Economic Forum, which regularly analyzes the potential impact of AI on the economy and unemployment, suggested that AI and automation will fuel the creation of 97 million new jobs by 2025, including software developers and apps. But the nature of human-driven software development can change drastically, with more emphasis on creativity and management than on “just” writing code.