- AI
- ambiguity
- APIs
- architecture
- augmented reality
- books
- bureaucracy
- career
- change
- Christmas
- cloud
- collaboration
- communication
- complexity
- computer history
- corporate life
- data
- decisions
- delivery
- devops
- end user tools
- ethics
- failure
- fear
- fundamentals
- gaming
- government
- halloween
- history
- humans
- hype
- identity
- infrastructure
- innovation
- language
- leadership
- learning
- legacy
- management
- measurement
- mental health
- money
- networking
- New Year
- operations
- philosophy
- physics
- platforms
- prediction
- process
- procurement
- programming
- quantum
- reliability
- resilience
- risk
- robotics
- science
- science fiction
- security
- shadow IT
- space
- standards
- strategy
- talent
- teams
- technical debt
- technology advocacy
- testing
- thinking
- transformation
- TV
- virtues
- vision
- writing
The software paradox: it’s rational to make plans; it’s irrational to expect them to work
Software projects suffer from a paradox. They are typically expensive endeavours which are of great importance to the organisation which is executing them. It is rational to want to be assured that they will be successful, that they will not cost more than the organisation can afford, and that they will not take longer than the organisation can wait. At the same time, they are fundamentally unpredictable. Any software project worth doing involves work which no-one has ever done before, creating new logic and new capabilities, and integrating existing components in complicated and interesting ways. This is difficult work which involves intellectual challenge and problem solving. Things which look hard often turn out to be easy, while (rather more frequently) things which look easy turn out to be hard.
Can we see the future from here?
After the Second World War, it was clear that the telecommunications infrastructure of many countries needed an upgrade. The digital computer had been invented, and was emerging from the lab into the economy. In the USA, the giant early warning and control system, SAGE (Semi-Automated Ground Environment) was being built to cope with the threat of nuclear war, and needed systems and sensors to be connected across the country. The old copper cables of the telephone and telegraph systems were not up to the job.
Fortunately, experts, researchers and engineers had a solution: they would use light to transmit information rather than pushing electrons through copper. However, they did not start with the flexible, glass optical fibres that we are familiar with today: they believed that glass could not be manufactured with sufficient transparency to carry light over long distances and that, even if it could, the photons would escape at the bends.
Practice takes practice: don’t mistake AI proliferation for maturity
“This is only a foretaste of what is to come and only the shadow of what is going to be.”
These words appear on the fifty pound note issued by the Bank of England, under the portrait of their speaker, Alan Turing. They come from an interview with Turing in The Times in 1949, and continue, “We have to have some experience with the machine before we really know its capabilities. It may take years before we settle down to the new possibilities, but I do not see why it should not enter any one of the fields normally covered by the human intellect, and eventually compete on equal terms.”
The current wave of innovation in AI has led to more excitement about the last part of this quote than the rest, “I do not see why it should not enter any one of the fields normally covered by the human intellect, and eventually compete on equal terms.” Much of the press and social media, along with masses of marketing material, would have us believe that AI models are already competing on equal terms with humans, even if every article about how an AI model has passed the bar exam, or leapt some other professional hurdle, seems to be offset by another article questioning the legitimacy of the test, and yet another giving examples of how the model got things wrong in hilarious ways.
Transistor powered jet skates: seeing the future from the past
‘Look who it is! Iron Man using his jet skates! Those transistor powered wheels of his can do 200 miles an hour!’
If you are familiar with the superhero Iron Man from Marvel movies, you may be surprised by the idea that he would be travelling using skates, rather than flying. However, if you are familiar with electronics, you may be more surprised by the idea that wheels could be transistor powered.
This is a quote from an Iron Man comic in the 1960s. Some things in the comic are the same as the movies of today: Iron Man is a flawed human in a metal suit which enables him to do astonishing things. Some things are very different: the armour is chunky and does a lot more rolling than flying. And, rather than being powered by nanotechnology wizardry, it is powered by transistors.
Automation or augmentation?
On 9th December 1968, Douglas Engelbart of the Stanford Research Institure, gave what was later called ‘the mother of all demos’. In a 100 minute session, he demonstrated the capabilities of the oNLine-System (or NLS - they had terrible abbreviations in the 1960s too), including features which we would not see in commercial computing for many years: windows, hyperlinks, real-time collaboration, video-conferencing and the use of a mouse. It’s striking how familiar the experience is (even down to elements of the demo going wrong), and it’s not surprising that Engelbart got a standing ovation at the end.
However, once you get used to seeing technical advance after technical advance, all described in Engelbart’s calm and level voice, one more thing stands out in the demo: the conception of computing as a means to augment what Engelbart calls ‘intellectual work’, a goal which he also makes clear in his paper, Augmenting Human Intellect: A Conceptual Framework. Engelbart decided to pursue computing after the Second World War, with the goal of turning machines which had previously been solely used for calculation into machines which could be used to help people think and work collectively.
That’s why they call it the future
What does the future look like, seen from the past?
Recently, I’ve been doing a lot of reading about the early days of the public Internet, and revisited the book ‘What Just Happened?’ by James Gleick. It’s a collection of essays about technology, written through the 90s and published in 2002. It was already a time capsule when it was published, and is even more so from the perspective of 2024. For anyone who lived through those times, it’s a mix of nostalgia (dial-up modems; Usenet; multimedia content on CD-ROM), prescience (GPS in your pocket; personalised feeds; digitisation of money) and emerging questions of behaviour and social impact (privacy; etiquette; trust).
The themes I found most interesting, though, were optimism and frustration.
Technology estimates: unpredictable since 1823
In 1823, Charles Babbage was awarded £1,700 to build a machine known as Difference Engine 1, capable of automatically producing astronomical and mathematical tables. It was to be based on Babbage’s success in building Difference Engine 0, a smaller, prototype machine, which showed the potential of automatic calculation.
Nineteen years later, in 1842, after the budget had been spent ten times over, the project was abandoned. By this time, Babbage’s attention had shifted to an even more ambitious project, the Analytical Engine, which anticipated much of the computing architecture of modern, digital machines, including programs, memory and an arithmetic processing unit. Despite the contributions of another genius, Ada Lovelace, only a small part of the Analytical Engine had been built before Babbage died in 1871.
We should not disparage the work of Babbage and his colleagues for being incomplete: the Analytical Engine may be the best example ever of a machine being ahead of its time. To a modern computer engineer, the idea of building a mechanical digital computer out of brass and steel is audacious, to say the least. To a software engineer, the idea of developing computer programs, as Lovelace, without a machine to run them on, without the fundamentals of computing being settled - and without the modern programmer’s primary resources: the Internet, a search engine and online forums - is terrifying.
Three predictions: probably wrong; possibly useful
Why make predictions about technology at all? I am writing this from a train which was predicted to be at its destination half an hour ago, but is still stuck between stations. If we can’t make accurate predictions about a well-known system with years worth of data, how could we possibly make predictions about the ever-changing field of technology?
Yet the process of attempting to make predictions tells us something, even if individual predictions are wrong. This particular train might not arrive as predicted, but I expect that there is a model somewhere which predicts the overall number of trains that will be delayed - and this delay may be consistent with that prediction. Somebody had to develop that model, and that process will have found something interesting about the factors that affect the reliability of trains.
Similarly, while it’s hard to make predictions about the future of technology, the process of attempting to figure out what’s coming next can be useful. It forces us to use our imaginations, to think about the consequences of choices we are making today, and to recognise the limitations of our own knowledge.
Things aren’t always what they seem: cloud, ML and the duty to explain
Many things have surprised me since I started writing these articles in 2018: perhaps it is a condition of 21st century life to be in a state of constant surprise. But there are three things that have surprised me most of all, and have taught me to think differently about the field of enterprise technology. These ideas may seem obvious, but sometimes it is the apparently obvious that surprises you the most.
Cloud is not just infrastructure
Back in 2018 I was working for a large, global bank which was just getting started on public cloud. Although that was only five years ago, it feels much longer: questions about whether regulated industries such as banking would ever be allowed to run on public cloud were far from settled, and there was a lot of scepticism.