There’s a thing engineers know about software systems that took me a long time to apply to people. The implementations get rewritten. The interfaces persist.
In software, you can swap a whole database engine without breaking anything that uses it, as long as the interface stays the same. You can rewrite a service from scratch. You can replace every line of code that runs underneath the call. What you cannot easily do is change the shape of the call itself, because once enough other things depend on the call’s shape, the cost of changing it grows past what anyone is willing to pay. The contracts outlive the things they were a contract for. The interface is what persists, and the implementation behind it is constantly being rewritten without anyone on the outside noticing. This is also how it works with people.
What you actually know.
Take someone you’ve known for thirty years. A spouse, a sibling, a college friend you still see. The version of them you knew at twenty-one is not in there anymore. Not exactly. The cells have turned over. The wiring has changed. Most of their opinions have been replaced with newer opinions some of which are the opposite of the originals. The kid you knew is gone in any literal sense.
What you actually know is the interface. The shape of the conversation you have with them. The kind of joke they will laugh at. The tone they use when they’re upset. The thing they always order. The angle of their shoulders when they walk into a room. The contracts between the two of you about what’s okay to bring up and what isn’t. The way they show up when you need them. The implementation underneath all of this has been quietly rewritten so many times that if you went back and met them at twenty-one with no warning, you might struggle to recognize what was the same person. But the interface is so consistent, and the contracts so stable, that you experience them as continuous.
This is not a bug. It’s how relationships actually work. We could not function if we had to re-learn each other every time the implementation drifted. The interface is the gift we give each other so that the relationship can persist while both of us are turning over.
The thing the interface hides.
Here’s the catch. The interface persists because everyone has agreed to honor it. Both parties show up to the interface in the way the other expects. The contract is maintained because it’s expensive to break. But underneath, the implementation might be changing in ways the interface hasn’t been updated to reflect.
The friend who’s still laughing at the same jokes might also be quietly depressed in a way the interface doesn’t surface, because the contract you have doesn’t include surfacing that. The spouse who still puts their shoes by the door in the same spot might be going through something internal that the daily interface has no slot for. The sibling who calls every Sunday might have moved past a version of you they’re still talking to.
The interface is what persists. The implementation is what changes. And the implementation can drift very far from what the interface promises before the interface itself breaks. This is the gentle, slightly sad version of why long marriages sometimes blow up over what looks like nothing. The nothing wasn’t nothing. It was the interface finally cracking under the weight of implementation drift that nobody had a way to talk about, because the contract didn’t include it.
What to do with this.
I don’t have a clean fix. I’m not sure there is one. The interface is doing useful work even when it’s hiding things. You couldn’t have a long relationship without it. But knowing this changes how I show up with people I’ve known for a long time.
I try to remember that the interface is a contract, and that contracts can be renegotiated. Sometimes the right move is not to talk through the interface but to say “let’s talk about what we’re not talking about.” That’s a hard sentence. It usually opens a longer conversation than the one you were going to have. It is also the only way to find out what’s been quietly rewriting itself underneath.
I also try to remember that when someone I love seems to have suddenly changed, they almost certainly didn’t suddenly change. The implementation was drifting for a long time, and what suddenly changed was that the interface stopped being able to hide it. The change isn’t the news. The news is that the contract finally caught up with what was already true. And I try to be more patient with the version of myself that other people are still talking to. Some of them are talking to a version of me that’s five years stale. They’re not wrong. They’re just using the interface I gave them. If I want them to know the newer version, I have to update the contract, which is harder and more awkward than I would like it to be, but it is something I can actually do.
The interface is the durable thing. It’s also the deceptive thing. Holding both of those at once is most of what loving someone for a long time actually consists of.