Through the stack 2-01 / (Week 1)
Here we are for a second year, a second season.
As last year, we are going to cover many topics from software engineering to leadership. All the things a senior engineer, team lead or engineering lead is exposed on a daily, weekly and monthly basis.
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.
This week ...
We are covering 2 big topics: software engineering and leadership. There is a lot to read already with plenty of recaps of 2022 here and there. Our own was published in Episode 27.
Still there is plenty of new things to read too. There has been some news in the Ruby world (new Ruby release among them), but we also have seen some interesting articles about other projects.
On the leadership side tech leads and people working with them will be interested in the many links towards content by and around James Stanier (Shopify engineer lead). A lot of food for though there.
Software engineering
Dockerising a Ruby on Rails application happens regularly during our work for our clients. One of the main questions to pop up is always: "what base to use?" This tends to be a bit of a debate. Ruby on Rails creator has recently pushed a patch to introduce default Docker related files in the structure of applications generated by Ruby on Rails. It's great. It answers a lot of questions and give a base for many to start from. The base used is the regular Ruby one, so it's a light Debian based system. Good. As pointed in the discussion thread that ensued, since this is aimed to be used by the majority it's not relying on Alpine Linux because, while there could be a gain in size of images, there would be additional issues added related to the lack of standard lib C.
Another regular topics discussed early with the team we work with is how Git is used (or any other equivalent) within the team's projects. Some teams are already up to speed with the classic git conventions. But others need a bit of help to get there. From how to write proper commit messages to how to use branches and rebasing ... there is a lot to cover sometimes. A great article from J. Matuszewski covers a lot of those topics in a nice way. A good place to start or refresh one's git knowledge and habits.
2022 was busy for databases, Ottertune published a round up of news about funding, trends and projects.
Sticking to the database topic and looking the issue of anonymising data from a production database to import into a non production one I found two things:
- a pair of postgreSQL extensions (1, 2) to handle the anonymisation at the importing time
- Replibyte, an utility that can handle export and import or only the import
On the Ruby side
Let's not loose the Ruby connection this year by starting with a couple of articles for our favorite language. First, we can't go without talking about the Ruby 3.2.0 release. Then we spotted a release for HexaPdf, a library to handle and generate Pdf files in Ruby. Ruby developers have a few solutions and most of the ones I know rely on Prawn. Still, HexaPdf might bring something new to the table, so worth a check.
Shopify also continues to publish on their work within Ruby itself with this article about memory allocation.
Hanami 2.0.2 is out too but ... the announcement is a bit short on details.
Aaron Patterson also published a review of 2022 and some predictions about Ruby and Ruby on Rails.
Leadership and culture
Last year we had quite a few links about remote work and communication. As, for once, I was strolling on HackerNews, I spotted a review of a book I have seen the cover of a few times: Effective Remove Work by James Stanier. It's fairly recent (early 2022). His twitter feed has more content about remote work, including this reading list. There is also a post from him on Shopify's engineering blog that might be of interest too.
To conclude on this "James Stanier" thread we can also link to a post from him on LeadDev about the "trifecta model" between product, engineering and UX. A very interesting read.
The last episode of season 1 was a recap of the 26 previous episodes of that first year. LeadDev.com has also done a recap of their best publications of the year. Several of them were included in Episode 1.27 so don't be surprised if they look familiar.
Levels.fyi has also published their 2022 report. Levels.fyi collects, verify and publish data about salaries all around the world for tech companies. Oddly enough I could not find a part of the report with data from France though.
With 2 years of big changes in organizations following waves of Covid we are starting to hear different voices about the new organization models that are being talked about. On this theme, there is an interview from WelcomeToTheJungle of Alison Taylor.
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, ...).