A primary motivation for creating my Stream was the paralysing sense that a blog post needed appropriate length and weight. Since switching to Kirby, there’s relatively little friction to posting, but there’s definite friction in evaluating a post’s worth to the reader. I’d think to myself, “I’d like to write something about that, but I’ll have to come up with all sorts of extra stuff and dressing, and it’ll take all afternoon.”
And so, I was increasingly aware that I was letting many interesting or essential thoughts go undocumented, allowing them to drift from memory, or exist only on social media, likely to one day evaporate. I’ve become more and more interested in the human desire to document, and it’s something I’ve always valued, so I needed to find a solution that I could entirely control and own. That solution was my Stream.
There was a time when owning digital space seemed thrilling, and our personal sites motivated us to express ourselves. There are signs of a resurgence, but too few wish to make their digital house a home.
I’ve shaped this timeline over five months. It might look simple, but it most definitely was not. I liken it to chipping away at a block of marble, or the slow process of evolving a painting, or constructing a poem; endless edits, questions, doubling back, doubts. It was so good to have something meaty to get stuck into, but sometimes it was awful, and many times I considered throwing it away. Overall it was challenging, fun, and worth the effort.
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.
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.
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.