Celebrating the nature of repaired software.

May 28, 2020
Ryan Findley, Principal
Philadelphia, PA
"Kintsugi is the centuries-old Japanese art of fixing broken pottery. Rather than rejoin ceramic pieces with a camouflaged adhesive, the Kintsugi technique employs a special tree sap lacquer dusted with powdered gold, silver, or platinum. Once completed, beautiful seams of gold glint in the conspicuous cracks of ceramic wares, giving a one-of-a-kind appearance to each “repaired” piece.

This unique method celebrates each artifact’s unique history by emphasizing its fractures and breaks instead of hiding or disguising them. In fact, Kintsugi often makes the repaired piece even more beautiful than the original, revitalizing it with a new look and giving it a second life.

While Kintsugi’s origins aren’t entirely clear, historians believe that it dates back to the late 15th century. According to legend, the craft commenced when Japanese shogun Ashikaga Yoshimasa sent a cracked chawan—or  tea bowl—back to China to undergo repairs. Upon its return, Yoshimasa was displeased to find that it had been mended with unsightly metal staples. This motivated contemporary craftsmen to find an alternative, aesthetically pleasing method of repair, and Kintsugi was born."

— Kelly Richman-Abdou, My Modern Met

Software applications tend to be “beautiful and clean” before they’ve been used. After interacting with the real world, they can become messy as all the edge cases, and the ugliness of reality is reflected in the codebase. Reality’s affordances get messy. At this point, a developer may conclude that the codebase has become a “legacy application,” meaning they’re unwilling or unable to make changes to it without considerable risk or cost.

A codebase that has been refactored, or “repaired” after interacting with the real world has the opportunity to be both beautiful/simple/easy to understand and correct/useful/resilient/performant. Starting from scratch repeatedly is akin to throwing away all of the wisdom accumulated in your codebase, only to make the same mistakes again.

Many teams can be intimidated or disinterested in refactoring because they may feel a responsibility to keep building features and adding new customer value. If an application has been neglected, the perceived amount of refactoring can be humongous.

Using modern tools like version control, continuous integration, containers, and plain old good written communication, it can be relatively straight-forward to gain confidence in the existing codebase, and continually/gradually improve things through the “Scout rule” (Leave your code better than you found it).

All it takes is someone to be “displeased to find that it had been mended with unsightly metal staples” and act on that.

Recent Blog Posts

September 20, 2023
Sustainable Development: A Path for Apps and Developers
In the world of app development, sustainability means creating software that not only solves today's challenges but is also designed to adapt and evolve, efficiently facing future needs. Whether you’re a developer or a project manager, consider this your friendly guide to building software that lasts—without wearing out your team in the process.
August 21, 2023
Job Hunting 101: A Guide for Frustrated Ruby On Rails Job Seekers
Are you a seasoned Ruby on Rails developer struggling to land your dream job? Or worse, any job at all? Applying to cold jobs across many industries is a nightmare right now. Maybe you’ve fired off rounds of applications each day, with only a few resulting in an interview that ultimately leads to nowhere. Or, you’ve spent hours applying to jobs that you’re qualified for, but you never even hear back.
July 6, 2023
Ruby on Rails: A Path to Sustainability for Apps and Developers
Ruby on Rails is a sustainable choice for both app development and developers. This open-source web application framework is renowned for its simplicity and flexibility, enabling the swift creation of robust applications.
May 18, 2023
The Scammer's Playbook: AI, Voice Cloning, and the Timeless Art of Deception
As AI continues to evolve, so too does the concern that we'll be effortlessly swindled out of our personal and financial information by cyber tricksters armed with voice cloning technology.