Optimism
Unsurprisingly, I’ve been thinking about engineering a lot recently.
Words are a tricky thing, many people think they have stable definitions. Many people think that when you say a word, you are transmitting information directly from your head into someone else’s. Anyone who has thought about this for any amount of time knows that this is childish.
Knowing that, I’ve been wondering what I mean when I say engineering. It’s an important word to me, a big word. What does it mean?
It’s got at least something to do with the scientific method. A simple definition might go engineering is the application of the scientific method to practical problems. This isn’t at all a bad place to start. With this one can identify if what one is doing is engineering. Do we have an expressible theory? Have we exhaustively tested your theory? Does our theory hold up in every given context? Can we make and verify predictions based on our theory? This is good stuff!
I certainly want to be an engineer in this sense, but that doesn’t mean I believe it that is is the only way to create engines, it would be ridiculous to think that as there are obvious counterexamples. This is remarkably frustrating, what do you mean engineering isn’t defined as work related to the upkeep of engines? You’re contradicting yourself at an etymological level!
Yes I am, language is frustrating, although it should be said that neither engine nor engineering actually derive their roots from any notion of motion or automation or system of change. They come from the Latin ingenium meaning innate quality, ability or inborn character.
I don’t want to talk too much about software engineering specifically today, but just briefly, this sort of scientific approach rarely what is going on in software shops. It’s not even so much that people are doing bad engineering, it’s that we make very little attempt to do science at all. So many young developers go through their careers never having been exposed to an intentional, methodological way of production, and are more and more being trained out of it explicitly.
What we have now, as represented by the scrum industrial complex, is not-engineering.
You can recognize not-engineering by how no one individual holds a vision. Our faith is not in people, but in process. If we keep running the cycle, we will eventually, inevitably, converge on a good enough solution. You do not need ingenium to be a part of this system, having unique qualities is even undesirable as it can gum up the works. You merely need to be able to take input and produce output of any form, so long as it is of a homogeneous enough form such that it can be fed through the machine, much like a farm animal.
Sprint by sprint, QA pass by QA pass, PRD by PRD, we converge, forever and ever we converge towards something that represents value.
This is dehumanizing, heck, it’s classical labour alienation. Engineering is something that is uniquely human, you need that slow, individual mode of thinking to be able to do it at all. Primates may be able to write Shakespeare, but they cannot do engineering.
Evolution, convergence, that is the power of the animal kingdom, and that is just as much our heritage as any sort of consciousness based human endeavour. I do not dismiss it, but I do not hold it in esteem. There is power in animalism, but nobility can only be found in humanity.
Harnessing and benefiting from the power of nature has always been part of being human, both in terms of exploiting the nature we find around us, and exploiting the animal parts of ourselves. A lot of our really fundamental systems are built on this concept, language being a prime example. Language wasn’t designed, it evolved, and as such is messy, imprecise, unpredictable, and so staggeringly powerful it’s almost impossible to imagine any alternate way of concepting. Shouldn’t we copy this natural power in every arena? This ability to stochastically reach a working solution without the need for explicit design or intent?
Perhaps, perhaps not. My mind goes immediately to economics. Modern capitalist ideology, or at least what remains of it, can be thought of as a blind trust, faith even, in this principle. No matter how absurd or ill-designed the system might seem, there is simply no force other than a distributed, incentive based agent model that can co-ordinate such a complicated network of actors. We just have to let it run, and trust in the invisible hand of convergence.
I of course reject this, but I don’t do it glibly. These sorts of systems are powerful, and I do think suitable for certain applications in controlled domains. However, they have externalities. Unpredictable externalities, sometimes abhorrent, evil externalities. In an utter failure of imagination, the tech-bro futurist will shrug, asserting that this is regrettable, but inevitable, there is simply no other way.
When we are not doing engineering, we cannot predict what these externalities might be. Therefore, we, as a society, cannot give informed consent. Don’t get me wrong, doing this sort of consequence-free exploration in a constrained domain is often a great thing to be doing, it sometimes pays unexpected dividends. However, today’s corporations are shamefully betting entire societies on this unpredictable method, out of a compulsive, animalistic need to chase an ever greater high.
It is curious that the fatalistic need to run the machine only applies when the negative externalities hurt normal people. It’s no surprise, the innocent are always the ones chosen to be the regrettable, but necessary, sacrifices. Somehow, the commanders of the stochastic creational machinery are always great, important men, those with ingenium, the exception. Grok would sacrifice up to half of all humanity to save Elon Musk, merely because he is so essential. The contradiction is obvious and sad.
I still have faith, yes, faith, in a better way. A way that is more human and less animal, a way that doesn’t accept that it is acceptable to throw scores of individuals to the wolves simply due to a need for statistical churn. To hold faith in engineering is to hold faith in humans being more than animals, to believe in trade-offs with demonstrably more positives than negatives, with acceptable externalities, and thus to believe that the long arc of history can be assured to be a positive one.
It is to make a choice to be more today than we were yesterday, in a way that rejects blasé materialism in favour of a transcendental humanism.
Optimism, thy name is engineer.


