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 thoughts and content relevant to such profiles.
If you have comments or content to suggest, please reach out to us by email firstname.lastname@example.org.
this week ...
We cover mainly Ruby and communication topics: Sidekiq, docker, and CSS before jumping into async communication and internal communication in teams.
On the Ruby side
As we come to a close with a client of ours, we reflect on several topics we have worked on in the last 6-12 months. Working hand in hand with software engineers, product managers, and the CTO to transform a vision into something concrete is always fascinating.
Among other topics, we worked on deploying Ruby on Rails applications on AWS ECS. The choice of many Ruby on Rails projects is to handle background jobs with Sidekiq. Sidekiq has a great API and a great ecosystem to expose its core metrics to other services such as ... Cloudwatch.
Cloudwatch is the logging and metrics service at AWS. And its alarms can be used to trigger things such as auto-scaling events.
So, on this topic 2 little links worth reading :
- "Monitoring Sidekiq Queue Latency Using AWS Cloudwatch": a grand tour of how to write the part to watch Sidekiq's metrics and send them to AWS
- github.com/sj26/sidekiq-cloudwatchmetrics: a ready to go gem to publish Sidekiq's metrics to AWS Cloudwatch
As we also dockerized a few Ruby on Rails applications, we went through a couple of posts on that topic. A nice once, relatively fresh, is from Semaphore (a favorite of ours): "Dockerizing a Ruby on Rails application". It covers almost all you need to know about it except ... how to handle assets. Still, that will get you started and then some.
Still in the code
A funny little article caught our eye this week: "Use Unicode characters for bullet points in CSS using ::marker". Cassidy Williams shares a quick and excellent way to make a replacement for the good ol' bullet sign of a list on a web page.
A bit higher level: Communication
We are big fans of asynchronous communication and processes. As work has been remote since 2018 for us, we don't really see another way.
Within the last 2 years, many more teams have moved to work remotely. As a direct result, we don't have to "debate" with clients about wherefrom we should type on our keyboard. But we also get more interest and a more receptive ear to asynchronous ways of work and communication.
Trello published an interesting piece in 2021: "The future of work is Asynchronous - and those companies are leading the way". It's a bit of a rundown of the usual reasons, so if you are looking for deeper explanations and use cases, you can turn to Twist's Remote team communication guide.
Twist is an async communication tool. While it might look like a synchronous chat application or email, it's neither of them. At Imfiny, we like it to structure the critical communication and keep Discord to just handle little side work chats and calls. Lesser known than Slack, Twist is definitely worth the try, especially if you are working on getting your people to think and write more about what they are doing.
Echoing a little bit that approach is Jason Lengstorf's "Five essential tips for great internal communication".
Finally, once we get seniority and take on a mix of technical lead and manager's responsibilities, we start to look for tangible ways to weigh in on topics we care about. Tadek Hakopian's post on Leaddev has plenty of food for thoughts on this topic: "How to manage up in your team".
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).
This content is written and published by Imfiny, a consulting company based in France. We do Ruby software engineering and DevOps in the Cloud (AWS, GCP, and others) and 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. Contact us.