The Haiku Approach to Writing Software
Haiku is a traditional form of Japanese poetry that follows a specific set of rules. They are designed to evoke deep emotion or understanding using only three lines and a fixed number of syllables. For example:
First autumn morning
the mirror I stare into
shows my father’s face.
- Murakami Kijo
As my experience as a software engineer grows, I have found myself writing better software by approaching it as I would a haiku. Here are some of the lessons I’ve learned along the way.
Understand the constraints up front
When we build software, we must often operate within a narrow set of constraints. The constraints may include the business requirements, the technologies at our disposal, the skillset or bandwidth of the team, and the time we’re given for actually creating the software. Whether you’re writing a haiku or software, if you ignore the constraints of the project, you will have trouble producing what you set out to create. Instead of ignoring the constraints, aim to create something powerful or beautiful within them.
Start strong since early decisions can impact the final product
There’s a lot of freedom in the initial stages of a project. Many engineers approach a new project in the way a painter may approach a blank canvas. They lay down some initial, wild brush strokes in the code base with the intent to return later and add more…