|
|
|
|
|
by davedx
2842 days ago
|
|
I agree with this, and I think software quality is like security. Multiple layers are better, and orthogonal layers are even better still. A good logging system is a great example. To be effective, your logging should be going into something like Kibana or Grafana or both. Logging levels should be correct. Errors should be easily visible and have useful stack traces; all other noise should be easily filtered out. Alerting should be in place for any crashes, ideally going directly into a bug tracking system. (Sentry.io has a nice story for this on the front end). This ties in well with the "let it crash" philosophy. You just cannot anticipate all the crazy inputs that will go into the typical software system of today. You can't. Most systems I work with have multiple external dependencies, each with their own schemas, data workflows, deployment processes and so on. Unit testing won't be as valuable with that stuff. Full end-to-end testing will be more useful. Look at all your options as a whole and allocate developer resources according to the value of each. And personally, I don't think the OkCupid model is as bad as it sounds... ;) |
|