Through the stack 2-03 (Week 3)
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.
Software engineering & friends
Among Ruby-centric consultancies out there Thoughtbot, and EvilMartian are possibly in the top 10. Both have provided the community with a lot of OpenSource gems but also great blog posts about many topics. This week I stumbled upon a very interesting post from Evilmartian and their Gemfile of dreams. There is the usual gang of gems in there, but also a few more I had not heard about before. If you are working on Ruby and Ruby on Rails projects, you should have a look.
Parsing HackerNews and my Twitter feed I stumbled upon a few posts this week:
- Datasette: a little utility to take a SQLite database and expose it through a webUI to explore its data
- YJIT for Ruby 3.2: another post from the Ruby team at Shopify, this time on their efforts around YJIT and its benefits
- Refactoring instance variables to local ones in Ruby on Rails controllers: many Ruby on Rails developers aren't fans of the reliance on instance variables; this is a great explanation about why and how to avoid that
- "Resilience and waste in software teams" from Jessica Joy Kerr: an interesting read on resilience.
- "Rails console command made easier" from BootrAils; a good post to keep at hand for developers relying on Ruby on Rails.
Leadership
Leaddev.com had a few great posts this week (as always):
- "Using interview rubrics to make more confident hiring decisions": all software engineers, tech leads, and CTOs will have to interview candidates, and any tips to help are welcome; this one is interesting to help one prepare interviews and review them
- "Navigating power dynamics as a manager" by Pat Kua. Another great post by him (see episode 27 of last year for more from him). This one is a good reminder to remember the power dynamics within teams you manage or are part of. It also includes some key practices to improve your managing style accordingly.
- "Five things you need to know about setting the right goals for your engineering teams": an interesting grouping of five posts on five important topics you need to consider as an engineering manager.
And this week, I stumbled upon an interesting post on IEEE's website: "A human-centered approach to developer productivity". A good read for many to remind us how the work of a developer isn't just the work of a machine and productivity in that field isn't always easy to measure. It reads like an academic paper.
After more than two years of "everybody is remote now", we are seeing a lot of studies and content about the impact of this move. For many, the community has been of great support to overcome the isolation and burnout risks. This post from Kai Hoffman is a good read on the topic.
And on a similar note, I think we could all use a bit of what Will Aylward shares in his "The 3Ms that help me cope with seasonal depression". Honestly, I think this post can be used in any season.
Books
- Principles of Product Management, P. Yang: I've published a review.
- An elegant puzzle: Systems of Engineering Management, Will Larson (in progress).
Epilogue
While the software engineering content will likely be of quite the interest, I think the leadership one will prove more helpful to senior engineers and tech leads this week. They echo similar concepts and practices that I have found of use when working with teams who haven't yet found their working way of doing product and engineering management.
Happy reading; I hope it helps.
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, ...).