Every engineer has met a cursed codebase. The file nobody edits without a small prayer. The function with a comment that says "DO NOT TOUCH" and no explanation of why. The module that works, mysteriously, and would apparently stop working if you looked at it too hard.

Japan has these too. The difference is age and scale. A lot of the systems quietly running this country — banks, insurers, government, manufacturing — were built in an era when the people who wrote them expected to maintain them until retirement. Some of those people have now retired. The systems have not.

I've spent about two decades as an engineer here, and my time has been split between two worlds. A lot of it has been new development — the kind of project where you get to make the mess yourself. But I've also worked inside the old systems, and the two feel nothing alike. Building something new is engineering. Working in a decades-old system is closer to archaeology: you're not writing software so much as excavating it, one layer at a time, trying to reconstruct the intentions of people you'll never meet.

The strata

Open an old Japanese enterprise system and you can read its history like sediment.