Through the Stack: 1.27 (week 52)
This is "Through the Stack," a weekly list of links relating to topics relevant to Lead developers (actual or aspiring) working with an internet-related product.
Many lead developers, tech lead, and staff engineers have their hands in many projects and influence many layers in their organizations. This publication aims to share relevant thoughts and content to such profiles.
If you have comments or content to suggest, please reach out to us by email through-the-stack@imfiny.com.
Edito
This is the last episode of the year. So I decided to go through all 26 episodes and share a few links of each, links that I really found interesting through the year and kept in mind.
This is a long read. You have been warned.
As with any project, this one has seen highs and lows through the year but we did get to a full year of publication. 26 episodes for 52 weeks! That's an average of 1 episode every two weeks.
I hope you find this episode interesting too and that it might possibly motivate you to subscribe (see blue button in the lower right corner) or follow the RSS feed.
Have a good read, take care.
Software engineering
We kick started the year with a first episode in January and from then a few great posts have crossed the screen.
An article about contract testing was among the first listed. The approach is a classic but not always known by teams. Still that's a great way to consider building services relying on each other or on external ones.
Ruby has always been present throughout the year with different articles. Shopify has been very active in the Ruby community in the last few years and 2022 was marked with quite a few great posts from their blog. One was about dependency confusion in ruby applications another was on their investment in Ruby at scale (ep 13).
- There has been a lot of talk about JS SPAs and Ruby on Rails including a post from Matz.
- A list of great libraries to use with Ruby.
- How to get started with Ruby.
- Dockerizing Ruby on Rails applications (Ep 14)
- Breaking things without breaking things (Ep 18)
- How to optimize database reads in a Ruby on Rails application (Ep 18)
- Ruby and Kafka: Karafka 2.0 (Ep 19)
- Good concerns (Ep 21)
- Sidekiq 7.0 (Ep 24)
- Handling compound objects in Ruby On Rails with Active Record (Ep 25)
We have seen also quite a few posts on database technologies including ones directly useful to developers using those.
- One such article was about indexes in PostgreSQL
- another was about CockroachDB consistency model (ep 16)
- Ditching Kafka for ScyllaDB (ep 16)
- Migrating from cassandra to ScyllaDB (ep 26)
- DoorDash use of Kafka with CockroachDB (ep 26)
#NoEstimates has been a red thread all along the year. From @WoodyZuill to longers posts:
- Episode 13: "Relative estimation is a waste of time" by Sam Haynes
- Episode 18: "No Estimates" from the Zalando engineering blog
- Episode 18: one in french: "Et si on arrêtait de faire des estimations"
- Episode 20: thread from @rhein_wein
- Episode 22: thread from @allenholub
We had several opportunities to talk about post-mortems after engineering incidents, on-call duties, or incident management.
- Episode 5: The chapter from Google's SRE Book
- Episode 5: one example from Pagerduty's own postmortems
- Episode 6: a good thread from @jpetazzo
- Episode 8: How to fix a terrible oncall system
And to take a bit of altitude, we also saw articles such as:
- Tech migrations, the Spotify way.
- a thread on how Redis works (ep 22)
- naming in software engineering (ep 26)
Hackathons are also a regular sighting within startups and software heavy companies.
- Episode 8: Lyst's story about their first virtual hackday.
- Episode 8: Anthony Meyer's post on LeadDev on how to run internal hackathons.
Episode 24 had content related to DDD, design patterns, CQRS and event drive architectures:
- a set of slides from Christian Soronellas
- a set of slides on CQRS from Christian Soronellas
- a post on Event Driven architecture by David Adamo Jr.
Security
We have seen quite a few security issues this year:
- Episode 12: Github's big security issue
- Episode 18: what to do when you loose your house and all your stuff
- Episode 19: Ruby gem installations and lockfile injections attacks
- Episode 20: Chaos malware
Leadership
On that topic there has been plenty of good pieces picked from leaddev.com. Such as this one on Accountability. This one, on remote leadership.
OKRs are a classic at this time of the year and any end or start of quarters. The 2nd episode included links to 2 classics on the topic: Google's "Set goals with OKR" and MentorCruise "How to set effective mentoring goals". Recently I stumbled upon a shorter and more useful intro to OKRs on whatmatters.com : "Google's OKR playbook".
There was also a string of posts about asynchronous communication including this one from nesslabs.com. Or this one, focusing on the case of remote work. Later, in episode 8, an article from toptal also covered written communication for engineering teams. Episode 14 added on this topic with a post from Trello and guide from Twist. Episode 15 added a post on Forbes.
Episode 9 was a lot about coaching and supporting engineers.
Episode 10 was the opportunity to add up on the vision and strategy topics:
Topics I recently wrote about in "Levels of war and technical leadership".
The same episode covered One on one meetings, and generally how to approach mentoring and coaching.
Episode 12 focused on the concept of Value analysis, technical dive-ins with articles from medium and Qonto's engineering blog.
Episode 15 had a good article about how to run retrospectives in your engineering teams.
Episode 18 also covered how to run inclusive meetings.
Episode 19 covered how to report to the board as an engineering leader, and how a CTO should be technical. There is also a long read linked about the SPACE framework.
Episode 22 linked another article from Pat Kua: Navigating power dynamics as a manager. But also Matt Cooper's "How I support my reports' mental health as a new manager".
Episode 23 has two articles about the DevOps methodology and ... what we do or don't do with it.
Episode 24 was written and published at a time of great turmoil in the tech industry with large layoffs. Among the different announcements, the one from the Stripe founders was different enough from most to catch my eye.
Finally one link from leaddev.com in episode 26 concluded the year with a reflection on "not lacking passion but lacking energy".
Tooling and Infrastructure
Olivier Lacan has shared his remote communication setup a few times over the last 2 years. Great read and tips to pick up if you are working remotely most of the time.
Episode 5 was also the opportunity to link to Gitea and a post about how to set it up.
Containers have become ubiquitous in the last 10 years. Some teams are still discovering them though. Episode 20 has a link to help pick the technology up.
Tailscale released pg-proxy to help with security around connections to PostgreSQL instances. We talked about it in episode 21.
2022 Google Cloud "State of DevOps" report was out by episode 22.
With all the events happening at Twitter recently, episode 25 was a good time to link to Martinfowler.com and a post about running a Mastodon server.
And with some voices rising to question the wisdom of using Kubernetes, the same episode was the time we shared an article about common problems and how to solve them in Kubernetes.
Doordash published a very interesting post about how they secure transfer of data between cloud and on premise data centers (ep 26).
Podcasts
Few podcasts have been present all along the year. One linked regularly was Tech Lead Journal. Episodes 43, 76, 83, 84, 85, 95, 106, 173,
Another one was Maintainable with episodes 116, 124.
While I did listen to Remote Ruby a lot in 2021, I ventured less there in 2022. Still I linked Episode 186.
Books
Links to Amazon are affiliate links.
- Episode 12: Observability engineering by Charity Majors, Liz Fond-Jones and George Miranda
- Episode 12: Container Security by Liz Rice
- Episode 12: Kubernetes Up and Running (2nd ed.) by Brendan Burns, Joe Beda, and Kelsey Hightower.
- Episode 19: Tribe of mentors and Tools of Titans by Tim Ferris.
- Episode 23: The manager's path by Camille Fournier.
- Episode 23: Engineering Management for the Rest of Us by Sarah Drasner
- Episode 24: Learning Domain Driven Design by Vladik Khononov.
Conclusion
This has been a fun experience, really. While it clearly was not a very stable enterprise through this first year it was a great way to keep myself actively looking at what's happening out there.
There has been a lot more published in the episodes of Through the Stack this year, check https://journal.pier22.eu/tag/through-the-stack/ to see all of them.
Also, if you are surprised that some content did not appear in any of the episodes or came up in this summary please contact me directly to suggest it.
Don't hesitate to ping me through https://twitter.com/ThomasRiboulet_ or through through-the-stack@imfiny.com with content suggestions or comments.
Who are we, by the way?
This content is written and published by Imfiny/CloudPier22, a consulting company based in France. We do Ruby software engineering and DevOps in the Cloud (AWS, GCP, and others). We also train and support teams in their journeys to grow code, infrastructure, and practices (production engineering, incident management, retrospectives, ...).