Alan Jacobs
revisiting architectural blogging
Makers and Making
An Article by Alan JacobsThe [Silmarils] are good; their making was at least potentially innocent; but afterward arose a lust for owning and controlling that led to great tragedy… The aspect of humanity which the elves represent most fully – both for good and ill – is the creative one.”
And this is why “making” in and of itself is not the answer to our decadent moment. “Love of things, especially artificial things, could be seen as the besetting sin of modern civilisation, and in a way a new one, not quite Avarice and not quite Pride, but somehow attached to both” – and this is the Fëanor Temptation. It is in light of this temptation that I advocate repair, which is a mode of caring for what we have not made, but rather what we have inherited. We will not be saved by the making of artifacts — or from the repair of them, either; but the imperative of repair has these salutary effects: it reminds us of our debt to those who came before us and of the fragility of human constructs.
Against Canvas
An Article by Alan JacobsEven with all the features and plugins, Canvas presumes certain ways of organizing classes that might not be universal, just typical. And if (like me) you’re an atypical user, you have to choose between constantly fighting with the system or gradually doing more and more things the way Canvas wants you to do them. This, by the way, is why it’s never true to say that technologies are neutral and what matters is how you use them: every technology without exception has affordances, certain actions that it makes easy, and other actions that it makes difficult or impossible. A technology whose affordances run contrary to your convictions can rob you of your independence — and any technology deployed on the scale of Canvas will inevitably do that. It will turn every teacher into an obedient Canvas-user. I don’t want to be an obedient Canvas-user.
But we're not there
A Fragment by Alan JacobsGet your fucking hands up
Get on out of your seats
All eyes on me, all eyes on me...But we’re not there. There’s a cheering-audience soundtrack, but it’s fake, Burnham knows it’s fake, he’s the one who put it there. He doesn’t know whether we’re watching, whether our hands are up, whether all eyes are on him.
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.