Chefs & Software Engineers: What Do They Have in Common?
A few weeks ago I watched Jiro Dreams of Sushi on Netflix, and I was very inspired by the story of Jiro Ono – an 89 year old sushi master from Tokyo considered as the greatest sushi craftsman alive. He owns Sukiyabashi Jiro: a three-Michelin-starred Japanese sushi restaurant based in Tokyo, Japan.
Jiro shows consistently his passion throughout the documentary. He wakes up early morning and goes to his restaurant with the intention to work harder and perform better than ever before, even though he’s been already recognised worldwide. In his own words, he says “All I want to do is make better Sushi” and he does it with the spirit of a Shokunin.
“The Japanese word shokunin is defined by both Japanese and Japanese-English dictionaries as ‘craftsman’ or ‘artisan,’ but such a literal description does not fully express the deeper meaning. The Japanese apprentice is taught that shokunin means not only having technical skills but also implies an attitude and social consciousness. … The shokunin has a social obligation to work his/her best for the general welfare of the people. This obligation is both spiritual and material, in that no matter what it is, the shokunin’s responsibility is to fulfill the requirement.” — Tasio Orate.
Five Attributes of Craftsmanship That Define Great Engineers
In the film it is mentioned that a great chef constantly shows 5 attributes. After I listened to them, I couldn’t help drawing a comparison between the craftsmanship displayed by Jiro and his team and the one demonstrated by the dedicated and highly professional software engineers that I’ve met. These parallels reveal a universal truth about excellence in any craft, whether you’re preparing sushi or building software systems.
1. Excellence as a Standard, Not an Exception
They take their work very seriously and consistently perform at the highest level. For a software engineer, this means writing code that not only works but is maintainable, scalable, and elegant. It’s about treating every feature, every function, every line of code as if it matters – because it does. Just as Jiro approaches each piece of sushi with the same dedication whether it’s for a first-time visitor or a returning patron, great engineers maintain their standards regardless of the perceived importance of the task.
2. The Relentless Pursuit of Improvement
They aspire to improve their skills. A good software engineer, as well as a chef, never stays away from new techniques, ingredients and trends. The technology landscape evolves rapidly, and staying relevant means embracing continuous learning. Whether it’s mastering a new framework, understanding emerging architectural patterns, or simply refining existing skills, the commitment to growth is what separates good engineers from great ones. This isn’t about chasing every shiny new tool, but about deliberately expanding your capabilities to serve your craft better.
3. The Environment Matters
Cleanliness. The food is not going to taste good if the restaurant is not clean. In the same way, software engineers won’t be able to thrive in a dirty environment, full of bad practices, poor code quality or with lack of a delivery mindset. A clean codebase, well-documented processes, robust testing practices, and a culture that values quality – these are the foundations upon which great software is built. When technical debt accumulates and shortcuts become the norm, even talented engineers struggle to produce their best work.
4. The Productive Stubbornness of Masters
Impatience. They are stubborn and insist on having things their own way. Good software engineers are eager to deliver their code (but also they can wait, in order to do the right thing). This might seem contradictory, but it’s actually about having strong convictions paired with wisdom. Great engineers push for excellence and aren’t satisfied with “good enough,” yet they also understand when compromise is necessary and when it’s worth taking extra time to do things properly. This balance between urgency and patience is crucial.
5. Passion: The Foundation of Everything
What ties these attributes together is passion. That’s what makes a great chef – that’s what makes a great software engineer too. Without genuine passion for the craft, the other attributes become merely performative. Passion is what drives you to keep learning when you’re tired, to refactor code that already works, to mentor junior developers, and to take pride in work that many users will never directly see. It’s the difference between having a job and practicing a craft.
Cultivating Your Own Shokunin Spirit
The legend of Jiro lives on to inspire an entire generation towards the principles of craftsmanship (Shokunin). It should be an inspiration for every software engineer in this world as well. The concept of shokunin reminds us that technical excellence alone isn’t enough – we must also embrace the social and ethical dimensions of our work. The code we write impacts users, businesses, and society. Approaching software development with this mindset elevates it from mere technical work to a form of service.
At Orbitant, we’ve seen how these principles manifest in the engineers we work with daily. The best teams aren’t necessarily those with the most cutting-edge tools or the largest budgets – they’re the ones where individuals embody this spirit of craftsmanship, constantly pushing themselves and each other to improve while maintaining high standards and genuine care for the quality of their work.
Do your thing just a bit better than yesterday, and do this every single day. That’s the path of the shokunin, whether you’re crafting sushi in Tokyo or building software anywhere in the world.