Just Fucking Use Standards.
If a standard exists and you ignored it, you didn’t innovate.
You volunteered to maintain infrastructure forever.
Congratulations on your new hobby: compatibility.
Not “because ours is different.”
Not “because it’s cleaner.”
Not “because it’s fun.”
The Standard Problem (and the Standard Outcome)
Because “the existing standard is messy,” and you are allergic to history.
Because nobody has tried to integrate it yet. Reality hasn’t arrived.
Now you write adapters, SDKs, docs, migrations, and apology posts.
But without the committees, rigor, or time. Just vibes and deadlines.
They are the price of interoperability — and they’re cheaper than your custom bullshit.
“But Standards Are Ugly” (Yes. That’s the point.)
Standards are ugly because they survived: differing requirements, old decisions, weird edge cases, and the fact that humans keep doing human things.
Stop Inventing These
Here’s the list of things engineers keep reinventing because they crave suffering:
| Thing people invent | Use instead | Why |
|---|---|---|
| Custom “API style” | HTTP + REST-ish conventions | Works with everything. Debuggable with curl. Your future self says thanks. |
| Custom auth headers / tokens | OAuth2/OIDC, signed JWTs (when appropriate) | There are libraries, docs, and prior art. Don’t invent crypto in a sprint. |
| Custom time formats | ISO-8601 timestamps, UTC | Time is already hard. Don’t add “creative.” |
| Custom IDs | UUID/ULID (pick one) | They exist. They work. Nobody wants to parse your “friendly ID” scheme. |
| Custom config formats | TOML/YAML/JSON (and document it) | Stop inventing DSLs because you discovered parsing. |
| Custom data export “spec” | CSV/JSON Lines + documented schema | Every tool can read it. Your partners won’t hate you (as much). |
Choose Your Excuse (tap to expand)
“But our use-case is unique.”
Your use-case is “users and data.” You are not a new species. If you truly are unique, write down what’s unique and why the standard fails — with examples. If you can’t, you’re not unique. You’re just excited.
“But the standard is too heavy.”
You know what’s heavier? Maintaining your own standard. Plus: migration docs, client libraries, versioning, backwards compatibility, and endless support questions.
“But it’s faster if we do our own.”
Yes — for week one. Then you pay interest forever. You didn’t choose speed. You chose debt with a smug interest rate.
“But we want a better developer experience.”
Great. Build tooling around the standard. Don’t replace the standard with your feelings.
“But it’s cleaner.”
It’s clean because it doesn’t do anything yet. Standards are messy because they do the job in the real world.
A Tiny Test: Are You About To Create Permanent Work?
If your proposal requires writing “a spec,” you are one step away from becoming a full-time maintainer.
If your proposal requires version negotiation, you are already screwed.
Compatibility Tax (the invoice you’re about to receive)
Invoice: Custom Standard™ (Recurring)
- Adapters for every client language you don't use
- Backwards compatibility for versions you regret
- Documentation drift
- Migrations forever
- Security review for your “simple auth”
- The partner integration that breaks your assumptions
- The one customer with legacy systems from 2004
- On-call for your “spec”
Just fucking use standards.