SRE NEWSLETTER

Issue #9 // January 8, 2021

What I’ve Learned in 45 Years in the Software Industry
// bti360.com
Joel Goldberg recently retired after working in the software industry for over four decades. When he left he shared with our team some of the lessons he learned over his career.
Leading through Better Value Sooner Safer Happier
// itrevolution.com
Gene Kim Interviews Jonathan Smart, author of Sooner Safer Happier, a book about antipatterns and patterns for business agility.
Become A DevOps Engineer in 2021: A Comprehensive Guide
// devopscube.com
One common question is, “How to become a DevOps engineer?” Organizations trying to achieve DevOps requires people with collaborative skills, willing to change and adopt new technologies, a good understanding of systems, automation tools, CI tools, Version control systems, networking, experience in using project management tools, etc. that are required for getting an app into production.
Dockerfile Best Practices
// github.com
Writing production-worthy Dockerfiles is not as simple as you would imagine. Most Docker images in the wild fail here, and even professionals often get this wrong. This repository has best-practices for writing Dockerfiles that @slimsag has learned over the years both from his personal projects and from his work @sourcegraph.
Code Age vs Time to Recall
// notoriousbfg.com
One common developer bias is that old code is bad. The reason old code is often seen this way is because it takes longer to remember. Developers yearn for clarity but if they're not immediately able to recall under what circumstances some code was written (in a few seconds or less), they only see ambiguity.
Designing Engineering Organizations
// jacobian.org
How should you structure a larger engineering organization, one with dozens (or hundreds) of engineers? There are many tradeoffs to consider, and no single right answer. But, there are some structures that work better than others. The most effective teams are stable, multi-disciplinary, aligned to product delivery.
Understanding Connections & Pools
// sudhir.io
What connections are, how they affect our systems, and how and why pooling works—with notes on how popular applications servers and databases handle connections.
Load Testing is Hard, and The Tools Are Not Great. But Why?
// ntietz.com
If you want to see whether or not your application can handle scale, just generate scale and see if it can handle it! It sounds straightforward enough. Nicholas Tietz-Sokolsky explains why it's not so simple.
SolarWinds: The More We Learn, the Worse it Looks
// zdnet.com
Russia, we now know, used SolarWinds' hacked program to infiltrate at least 18,000 government and private networks. The data within these networks, user IDs, passwords, financial records, source code, you name it, can be presumed now to be in the hands of Russian intelligence agents.
Automated Combinatorial Testing for Software
// csrc.nist.gov
Combinatorial methods can reduce costs for software testing significantly. They may also be one of the few practical approaches for assurance in AI and machine learning, especially for autonomous systems, where many conventional methods cannot be used.