What Happens When Software Writes Itself? — Part 1

A look at the future of software engineering

Courtesy of Andrey Popov — DepositPhotos

Imagine the World…

To start, let’s imagine what the world was like for an average person in 1920. They probably had a radio in their home, but they likely will not get an automobile or telephone for another 5–10 years even though both were invented several years prior. Fast forward to 2001; although cell phones had only been widely available since the mid-90’s, the average person already owned one. Smart phones will not be invented for a few years, yet they will be in almost everyone’s pocket a few years later.

Courtesy of LovetoKnow and Wikipedia

Exponential Change

The first trend is the exponential pace of change and our inability as humans to adapt. Our primitive brain function, molded by evolution over millions of years, is no longer equipped to absorb and react effectively to the dizzying change happening all around us. Adam Grant provides some great examples of this in his book, “Think Again.” In 2011 we consumed five times the amount of information per day than twenty-five years prior. In 1950, it took fifty years for knowledge in medicine to double. By 1980 it was down to every 7 years, and by 2021 it was down to every 3.5 years. In order to cope with this change, we’ve had to come up with new models and tools to help us adapt, including crowdsourcing and the use of collective intelligence from peer networks.

How to Adapt?

The key word is adaptability. Companies, especially entrenched enterprises, have renewed their focus on adaptability to achieve faster business outcomes and keep pace. Here again, Adam Grant gives a great anecdote about this in “Think Again” by comparing Blackberry and Apple.

Solving the Money Problem

Companies have used two traditional levers to manage the cost of creating bespoke solutions, each with inconsistent results. First, they looked at customizing packaged solutions. The thinking was sound — why build a solution from scratch when you can modify something pre-built? The reality was rocky; anyone who has been through a project to customize an enterprise package like Salesforce or an ERP system knows how hard this can be. Some packaged systems are difficult to customize, and there is always the upgrade challenge to deal with. The result is usually more painful than expected with a resulting system that falls somewhere between bespoke and vanilla, feeling diluted and unsatisfying.

The Automation Equation

Let’s return to our “imagine a world…” exercise and ask ourselves a question: what if we lived in a world where software wrote itself based on the unique specifications of a bespoke solution and lots of data? What if this is a third option beyond low-cost labor and packaged solutions customization to achieve our adaptability goals? Is automation in software engineering really possible? We will dissect the answer to these questions in Part 2.

--

--

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