Year In Review: 2024

2024-12-31

2024 is now in the books!

In previous years, I wrote internal posts at work to reflect on the year and highlight accomplishments. This exercise was revealing. It was often a great way to see how much we’d achieved that you might lose sight of in the daily grind. This year, I decided to apply the same reflection to my personal life.

Here’s a TL;DR of 2024:

Personal Life

Professionally


Personal Life

2024 was full of ups and downs, but I made meaningful progress in key areas.

Health

Improving my health became a major focus. Thankfully not due to any serious issues, but because I’ve started to realized it’s easier to get and maintain health now than to regain it later.

A Year Free From Caffeine

In October 2023, I noticed I couldn’t function without caffeine. Specifically, I was drinking at least 2-3 Dr. Pepper a day. Worse, if I ran out at home it meant struggling through the day. It felt like an addiction, so I quit cold turkey (that weekend headache sucked).

As of October 2024, I’ve gone an entire year without any caffeinated soda. However, I replaced it with sugary alternatives, which completely negated any health benefits that could be had. This year, I’ve started removing soda altogether to reduce my sugar intake.

Martial Arts

Martial arts have always been a passion i’ve mine. I earned a yellow belt while taking Karate for a PE credit in college. Sadly I didn’t continue because I was a poor college student that didn’t think it was worth going to the dojo and paying for sessions. This year my kids started doing Karate. After I was good and behind them.. 2 belts. I decided to join.

I’ve regained my yellow belt and plan to continue. It’s a great way to completely disconnect. Not to mention the practice for sparring got me moving which was really good for me.

Working Out

I’ve been gradually building a home gym to be able to practice Martial Arts at home as well as lift some weights. The beauty of it being at home is makes it easier to go at weird times. Sometimes even work out with my kids and encourage them to be more physically active as well.

Impact

These efforts have been paying off. So far, i’ve lost 12 pounds in the last four months. Not to mention I feel much better overall. I can even spar without feeling like I’m going to pass out!


Travel

I traveled internationally twice this year:

  • Brazil: A work trip brought me to Porto Alegre just a week before the airport was severely flooded.
  • London: I took my family on a trip to London. The kids first trip overseas. They were finally all old enough I felt like they would remember and appreciate it a lot more. Not to mention a lot easier to travel with when they can all walk around on their own.

Work / Professional

2024 brought some changes to my career.

Staff Engineer

At Rocket.Chat over the course of almost 10 years, I held various roles. Engineering Manager, Tech Lead, Team Lead, etc. From building a team, to taking our scope and spliting it up into 3 seperate teams. But Staff Engineer as a level I didn’t really know what it was or what I was supposed to do. So this year I tried to settle in and figure out what the industry considers a Staff Engineer and try to learn what I could.

This article and book with the same title I really recommend reading if you’d like to learn: https://staffeng.com/guides/what-do-staff-engineers-actually-do/

I tried to also spread our support of Staff Engineers so others coming into that role would have more direction. Its a role I really enjoy and realize I do even more so in retrospect.

Production Readiness

In the year’s first half, I focused on a cross team initiative: Production Readiness. I might be missing some great sources of information out there. But I felt like this was a subject very under documented on the web.

This process was a lot of talking to stakeholders and together:

  • Defining SLAs/SLOs
  • Identifying critical user experience factors
  • Api response time
  • Error rates
  • Error budgets

Then working backwards from there with the engineering team to identify the risks to being able to fullfill these targets.

Things like:

  • Building and participating in an on call team to actually be responsible for delivering targets
  • Implementing new metrics to gain visibilty into something critical
  • Removing code complexity from endpoints to speed up response times
  • Ensuring could dynamically scale to meet load
  • Ensuring could handle dependency failures appropriately
  • Ensuring alerts were properly set
  • Ensuring systems like Mongo, Redis, Nats etc were set to a higher SLA

If anyone is looking for good things to blog about.. This would be a good topic to see more information out there. If not I hope to get to it at some point.

Technical Writing

As part of that focus on Staff Engineer it was important to help with technical alignment. This means documenting and writing things down. This has been a passion of mine for a long time, but we seemed to always struggle getting stakeholders to go read our docs written in markdown, keeping the docs together so they were discoverable, and having a common agreed on format and system for these documents.

For a while I had been eyeing Oxide Computer’s Ellusive RFD Process. What really stuck out to me was not just documenting but trying to drive discussions. I really wanted to try it out, but their system at the time was part of a larger CIO toolset they had built.

So at the end of 2023 I wrote a tool that from what I could tell worked a lot like their tool. I very creatively called: RFD Tool

Over the course of 2024 I rolled this out. I also took a bunch of documents I and others had written and imported them into the system. From what I hear the final count at the end of this year was 114 RFDs.

I plan to write more about this system in a future post.

New Job

After nearly 10 years at Rocket.Chat, I transitioned to a new role as a Senior Software Engineer at a new company that helps build out fiber networks in communities and then provides software to allow the members of the community to sign up through a marketplace and chose their ISP, voice services and facilitate the provisioning of the CPE’s hooking them up to their chosen services. This change was important to allow me to reset and perform a rebalance of work/life. But also a good opportunity to learn something new, particularly in the ISP space which i’ve always found interesting.

Some times a change is required to help us realize what we value. I realize I find fulfillment in participating in architecture and direction, not just coding. This is something I’ll be focusing on in the new year.

Technology

Joining a new team meant working with new technologies:

  • Microservices: I’ve worked with microservices before typically by breaking part of a monolith off to enable more dynamic scaling. I’ve never worked with a microservice first architecture. While microservices can enable scaling and team parallelism, the complexity isn’t always worth it for smaller teams.
  • GraphQL: Although I see its appeal, GraphQL introduces challenges with network traffic, authorization, and increased boilerplate code necessary. I still prefer well-crafted RESTful APIs. A good article on this
  • gRPC and Protobufs: Defining services with Protobufs and generating REST APIs, openapi documentation, and gRPC Gateway code is really cool. I plan to explore this more.

This article by tailscale is a good read that has been top of mind: https://tailscale.com/blog/new-internet

Daily Tech Stack

This year my primary daily stack was:

  • Silverblue, an immutable OSTree OS,
  • A custom OSTree branch, Triiodide (i3 - 3 iodine atoms is a triiodide ion) that brings i3wm instead of gnome
  • Dev Containers
  • Ghostty for a performant terminal experience
  • A single 32” curved monitor plus a smaller secondary display for chat, video conferencing and music

Plan to write more about my immutable/Container based flow at some point soon.

2025

I don’t really do new year’s resolutions any more. I feel like uou don’t need to wait for a new year to make a change. Plus most people I see that only do resolutions one time a year.. Usually set themselves up for failure by trying to do too many at the same time. How many times did you set a goal to workout and buy a gym membership only to stop going after 2-3 months? I have.. several times.

But, I do plan to continue to focus on health, doing more writing, and focus on work I find fullfilling.

Here’s to another year of growth!

Fedora Iot, Greenboot, Systemd and of course DNS