I published a text (in Norwegian) I was happy with on Wednesday last week, with totally unexpected consequences. I think I’ve had writer’s block without noticing, and now the floodgates are open. Words churning in my head made it hard to get out of the shower, a conflict between the space of the thoughts in my head and not crashing into furniture.
Do the simplest thing possible. In technology, in product, in life.
That’s it! Now you can stop reading.
Or not. Keep reading if you’re interested in keeping technology simple, and what happened in the shower. Three events crashed into each other, becoming one. In the fall of 2020, I was paring on an Elm codebase with Oddmund. I was planning ahead, preparing the code for changes to come. Oddmund asked “Why not change the code when the changes come?”.
In September 2024, I attended Heart of Clojure. Loved the conference. I attended a workshop on application.garden. Application.garden is the simplest hosting platform for Clojure (my claim). The workshop was about writing a simplest possible web app that does something reasonable. One of Jack Rusher’s remarks stuck with me: “You might as well try to do the simplest thing possible when you’re starting out. Complexity will come for you soon enough.”
The last three weeks, I’ve had the opportunity to pair with Christian Johansen and Magnar Sveen. Christian and Magnar practice pair programming, continuous delivery and testing rigorously. Commits rarely live on a developer’s machine for more than a couple of hours before being rolled into production. With that workflow, I have no choice. I cannot write a pile of code that plans for the future in interesting ways. Those plans would paint a partial image of the future and the present, and confuse other developers who are reading my code. Also, it breaks our “social-processional coding contract”: new concepts shall be introduced in pair programming sessions, not in isolation.
Do the simplest thing possible. In technology, in product, in life.
Teodor, 2024-11-03