The Cost of Code That Doesn't Belong

The Cost of Code That Doesn’t Belong

I don’t care if you used ChatGPT, your own two hands, or summoned it in tongues.

But I do care if what ends up in the repo fits the system it’s entering.

When I review a PR, I’m not judging how the code got written. I’m judging whether it belongs. That means it does the job and respects the language of the project. It’s readable, changeable, and aligned with how the team has chosen to work.

And lately, I’ve started seeing contributions that raise an eyebrow.

The code is technically correct. It passes tests. It’s even well-structured. But something feels… foreign.

  • It doesn’t speak the dialect of the codebase.
  • It ignores decisions the team already made.
  • It solves problems we’ve solved elsewhere, just louder and lonelier.

That’s not innovation. That’s disconnection.


When the Code Has No Memory

  • No one on the team would write a brand-new set of utilities when we’ve had helpers in lib for years.
  • No one would create a custom error wrapper when we already have one living quietly in the service layer.
  • No one would smuggle in a class hierarchy where the whole codebase breathes functions and pure composition.

I’m not asking for creativity to be boxed in.
I’m asking for awareness, a sense that the work is part of something already alive.

Because whether the code came from your brain or from a model, if it ignores the context it’s entering, it’s not helping us move forward, it’s just fragmenting the whole.


Fast Isn’t the Goal. Fit Is.

I’m not against speed. I love momentum.

But speed without care doesn’t age well.

The goal isn’t to prompt and paste. The goal is to integrate.
Prompt better. Feed the model examples that match how we work.
Be precise. Be intentional.
It’s still your job to bridge the gap between raw output and living code.

You’re not just producing a feature. You’re shaping a system.


Tools Are Fine. Care Is Non-Negotiable.

I don’t care how the code enters your IDE. I care how it enters the system.

Use the tools. But use them with intent.
Don’t outsource judgment. Don’t trade standards for speed.
Don’t forget the why behind the patterns we’ve chosen.

Because we’re not here to ship prototypes.
We’re here to build software that stays strong under pressure, change, and time.

And that still takes human care — even if the first draft didn’t come from your hands.