Generation code

What happens to developers when software writes itself?

Software that writes software

In 1951, computing pioneer Betty Holberton built an important application for the UNIVAC I, the world’s first commercial computer. Her Sort Merge Generator was the first example of using a computer to write software. It paved the way for a host of advances in automatic programming, all based on the principle of writing applications that produce source code for other applications.

Automating software development follows the same logic as automation in any industry, from banking to manufacturing to healthcare. It makes programmers more productive by allowing them to write code at a higher level of abstraction. The same principle applies to today’s low‑code and no‑code developer tools, which let non‑coders build apps by manipulating a graphic user interface.

Automation helps scale software development by pushing complexity under the hood. By freeing developers from grunt‑level programming tasks, it gives them back time to focus on more creative pursuits like dreaming up the next killer app. In turn, those killer apps automate a host of routine processes, freeing us up to do work that drives value for our companies and creates meaning for ourselves.

As our personal and business lives become increasingly mediated by software, there’s increasing demand for simple, elegant tools that “just work.” We’ve grown used to these apps in our personal lives, where a finger swipe suffices to order groceries, pay bills and find romantic partners.

In the enterprise, however, we often have to deal with clunky applications that make it hard to accomplish basic tasks like filing an expense report, signing up for benefits or requesting IT services. Younger workers are especially intolerant of software that gets in their way, as ServiceNow design czar Greg Petroff explains in the current edition of Workflow. Many of them have never experienced a world without digital connectivity. They demand the same intuitive experiences at work that they enjoy outside the office.

Automating software development allows companies to develop those experiences faster and with less labor. Hence the rise of new automation platforms like AutoML, which promise to make machine learning more scalable and cost‑efficient. Kristin Burnham reports that these platforms free data scientists from having to train machine learning algorithms manually, although human expertise is still needed to ensure the accuracy of both data and results.

Also in this edition, Danny Bradbury explains how the rise of AI in the enterprise is creating new challenges around privacy and explainability. Regulators, employees and customers increasingly hold companies accountable for algorithmic bias. Hence the rise of explainable AI, based on the principle that people have a fundamental right to understand the grounds on which AI systems make important decisions like approving a mortgage or a bank loan.

Can we enjoy the productivity gains of automated programming without the dystopian downside of AI‑driven tools that people create but can’t understand? The jury is still out on that question, but it does seem clear that enterprise developers will increasingly use consumer tech as the standard by which they measure success.