A short guide to environment configuration
It is rarely the thing that gets a project approved, and often the thing that decides how it goes. Everything we would tell a client about environment configuration in the time it takes to drink a coffee.
Code gets read far more often than it gets written, and usually by someone with less context than the author had. The failure mode is not doing it wrong, it is doing it once and assuming it stays done.
What it costs to ignore
Secrets belong in the environment, never in the repository. Getting it slightly wrong is survivable. Ignoring it entirely is not. It is the sort of thing that looks like polish right up until it costs you an enquiry.
What good looks like
Development and production should differ only in configuration. None of that requires a large budget, only a decision and someone to own it. Anything you cannot measure here, you are deciding by taste, which is fine as long as everyone knows it.
Where it usually goes wrong
Document every variable a new developer needs. There is a version of this that is over-engineered, and it is worth avoiding. The teams that stay on top of it are the ones who put it on a calendar rather than a wish list.
What this looks like day to day
Most development decisions are really maintenance decisions wearing a different hat. Three things worth confirming about environment configuration before you move on:
- Someone can say what the current setup is without going to look
- Document every variable a new developer needs — and you know whether that is true here
- There is a way to tell whether the last change to this helped
Pick the one that would hurt most if it failed, and start there.