Seven forces against the AI democratization of software development

In the last couple of weeks, viral stories like the Citrini report or the Matt Shumer story have revived the myth of the massive democratization of software development. Here are seven forces which I think will oppose resistance to this democratization:

  1. The bar for unsolved problems is very high. - Most simple software has already been made. Some simple software out there may be prime for displacement and replication by highly determined lone wolves, but there will be relatively few opportunities.

  2. Laws of diminishing marginal returns will remain. “It got me 90% of the way there” is pretty much useless. You need software that works and ships, and as the old adage goes, in shipping software “the last 10% is 90% of the work”.

  3. Maintenance will continue to be burdensome. Software tends to entropy (disorder) as the real world changes under it, which sometimes happens very fast. This change in the substrate demands not only tweaks but sometimes serious directional changes in the software-building process. Following #2, what you thought was 90% was actually a fraction of 1% in the long term. 100% doesn’t even really exist until software is decommissioned!

  4. Technical knowledge will not be completely abstracted away. Knowing the technical domain will remain important, especially for complex problems - and complex problems often require complex solutions. A neophyte building software that orchestrates a set of complex techniques and components (ex: machine learning modules, failure-resilient procedures, concurrency, etc), won’t be able to wing it for long.

  5. Distribution and network effects will remain massive moats. Distribution, and especially network effects, are extremely hard to replicate and often require a lot of time and capital. Distributing well-made software internally in an org of a few hundred people is already a hard problem. Good luck getting a LinkedIn clone off the ground!

  6. Business domain knowledge will remain very hard to acquire. The most utopian visions of hyper-democratization of development neglect this, as if assuming that anyone can learn effortlessly learn new domains (ex: contract law, recruitment, precision industrial manufacturing, etc.). For most people, building domain knowledge and networks is a process that takes many years of hard work.

  7. Abstract product-building skills do not come easy. As coding becomes less important, the demanded skills will move upstream towards product management and business analysis, which demand being able to prioritize, to navigate highly-uncertain and abstract contexts, and to visualize equally abstract outcomes. Similar to the previous point, these skills and competencies require talents and dispositions that not everyone has, and which in the best of cases take many years to build.

AI is already radically transforming the economics and development of software, and will continue to do so in coming years. But I think due to all of these reasons, the revived myth of the “citizen developer” remains very limited in its potential.

Propositions 1 - 4 are possibly the weakest and at the mercy of being upended by AI, but I still think they will hold to some extent, and all in all the complete set of forces will continue to make development difficult for the non-technical.