How your systems shape your values.
How your systems shape your values.
•
June 19, 2025
•
Read time
As someone who has spent decades building systems and observing how teams work, I've come to understand that software is never just software. It is anthropology in action: a living record of what an organization truly believes, far beyond what its handbooks declare. If you want to understand a company's unwritten rules, study its codebase. The choices embedded there reveal more about cultural priorities than any all-hands presentation ever could.
Internal tools function as silent teachers. Every day, they instruct developers in unspoken lessons about what matters. A poorly designed deployment process that engineers must navigate like an obstacle course doesn't merely waste time, it teaches that developer experience is negotiable. A test suite that's treated as an afterthought rather than a first-class citizen demonstrates that quality is something we pretend to value more than we actually do.
These systems shape behavior through repetition and reinforcement. When new engineers join a team, they don't learn the culture from orientation slides. They learn it by interacting with the tools they use daily. The friction points they encounter, the workarounds they're shown, the "that's just how we do it" explanations. These are the real onboarding materials.
What we call technical debt is often cultural debt in disguise. That tangled authorization module from three years ago? It's not just poorly written code. It's a fossilized remnant of how the organization thought about permissions at a particular moment in its history. The abandoned prototype that somehow made it into production? That's a lesson in what the team considered "good enough" under pressure.
As these decisions accumulate, they form layers of sedimentary rock in the codebase. Future developers will excavate them like archaeologists, reading in their patterns the story of what the organization valued at different points in its evolution. The most revealing artifacts aren't the elegant abstractions, they're the quick fixes that never got replaced, the compromises that became permanent.
Defaults have extraordinary staying power because they benefit from inertia. That configuration format we chose because it was easy to implement in 2018? It's still shaping how we store data today. The naming conventions we established when the team was small? They're now teaching hundreds of developers how to think about our domain model.
This persistence gives technical decisions an almost moral dimension. The systems we build today will outlive our tenure at the company, quietly influencing people we'll never meet. When we take shortcuts, we're not just making our own lives easier, we're creating future constraints that others will have to navigate.
The challenge (and opportunity) lies in recognizing that every technical decision carries cultural weight. This doesn't mean moving slowly or demanding perfection. It means developing habits of mindfulness:
The most powerful statements about our values aren't made in meetings or memos. They're written in the patterns we bake into our systems, in the quality we demand for our own tools, in the time we take to do things properly even when no one is watching.
In the end, culture isn't what we say we believe. It's what our code reveals we actually believe. And that truth, embedded in systems and tools, is far more enduring than any declaration of principles.
How AI systems built without fast and visible feedback loops confuse users and misguide decisions.