Through the stack 1.17 (week 26)
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 with such profiles.
If you have comments or content to suggest, please reach out to us by email email@example.com.
This week ...
... is a bit more balanced between code, operations, and lead. There is quite a bit about Ruby to start (as usual), but we also glance over a more general topic on the code side.
We then jump to networks and operations with a specific light shined on Tailscale.
And then, we go into Tech Culture and Lead topics with links about post mortems, estimates/noEstimates, and management.
I really enjoyed all those reads and listens (you will find two podcast episodes linked at the bottom, too) this week, and I hope they are also a good source of thoughts for you. Enjoy.
The red side of the Force?
Ruby has taken quite a lot of my time this week. Drifting through articles and tweets, I stumbled upon a little gem: Honeypot-captcha. It's aging (last commit in 2021 at the time of this post), but the concept is interesting still. It's an easy way to add fake form fields to act as honeypots for bots in your forms.
That discovery was made through a thread started by @joemasilotti about spam in web applications and emails. Along the answers came one from @postmarkapp regarding one of their post from 2020 specifically on that topic. A great read.
But back to Ruby. As I was about to wrap up that episode, @flavorjones decided it was a good time to publish a long thread about what Shopify engineering team is doing in and around the Ruby language. The thread is peppered with links to blog posts and GitHub repositories, so there is plenty to read on. Some of the posts we talked about previously (see Ep01-13), but most of them are new stuff. While it's often about the inner workings of Ruby, there are also things around Ruby on Rails and other library-level projects.
As June is coming to an end, I can't avoid sharing this great post on Medium: "Recently in Ruby Core - June edition" by Gernot Gradwohl. A fascinating summary with plenty to read on.
Still, on the code side, you might want to read Matthey Butterick's thoughts provoking "This copilot is stupid and trying to kill me". It's about Copilot, the feature added to Github recently. A big part of the post is about the ramifications of using "public code" and how OpenSource has tackled Intellectual Property issues so far. There is also a part about how this could be improved.
Ops, Net & Sys
As a user of Tailscale for some months now, I have kept an eye on their product updates. Last week they introduced "Tailscale SSH". This is an exciting addition to their service as it simplifies further the setup and management of hosts and your ability to SSH into them.
So far, I have minimally used Tailscale to quickly jump from my laptop to my workstation or office server when on the move. Reading "How Tailscale works" is not only great for understanding how it works but also for understanding what you can do with it.
"Retro" aka "post-mortems": an interesting thread:
Which lead me to https://gitlab.com/gitlab-com/gl-infra/reliability/-/issues/9651 thanks to https://twitter.com/swozey. It's indeed a good example of post-mortem.
Writing a post-mortem is a great tool to make the team aware of how and why an incident happened. Using a template helps keep a similar format and ensures some essential steps are covered.
We do Incident Management training through workshops. Interested in learning more about them?
In a pair of posts, Ben Brazier digs into #noestimates: first with "Why estimates are waste", and then with "Deadlines without estimates".
The comments to both posts are surely going to be interesting to read. At the very least, both articles and comments should serve as food for thought for each one of us. Ask yourself: what are we looking for when we do estimates? Are estimates actually useful for the team and the organization? Are we clear in our priorities? Is our vision clear?
Next was Vadim Kravcenko's "Switching from engineering to management". While a couple of years old, it's an interesting read on how work will change for you when you do the switch. Interestingly Tech Lead Dev journal episode #94 with Patrick Kua (out this week) is on a similar topic.
This week I took the time to listen to 2 podcasts:
- Tech Lead Journal ep#94 "Engineering Manager Essentials" with P. Kua
- Tech Lead Journal ep#91 "Lean software development principles and mindset" with M. & T. Poppendieck. Great to listen to two super experienced professionals in our field about how they started, how things have moved, and their takes on several of our day-to-day topics.
This episode is coming to an end. If you want to talk about these topics or share some comments on them, you can reach out to me (see at the top and bottom of the newsletter for details).
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, ...).
We have courses available on https://learn.imfiny.com/. We are available for 3 to 18 months contracts.