Curated Content: January 2021
A few pieces of content I thought were worthwhile in the month of January.
- Minimize Team Cognitive Load to Increase Flow
Things to be thinking about in order to minimize the mental burden on your team to allow them to work faster and deliver higher quality output, but emphasizing a smooth flow.
- Are We Really Engineers?
For anyone in software who has struggled with asking themselves the question, or answering the question "Are we actually engineers?" whether you're delivering web apps, medical device software, or anything in between, the author provides some pretty compelling evidence that the gap is mostly one of perception, rather than reality, and that there is a lot we can learn and teach older engineering disciplines.
- On Pair Programming
A great article talking about some of the why behind pair programming, and how it may be beneficial for your organization. Not something I've adopted fully, but something that I utilize a lot, and strongly encourage.
The New Economics - by W. Edwards Deming.
A book largely about how competition is the direct cause of a lot of fear and dysfunction in many organizations. It's on the more academic end of reading material, but I think it's something all leaders should read and consider, even if in the end you end up believing that the core of the author's argument is wrong. One thing I struggled a bit with is throughout the book the ideas are presented in a light that comes off as unfalsifiable, which I find off-putting. That said, I found it worthwhile all the same, as the supporting research seems credible.
- How Elixir Releases and Clustering Lowers Complexity
I'm biased, as this is one of the great engineers at Savi. But in this talk we discuss how easy Elixir makes it to have a huge set of servers and edge devices working together.
- Scaling Erlang Cluster to 10,000 Nodes
This one I don't have a hand in, but is one that we've been learning from at Savi, in order to inform some of our more interesting infrastructure work.
One of the things I learned from @KentBeck years ago was to see cohesion in terms of divergent change rates. If you have a class and there's a set of methods that you tend to change together while leaving others alone, that set of methods could be a separate responsibility.— Michael Feathers (@mfeathers) January 16, 2021
This thread from Michael Feathers was great way to think about potential seams where you can divide code/modules/classes/services.