Ask HN: How do you enforce coding best practices?
Over the course of my career as a software engineer I've become a bigger and bigger proponent of using automated tooling—linters, static security scanners, tools that check database migrations for safety, etc.—in our CI system to enforce best practices and reduce risk.
But I'm wondering whether these solutions amount to a "local maximum." Is running a handful of checks in CI (and maybe in git commit hooks as well) the best we can do, or are their other approaches that you've used successfully? What do FAAMNG do? Code reviews during a pull request with a team that cares about quality. Stricter languages has been crucial for me. Static analysis and linting have limitations that compilers don't.