Start things right
This is a list of things I often trot out as things you should do from the start in a project.
It isn't polished and by no means complete but I reference it frequently.
- Linting - make it automatic
- Timezone aware dates / times everywhere, always
- Build early, build often
- Test early, test often
- Release early, release often
- Your first environment should be your test environment,
- Don't let it turn into production
- Test environments should not contain production data
- Make local dev / running / testing easy
- How do you know you aren’t sending data out of production?
- Use containers
- Use IaC / declarative infra
- Use environment variables
- Have a secrets management strategy from the start, even if you have to change it later
- Logs, where are they?
- How do you know you’re down?
- Git.Ops.
- Have a data migration plan before you need it
- Fix your fucking tests
- Don’t start with passwords; use modern, phishing resistant auth from the start
- Pin dependencies
- Automate updating dependencies