Skip to main content

The implementer's dilemma - and the implementer's solution

I want to continue the thought I started earlier this week:

The technology industry is meant to be inventing the future. That requires keeping an open mind: it's not a given that something new will work - or won't. Everything is an experiment, and sometimes the technologies and ideas that change the world are half a nudge away from something that didn't work at all. That means that neuroplasticity, a sense of play, and optimism are all key skills.

Unfortunately, it's really easy to let them slip, both on the business and the technology side. And the more we let go of this, the more we fall into the trap of thinking that the world is going to stay more or less the same.

While conservatism certainly rears its head in the shape of failing to engage with new business models, engineers and developers often fall into the trap of rejecting new technologies out of hand. It seems counterintuitive given that understanding technology is a large part of their jobs, but many of us look back on a slice of the past as being a golden technological era.

For example, I loved the utopian promise of the web fifteen years or so ago. For the first time, anybody could publish and be heard - something that seems completely commonplace and mundane today. Back then, it was still revolutionary, and many of us honestly thought it would lead to freedom from economic gatekeepers, and even world peace.

Of course, it didn't work out that way. We got new gatekeepers, and platforms built on the web became tools used to undermine global democracy.

For us former utopians, it's tempting to go back to the point where the social web began to cluster into large social networking platforms and try another path - as in, literally going back in time to that point and iterating web technology from there. From a technology standpoint, that means cutting back to human-editable HTML, shunning a lot of the last decade's advances in front-end and back-end engineering, and pretending that apps don't have a user experience advantage. It likely also means dismissing entirely new technologies like blockchain out of hand.

Which is why utopian technologists are disrupted again and again and again. Companies like Facebook don't care about the same principles - they just care about building something that works enough for users that it can grow and make money. Because they have a simpler need, and are willing to embrace any technology that can get it done better, they usually beat mission-driven technologists to the punch. They disrupt the status quo.

The classic definition of disruptive innovation, described by Clayton Christiensen, is as follows:

“Disruption” describes a process whereby a smaller company with fewer resources is able to successfully challenge established incumbent businesses. Specifically, as incumbents focus on improving their products and services for their most demanding (and usually most profitable) customers, they exceed the needs of some segments and ignore the needs of others. Entrants that prove disruptive begin by successfully targeting those overlooked segments, gaining a foothold by delivering more-suitable functionality—frequently at a lower price. Incumbents, chasing higher profitability in more-demanding segments, tend not to respond vigorously. Entrants then move upmarket, delivering the performance that incumbents’ mainstream customers require, while preserving the advantages that drove their early success. When mainstream customers start adopting the entrants’ offerings in volume, disruption has occurred.

Although disruptive innovation was defined for business models, we can apply it to technologies with relatively little effort. Here, incumbents - established technologists - concentrate on the ideas and paradigms that have brought them success. They're dismissive of new developments - proprietary app stores, node, AR, blockchain - that threaten those technologies. Newcomers are able to find success using those new technologies by satisfying use cases for people who were unsatisfied by the existing ones. To begin with, this new technology is objectively not fantastic - but over time it improves to the point where it can challenge and then exceed the capabilities of the existing stack. At that point it begins to take over. Call it disruptive engineering.

In The Innovator's Solution, his follow-up to the more widely-known The Innovator's Dilemma, Christiensen outlines some ways that incumbents can remain competitive. When applied to technology practitioners, the message is simple: we should all be disruptors. Our role isn't just to create sustaining innovation - which "improves the product for existing customers, giving them better features, better performance, more options, and so on" - but disruptive innovation. We should constantly be developing and embracing technologies that could replace the existing ones.

In doing so, we make ourselves resilient to ventures that don't have the same values, and we make our utopian ideals more likely to translate into real-world progress. It's not about the technologies themselves; we shouldn't need to protect HTML at all costs or want to freeze HTTP in aspic. It's about the underlying principles that we want to underly the products and technologies that everybody uses. The priority, ultimately, must be the users - and if we let go of that, we lose.