What Happens When Software Writes Itself? — Part 2

A look at the future of software engineering

Courtesy of Andrey Popov — DepositPhotos

Automation Everywhere

It is a fascinating exercise to think of the world five years from now, especially in an environment when automation has moved past simple, low-skill tasks. It is not inconceivable that we will see:

  • Arial drones delivering packages to our doorsteps
  • Increased adoption of self-driving vehicles
  • Robots in select retail and grocery centers handling service and checkout

A Mindset Shift

Given the massive market size and the confluence of trends, we have an opportunity to create a mindset shift in how we construct software, but we cannot think incrementally. What is holding us back? People in the software industry have been conditioned equate software engineering with writing code, so their natural desire is to want tools to help them accomplish this activity faster. It reminds me of the famous quote attributed to Henry Ford regarding the advent of automobiles (rumor has it he never actually said this, but we’ll go with it for effect):

“If I had asked people what they wanted, they would have said faster horses…”

To solve the speed and cost problem, we have to think differently and ask ourselves if automation can change how we approach the process of software engineering. It might surprise some that we are already moving in that direction. Consider the following observations:

  • DeepCoder — An AI solution developed by Microsoft and the University of Cambridge that auto-generates code based on github repos and a basic set of requirements
  • From Watson to DeepMind and beyond — AI-powered machines can now beat humans in chess, Go and Jeopardy
  • Test Automation — 78% of companies use automation for functional or regression testing, so quality assurance has already become increasingly automated

Enter Low Code

Absolutely not. We have the bridge right in front of us and available to walk across, consisting of a mature class of platforms ready to support a mindset shift: low code. Low code platforms allow developers to visually create custom software with code that gets auto-generated and auto-deployed. Instead of the two extremes — manual hand-crafting of source code or waiting until AI can fully generate its own code — low code platforms let us define what we want a custom solution to do, and the platforms handle the rest automatically.

Wait, What?

Unsurprisingly, there is natural skepticism from people in my industry about low code platforms, generally falling into two basic arguments. The first is something I hear from software engineers, and their argument is based on developer interest, coloring the use of low code platforms as something short of actual programming. Their point usually ends with something like, “I’m a software developer because I want to write code.”

Conclusion

Despite my interest in software automation, it definitely has a place. Not every type of software will benefit from low code platforms. If I am Facebook, I’m not looking to replace my web and mobile consumer apps with a low code solution — too many unique requirements, users and scaling challenges. Data and back-end services are likely not good use cases for low code either. But for the vast majority of an organization’s internal or consumer facing software apps, where the requirements are neither unique or overly complex, a solution that offers the speed and cost benefits of software automation seems like a wonderful bridge to cross.

--

--

Husband, father of 3 boys, 2 time entrepreneur, tech enthusiast (esp blockchain), yellow Whole Brain thinker and supporter of under-served communities

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Chad Hahn

Husband, father of 3 boys, 2 time entrepreneur, tech enthusiast (esp blockchain), yellow Whole Brain thinker and supporter of under-served communities