Now free to read for all subscribers.
The legendary venture capitalist and software engineer, Marc Andreessen of the investment firm, Andreesen Horowitz, opened a famous article with the dramatic assertion that ‘software is eating the world’ 1.
It is a wonderful and arresting line - one of those brilliant openers with the rare quality of stopping your thoughts dead, and making you go ‘huh’. You simply must consider the assertion further - it is one of the great opening lines for an article - perhaps, imho, maybe one of the greatest ever. It is so good that you don’t really need to read the rest of the article; it stays in your head, and really causes you to think. It’s the kind of line you’d love to have come up with as the opener to a new book.
And twelve years on, it gets north of 127,000,000 hits on Google.
The assertion that ‘software is eating the world’ is both of its time, and yet was far ahead of its time. It wasn't a tweet, but it could almost have been the tweet to end all tweets - aphoristic, pithy, capturing completely, in just five words, what we are seeing in the world all around us. Software is becoming ubiquitous, and so often delivered by that almost too-perfect piece of technology - the smartphone.
Andreessen wrote that line in 2011 - twelve long years ago! A world before TikTok, Uber Eats, Slack, Teams, and a whole host of others (Wiki has a great guide to the foundation years of tech companies: e.g. 2012, the year after Andreessen’s article, saw among others, the foundation of Coursera and Calm, both very much still with us). And the onslaught of apps for everything continues, day-in, day-out.
However, I think the assertion that software is eating the world is wrong. Software is not eating the world, because software is merely a manifestation of something that eats and creates worlds: human cognition (the technical term for psychological processes such as thinking, remembering, imagining, seeing, hearing, attending) got there first.
Our capacity for abstract, imaginative, counterfactual thought, and our ability to convince others through argument, persuasion, reward (and coercion) has already eaten the world, and gives us, continually, fresh worlds to imagine and conquer.
Software apparently eating the world is merely a second-order effect of human cognition - software depends on our capacity for abstraction, and also on our capacity for sharing realities together.
Take the following scenario:
I book a flight on my smartphone app. That tells the airline who I (apparently) am, and predicts when I likely will turn up at the airport. I book a taxi to the airport on my phone - again telling the taxi company who I am. I pay for both via a connected service app, which eventually takes money from my bank account and transfers it onwards to the airline and the taxi company (and no doubt others are getting a cut too).
And none of these transactions are paper-based; moreover, they’re not done in person. And for all of the intermediate steps to work, all the software users need to trust each other, and imagine that we all see the world in the same integrated way that I do - we must share a common imagined reality, and bring that into being: aligning our thoughts and behaviours in the correct sequence at the correct time for any of this to mean anything. Me, the pilot, the ground staff, the taxi driver - we believe we will all do what we each need to do - what we have learned to do - at the appropriate time. Fly that plane; drive that car; stash those bags; audit those money transfers and safety procedures and… the list goes on.
While Andreesen’s assertion is actually reasonable and straightforward – software – from apps to computer programs – is taking over functions formerly performed by analogue machines or humans, it overlooks something central and vital.
For software to eat anything, it must first be coded, tested, implemented, and adopted – preferably at a world-wide scale: software needs the collective cognitive realities that have already eaten the world. Software requires lots of backend things to make it happen - and it relies in particular on our amazing capacity to imagine things together, and to make them real through joint action.
In other words, software requires a individuals acting within a ‘community of knowledge’2 to make it real, to make it function. The picture I’ve placed above captures a little of this line of thinking - the tree depends for its support on the hand, or it will fall over.
Mutual cognitive and behavioral dependence and alignment is needed for software to ‘eat the world’.
We humans have ‘shared realities’: where there is a “perceived commonality of inner states (feelings, beliefs, and concerns about the world) with other people” 3. To put it another way: we can form these abstract, shared realities, because they are rooted deeply in the common biology of our brains working together, drawing on our joint capacities to remember and imagine things together.
In a way, it's an almost trivial point, but without brains and bodies working in common alignment - sharing and imagining realities in the same way, for the same ends - software may as well not exist.
The renowned British mathematician, the late Alan Turing (1912 – 1954) – an utterly central figure in the development of modern computing, anticipated this kind of thinking4: he was to say that “The isolated man does not develop any intellectual power. It is necessary for him to be immersed in an environment of other[s]…The search for new techniques must be regarded as carried out by the human community as a whole, rather than by individuals.”
This is a social, indeed, collective, view of human knowledge: we learn from, with, and through others. The extended, shared cognitive artifacts of our human world - including software - require a kind of ‘epistemic dependence’5 – where we rely extensively on the knowledge of others to tell us what things mean, and on what to value.
And these cognitive artifacts are entirely human: neither chimpanzees, fire ants, or your pet dog will ever write the code for an app to deliver food to their troupe, nest, or kennel.
Our knowledge is ‘collective’ in at least two ways: what we know often comes from what other people tell us, and we act on the basis of other people’s assertions. It may only be repeating what they say, or, more dramatically, doing what they do. Yes, we will use the new banking app - because the bank has asked us to (or coerced us into doing). Yes, we will buy that new brushed aluminum smartphone, and use it, because we copy what others do. Learning from our social group, and representing the world in common with our social group has, more often than now, been the smart thing to do. Life as an outcast is hard: all your mistakes are your own, and you have no one else to learn from. Little wonder that social isolation dulls our internal, default-mode, always-on, monologue6.
How do we come to create shared realities – where we believe the same things, and act together on those beliefs? The major building block of shared reality is captured in the phrase “sharing is believing”7. We, as listeners, generally default to believing what the other person says, to assume that they are not deliberately lying to us, that when they tell us what they are thinking, that that is, in fact, what they are actually thinking. And we generally act on what others say.
This is humanity's killer app: we learn quickly and easily from each other, because we trust what others - especially high-status others in our social groups - say. The Harvard Educational Psychologist, Paul Harris, captures this (empirically) in his wonderful book on how children learn - they trust what they are told8 - and we adults generally do likewise.
Imagining alternatives, learning from what others say, and telling others what we know, allows us to construct shared, communal, and collective cognitive realities at differing scales. And these cognitive realities allow second-order consequences - such as imagining something intangible but consequential, like software, is capable of eating something as concrete as the world.
(I develop these and related themes in my forthcoming book, for which there will be more details in due course - expect it end of Q1/start Q2, 2023; title, tbd; subscribe via the button below to learn more about the book and when it will be available).
Andreessen, M. (2011). Why software is eating the world. Wall Street Journal, 20(2011), C2; https://osr.informatik.uni-erlangen.de/wp-content/uploads/2016/08/marc.pdf.
Rabb, N et al., "Individual representation in a community of knowledge." Trends in Cognitive Sciences 23, (2019): 891-902.
Higgins, E.T., et al., (2021). Shared reality: From sharing-is-believing to merging minds. Current Directions in Psychological Science, 30(2), 103-110. https://journals.sagepub.com/doi/pdf/10.1177/0963721421992027
Hodges, A. (2014). Alan Turing: The Enigma. Princeton University Press.
Rabb et al., op. cit.
The people around you are inside your head: Social context shapes spontaneous thought. Judith N Mildner, Diana I Tamir. Journal of Experimental Psychology: General 150 (11), 2375, 2021
Higgins et al., op. cit.
Harris, P.L. (2012). Trusting What You’re Told. Harvard University Press, https://www.hup.harvard.edu/catalog.php?isbn=9780674503830&content=reviews