In praise of pastiche An Essay by Samuel Hughes www.worksinprogress.co So: it is perfectly true that contemporary traditional architecture tends to be structurally dishonest. But traditional architecture has always tended to be structurally dishonest. So if this is what makes contemporary traditional architecture pastiche, then most traditional architecture has been pastiche since the faux timbering of the Parthenon. Contemporary traditional architects have most of the great builders of our history as their companions in guilt. architecturetraditionmaterial
Against the survival of the prettiest An Essay by Samuel Hughes www.worksinprogress.co What has emerged here is that although survivorship bias probably does contribute to that to some extent, it is not the main explanation: premodern buildings may on average have been a bit less beautiful than those that have survived, but they still seem to have been ugly far less often than recent buildings are. The survivorship theory sought to explain the apparent rise of ugliness in terms of a bias in the sample of buildings we are observing. There is another kind of bias theory, which seeks to explain it in terms of a bias in the observer, saying for instance that every generation is disposed to find recent buildings uglier than older ones, and that this is why recent buildings seem so to us. This is a complex and interesting idea, which I am not going to assess on this occasion. Suppose, though, that our eyes are to be trusted. If this is so, strange and eerie truths rise before us: that ugly buildings were once rare, that the ‘uglification of the world’ is real and that it is happening all around us. urbanismarchitecturebeauty
Deadlines are bullshit An Article contrariantruth.substack.com 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 deadlinesWhy are internal deadlines evil?Engineers who love their work Hofstadter's LawThe Thing-deadline calculusNever enough timeDriving engineers to an arbitrary date is a value destroying mistake bureaucracysoftwareprocesswork
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. Building is never a straight line