industry
Dark satanic mills
And did the Countenance Divine,
Shine forth upon our clouded hills?
And was Jerusalem builded here,
Among these dark Satanic Mills?Monumental structures
These disused gas cylinders occupy a site on the outskirts of Stockholm. For the first ten years after moving to London, the view west across the train tracks was of a similar pair of monumental structures, transfigured by every sunset. One has since been dismantled to make way for the expanding national and international railway stations.
Savage, hostile, and cruel
Some may find puzzling or distasteful the parallel I am drawing between the study of nature and the study of technology. After all, nature is good and good for you, whereas everyone knows that technology is ugly, evil, and dangerous.
A few centuries ago—say, on the American western frontier—a quite different view prevailed. Nature was seen as savage, hostile, cruel. Mountains and forests were barriers, not refuges. The lights of civilization were a comforting sight. We took our charter from the book of Genesis, which grants mankind dominion over the beasts, and felt it was both our entitlement and our duty to tame the wilderness, fell the trees, plow the land, and dam the rivers.
Infrastructure: A Guide to the Industrial Landscape
A Book by Brian HayesThe Factory Photographs
A Book by David LynchI love industry. Pipes. I love fluid and smoke. I love man-made things. I like to see people hard at work, and I like to see sludge and man-made waste.
Scales of cities, scales of software
An Article by Linus the SephistAmerican cities seem like a product of industrial processes where older European cities seem like a product of human processes. This is because most American cities were built after and alongside the car and the industrial revolution – the design of cities took into account what was easily possible, and that guided the shape and scale of everything.
Software has similar analogues. There are software codebases that feel much more industrially generated than hand written, and they’re usually written in automation-rich environments fitting into frameworks and other orchestrating code.
…But despite the availability of cars, I still much prefer the scale and ambiance of European, human-scale cities, because ultimately cities are places humans must inhabit and understand. In the same way, I still much prefer the scale and ambiance of hand-written codebases even in the presence of heavy programming tooling, because ultimately codebases are places humans must inhabit.
Age of Invention
A Series by Anton HowesI’m a historian of innovation. I write mostly about the causes of Britain’s Industrial Revolution, focusing on the lives of the individual innovators who made it happen. I’m interested in everything from the exploits of sixteenth-century alchemists to the schemes of Victorian engineers. My research explores why they became innovators, and the institutions they created to promote innovation even further.
Life-friendly design
An Article by Ralph AmmerI suggest that our industrial heritage has been an important preliminary stage. The next step is to carefully examine and implement design values that nurture our joy of life. Just like our “industrial design” illustrated our industrial values, a life-friendly design could express our biophilic values.
This optimistic design approach differs from naive nostalgia or fear of extinction. There is no way back to nature but only forward to nature.
Deadlines are bullshit
In software development deadlines are a necessary evil. It is important to understand when they are necessary, and it is important to understand why they are evil.
- External vs. internal deadlines
- Why are internal deadlines evil?
- Engineers who love their work
External vs. internal deadlines
When are deadlines necessary?
- Contractual obligations
- Technical liabilities (e.g., dependency EOL)
- Compliance, government, investors, and other external stakeholders
What do all of these deadlines have in common? They are all important. They are all deadlines that cannot be missed. They are all external.
When are deadlines evil?
- Your manager says you have a deadline
- Your software development methodology says you have deadlines
What do all of these deadlines have in common? None of them are important. They are arbitrary. They are all internal. They are all bullshit.
Why are internal deadlines evil?
- Estimation: When estimating engineering work a substantial time investment is required by an engineer in order to get an accurate estimate.
- Misaligned Incentives: There is an incentive to lie and give estimates much longer than the feature is truly expected to take.
- Low Morale: Deadlines are likely to be missed often. Repeated failure has a cost to the morale of the team.
- Micromanagement: Deadlines are wielded by middle managers as a whip to harass and annoy engineers working on features.
- High Stress: When engineers feel the pressure of other stakeholders holding deadlines over their heads it creates an environment of high stress.
- High Turnover: On teams with high turnover rates the best engineers have an easy time finding new work and leave quickly, the worst engineers have a difficult time finding work and remain. This selects for a lower quality team over time.
Engineers who love their work
The resolution is simple. Never have internal deadlines. Operate on a prioritized and ordered list of features. Estimate only when necessary to prioritize and do so in a t-shirt sizing way. Trust your engineers and they will begin to love their work. Engineers who love their work are happy and productive.