Converting Your Enterprise into an Extreme Agile Platform
Behind Goldman’s billion dollar secret
This is Part 6 of a series on revolutionary Enterprise CodeBuilder technology — pioneered as a Scaled Agile platform to allow software-centric businesses to retool faster. Now it’s time to tie the details of the implementation to the business case.
Better Risk Management for an Uncertain Economy
SecDB lurked around Goldman Sachs for years before finally bearing fruit during the 2008 financial meltdown, and as such Goldman was practically handed global domination on a silver platter thanks to the work of engineers like Kirat Singh and Mark Higgins. Only one other company — JP Morgan — had the vision (h/t Jamie Dimon) to adopt and leverage this shadowy technology in time for the crash. Just about everyone else was caught helpless. Banking software is notoriously glacial yet Goldman was rewiring itself within days. Teams huddled in offices around the world working through the night to change their enterprise system on the fly as new information arrived. No wonder Goldman and JPM ended up owning the planet — no one else even had a chance.
Ironically, a big part of SecDB and Athena involve risk management software — with the main risk being how fast can software change to deal with “unknown unknowns”. But isn’t that the nature of Agile generally?
Agile Business: The Platform Trend
Earlier I discussed the LEAN concept of Gemba Kaizen and how it shifts the concept of ‘customer’ closer to underlying enterprise technology. Capital-intensive companies seek to lower risk by unbundling capabilities and operating expertise into information services. But as I discussed in fintech with Visa, old-school API coding approaches are not powerful enough. Your SaaS offering is only as good as the interface and the software industry is already littered with enterprise integration wrecks. If you are having trouble getting your IT department to deliver internally, how will they deliver an interface? An API simply pushes integration risk onto your customers.
In an uncertain economy, no one wants to be stuck holding capital. CodeBuilders are sometimes described in terms of what they are not and this is actually consistent with a much larger trend. You already know the story: Uber has no cars. Airbnb has no rooms. Facebook has no content. Alibaba has no inventory. Amazon has no stores (until recently) etc. It’s all about the platform now. But what exactly is a program that has no code?
As Alan Kay has pointed out, there are reasons rooted in computer science theory why is so difficult to adjust a conventional software system after the fact, even if you throw hundreds of developers at it. You need a flexible architecture so comprehensive it penetrates almost at the machine instruction level. You need automation. You need an unconventional weapon. This is probably why Singh and Higgins describe their work as an “enterprise innovation platform”.
Not Your Ordinary Platform
Platform is an interesting choice of words because it doesn’t mean what it used to. The generation gap in tech is larger today than has been in decades. For example, while some CIOs are still panning Python as a “toy”, JP Morgan and Bank of America have been running their businesses for years on the largest Python codebases in the world. Many companies will simply be left behind.
Buckle up because we are about to take another Gemba plunge into a much darker corner of computer science.
We start with Wikipedia’s definition for a Platform:
A computing platform is the environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser or other underlying software, as long as the program code is executed in it.
So a Platform could be an Operating System. What is an Operating System?
An operating system (OS) is system software that manages computer hardware and software resources and provides common services for computer programs.
Meh. But according to Webopedia:
The operating system (OS) is the most important program that runs on a computer.
Ah! Basically an Operating System is really just another Program. Unfortunately, this sounds a bit like Russell’s Paradox and confirms what the CFO suspected all along — the software industry is a very expensive self-licking ice cream cone. So what is a Program?
A computer program is a collection of instructions that performs a specific task when executed by a computer.
It is particularly important to nail down the definition of Program before one can hope to “automate programming”. So let’s try to classify Programs in terms of von Neumann:
In particular, let’s look at the control unit e.g. the brains. Despite all the advances in AI, we find Silicon Valley still uses a fairly simplistic instruction processor … oh wait… we have “microprocessors” … digging further we find “firmware”… Good grief, it’s full of von Neumann Russian dolls! Eventually, we find a control unit that blindly advances through a never-ending sequence of instructions — Alan Turing’s ticker tape machine. The machine has no idea where one Program ends and another one begins. Cobb made a similar observation back in our Inception cafe scene.
So perhaps Programs don’t really exist at all, except as an artifact of flat-file thinking. It’s all just endless ribbons of thread.
Enough. It’s finally time to exit our little matrix by unplugging the control unit and tossing it on the floor.
Nothing. The fans hum … the machine just sits there … waiting. We now have a program that doesn’t run anything…
Program Not Program
No big deal really. Operating Systems just “sit there” all the time, patiently waiting for a control unit to be plugged in. Programs without instructions. Just like Uber without cars.
Fortunately, an Operating System is very good at hot-loading other Programs. New instructions can be loaded, processed and executed on the fly every time we “run” a “program” without having to reboot or install JRebel. Why is such a handy feature not shared with the rest of humanity?
Salem Witch Trials
You are not going to like where this is going. Essentially an operating system acts just like Alan Kay’s venerable eval() statement from Lisp. It is a Program that takes a description of another Program and runs it.
In computing, we call this a meta-circular evaluator or meta-circular interpreter. It is the original hot-loader. Even the definition is circular: an interpreter which defines each feature of the interpreted language using a similar facility of the interpreter’s host language. In other words, our self-licking cone just went nuclear.
Interestingly, the eval statement has a certain voodoo quality about it in computer science. It is spoken in hushed tones and children are quickly escorted from the room before elders recount tales of the unspeakable horrors that can be unleashed by tinkering with this unholy portal into another dimension. Alan Kay has often talked of eval in terms of Einstein’s Theory of Relativity and the work of Curry-Howard-Lambek and Feynman suggests there may indeed be a correspondence.
At this point, you may be starting to entertain the notion that Goldman and JP Morgan really did make a pact with the devil. At a minimum, this explains why NYC is not shouting about this technology from the rooftops.
In Haskell terminology, a CodeBuilder ‘lifts’ a Program into an Operating System. Files become instances of variables (particularly strings). Programs become instances of functions. And something similar to a filesystem maps all this stuff back and forth between memory and permanent storage. This is what Higgins is really talking about when describing Athena’s database-like qualities.
This peculiar ability for late-binding languages to lift themselves into the role of operating systems has been largely been ignored outside NYC although there are some visible exceptions such as eyeOS:
What you see in the screenshot is a working website that technically meets the definition of an operating system yet was dismissed as a strange toy. You can play with another similar system here. The confusion is an example of Graham’s Blub Paradox:
As long as our hypothetical Blub programmer is looking down the power continuum, he knows he’s looking down. Languages less powerful than Blub are obviously less powerful, because they’re missing some feature he’s used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn’t realize he’s looking up. What he sees are merely weird languages
Nested systems should not be so surprising to an industry already full of Russian dolls and self-licking ice cream cones. However, eyeOS did not actually ‘lift’ the underlying medium and is therefore an example of the inner-platform effect, which is where our proxy turns into a replica of the underlying. In fairness, there are a whole lot of folks selling “platforms” these days that are just fancy web pages. You really need a CodeBuilder to make a quantum change.
Both inner-platform and Blub are touched upon in the Inception Cafe scene:
Ariadne: How could I ever acquire enough detail to make them think it’s reality?
Cobb: Well, dreams, they feel real while we’re in them, right? It’s only when we wake up that we realize something was actually strange.
Naturally all of these “rules” should be taken with a grain of salt, because it is easy for academia to armchair-quarterback when they aren’t facing real deliveries or customers.
With Goldman Sachs, the proof is in the pudding. This suggests they built the world’s first “enterprise operating system”. No wonder they controlled entire nations.
This is not the playground of hackers. Let’s face it, trying to hot-load ribbons in a running textile machine requires some skill. NYC is locked in an arms race to find the best computer science and compiler experts on the planet to tame late-binding languages. Almost all of this expertise historically has been in AI for reasons I described previously.
Although Wall Street was the first to run with this technology, the most interesting next-gen ‘general purpose’ CodeBuilder tech is now coming out of Estonia. This is understandable — their “tiny but mighty” software industry is constantly struggling against a shortage of tech talent and has been looking for ways to leverage its existing workforce through automation. Keep your eyes on this corner of the world.
Goldman and JP Morgan are both admired and reviled for achieving such incredible power in their industry. But they also stand testament as brave pioneers who entered this hostile and forbidding new world and returned alive with chests of gold and silver. Maybe NYC was just naive enough to dabble in these dark arts unencumbered by academic dogma and managed to leapfrog Silicon Valley in the process.