Similar to Neil Gaiman’s remarks about a fountain pen and writing there are ways that enhance the feeling of a craft.
- A mechanical keyboard improves the typing experience with satisfying tactile feedback
- Fast feedback loop of making a code change and observing the result
- Tools for refactoring
- A REPL that let’s you grow your program
- Debug tools that let you better understand what’s going on
The sum of the tools (hardware and software) used while writing code is the hand feel. We don’t spend enough time thinking about the hand feel and often view it through the utilitarian lens.
What’s the fountain pen for enterprise software? Green field projects?
Links to this note
The way I write more is by doing it every day. I write first thing in the morning (journaling and note taking) and publishing my notes (like this one). For work, I write product briefs to clarify the situation, my interpretation of the facts, and what we should do about it. I write memos for the team for anything important. I write investor updates. I do it without thinking—even when drafting a tricky email I’ll write it out to understand what I’m trying to do.
In frontend development, a component-driven workflow is a way of building websites and applications by breaking down the UI into smaller components and iterating on them independently and composing them together. This has been popularized by Storybook.js where you write stories around components to make a faster feedback loop compared to loading the whole application (and data) every time.
Typing on a mechanical keyboard is like writing with a fountain pen. It’s completely unnecessary (many alternatives are good enough), but lends itself to a much more pleasing experience. As such, switching to a mechanical keyboard is an underrated way to improve productivity.
Emacs can be customized to create a beautiful, focused writing environment akin to Ulysses, iA Writer, Bear, or other minimalist markdown editors.