The Tao of Software Design
Issue 305: Fluent and adaptive across many disciplines
During my previous trip from San Francisco to Sydney, I watched one of my favorite films: Enter the Dragon. This film is martial art's legend Bruce Lee’s most iconic film: part martial arts showcase, spy thriller, and the expressions of his speed, charisma, and philosophy on screen. With 15 hours in the air, one film turned into a Bruce Lee marathon. Yes, I even watched the awkward posthumous Game of Death, an unfinished film assembled after his death.
Lee’s influence in cinema and martial arts is transcending, but in addition to that, his philosophy influences many people, including myself. What I keep coming back to is his philosophy applied to a craft as a practitioner. What I keep coming back to is not only the physical craft, but the way he thought about craft itself.
After his death, Lee’s work was published as a book, The Tao of Jeet Kune Do. Most of the essays were compiled from notes he wrote while recovering from a back injury. Forced away from practice, he wrote instead. Jeet Kune Do translates to “the way of the intercepting fist,” which Lee described as a styleless style: a form that assumes all forms and is bound by none.
What made it styleless was that it drew deliberately from many disciplines: Wing Chun, Western boxing, fencing, wrestling, judo, and savate, rather than committing to any single school. Lee took what worked from each and left the rest, building something that was a precursor to modern mixed martial arts before the category even existed.
The reason for that borrowing was a conviction that rigid, organized styles built on fixed forms can limit the practitioner. Lee called codified tradition “organized despair,” inherited patterns that divide practitioners into camps and stunt their growth. To him, loyalty to a style could quietly become a substitute for thinking.
The philosophy in software design
If you read Lee’s principles again with the lens with our craft in mind, it applies to any practice: martial arts, music, and even software design. Perhaps it’s the generalist and curiosity in me that’s always made the styleless style a concept that resonates with me. I’m less interested in spending time defining what design is and rather focus on what it in practice can result in. Let’s look at key teachings from Jeet Kune Do and reflect on how we can apply it to software design.
Formlessness over fixed form
We shape the tools that shape us. This is our biggest tendency; wanting a stack, process, and clear way of doing things. Mastery is critical. Bruce Lee is also the person who said, “I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times.” What’s important to hold here is excellence is applying the materials and techniques, not how you memorize using a tool. Whether it’s writing loops or drawing interfaces, do it 10,000 times. What is adaptable is how you approach getting to that outcome.
Absorb what is useful and reject the useless
Be deliberate about capturing what is valuable and throwing away what isn’t. As you develop in your craft, you will learn techniques that are absolutely sacred to retain. The craft will continue to be challenged in evolving, especially in moments such as now where there are new technological shifts. Do not fall into the trap of discourse about design being dead or how new roles or rigid. However, take the best of new innovations and apply it to your craft. Taking the best of Design Engineering as a practice doesn’t make you a Design Engineer, but you can also adapt parts of the discipline in your approach to software design; become mixed method.
Take the most economical path
The intercepting fist does not wind up. It takes the shortest line to the target. Speed and iteration are differentiators for software designers. The ability to be agile and refine lets you take the most economic path to a result or outcome. This is what Jenny Wen means by, The Design Process is Dead. The debt and excessive of it is abandoned when the ground is shifting, and the shortest path of execution becomes the most economic one.
Study the roots
When you study the roots, you understand every blossom that grows from it. For designers, the roots are the foundations that don’t change with the tool. It’s understanding the problem, mastering the material, and high control of technique that results in the desired outcome. A designer grounded in those can pick up any new tool quickly, because the tool is just a branch. A designer who only has branches is fragile the moment the branch they are standing on gets rewritten. Right now, many of them are being rewritten at once.
Applying it
As software primitives are being rewritten, this is a good time to embrace formlessness. That does not mean chasing every trend or treating every new tool as a new identity. It means keeping enough range to notice when a new practice is useful, and enough foundation to know when it is not.
Formlessness is an advantage because we do not know what the end form is for AI. The shortest path lets you learn faster without overcommitting to a shape that may not last. Some trends will be wrong, but it also might be the next default.
Be like water, my friend.




