122 karma · joined February 24, 2012
Most of my knowledge is useless or irrelevant, so taking the time to document this knowledge is a waste of time. 90% of writing a document is understanding your audience and "document your knowledge" misses that point. Littering documents and code with various tidbits is also not very helpful and probably not worth anyone's time.
Documenting long term plans is also pretty useless. Realistically, anything past 30 days is not going to happen. Documenting your strategy and decision making process may be useful, but your idealistic plans? Probably not unless it's just a few bullet points.
The most important documentation is usually the "why?", which ideally should be written before the project starts. Documentation outside of the scope of in-flight projects (which 1 & 2 seem to be encouraging) are not as important as they can be discovered with a tiny bit of effort.
I generally don't bother looking at master/main for code changes unless there's something I'm looking for specifically. I set up CODEOWNERS so that teams get notified when their files are changed in PRs - this is how I get notified of potential changes to files that I care about.
We send all monitor metrics to DataDog. When a monitor fails, the appropriate teams will get a Slack notification with the full stack trace. A DataDog monitor will also be triggered, alerting the appropriate teams.
For browser monitors, we upload screenshots and Puppeteer tracing files to S3, then share links within each Slack hook. This allows people to figure out what's going on just by clicking links in Slack.
We were planning to improve this setup in the future, but it's good enough for us right now. For example, CircleCI goes degrades frequently so we sometimes get spotty coverage. We basically spend < $200/month with CircleCI to monitor about 300 APIs/pages every minute.
You can read more here:
- https://engineering.dollarshaveclub.com/monitor-all-the-thin...
- https://circleci.com/blog/how-dollar-shave-club-3x-d-velocit...
https://github.com/koajs/compose/pull/27#issuecomment-144868...
I also stopped using this as you could just use babel to automatically use whichever polyfill you use with babel-runtime. Saving a few kb is an overoptimization.
If you're interested in maintaining this project, let me know. I can add you to the GitHub organization.
I don't and wouldn't even really use it anyways. Easier to just follow semver and bump minor instead of patch if there's a remote possibility of anything breaking
i.e. you're no longer mounting the router on top of another kernel.