Don’t Play It Like the Flute An Article by Matthias Ott matthiasott.com Don’t play it like the flute. Play it as if it was the wind whistling through the desert dunes. No matter what you love to create, there is something to be learned from the way Hans Zimmer approached the Dune score. We are all striving to create work that is novel, innovative, memorable, and inspiring. To get there, however, we tend to focus on getting things right, on avoiding mistakes, on “being professional”. Yes, it is important to have the commitment, dedication, and attention to detail of a professional. But being right? That will only take you so far. What is much more important is to approach the problem in front of you with curiosity and an open mind. With an urge to explore what can be found beyond the ordinary, beyond the right way of doing things. If you want to create something that nobody has come up with yet, it is important that you try out all the crazy ideas others are afraid to try, that you build prototypes, improvise, and freely play with the materials and the technologies you have at hand. musiccreativitynoveltyexplorationcuriosity
Painting With the Web An Article by Matthias Ott matthiasott.com So much about [Gerhard Richter's painting process] reminds me of designing and building for the Web: The unpredictability, the peculiarities of the material, the improvisation, the bugs, the happy accidents. There is one crucial difference, though. By using static wireframes and static layouts, by separating design and development, we are often limiting our ability to have that creative dialogue with the Web and its materials. We are limiting our potential for playful exploration and for creating surprising and novel solutions. And, most importantly, we are limiting our ability to make conscious, well-informed decisions going forward. By adding more and more layers of abstraction, we are breaking the feedback loop of the creative process. A constant dialogueConstant reflection and refinement How do you know when your paintings are finished?Designing with code artwwwcreativityprocesscode
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