For whom it may interest, my retrospective of 2023.
First things first, I left Docker 🐳.
When I took the decision to leave my previous company, I applied to both Docker and Google. I had an immediate answer from Docker; I passed the interviews and got an offer. Meanwhile, there was silence from Google. So, I ended up accepting Docker’s offer, and I was happy with it.
Yet, on my very first day at Docker, who do I get a response from? Google.
At first, I’m about to reply “Sorry, but I have already found a job”. Yet, I couldn’t bring myself to do it. Working at Google has always been a dream of mine. As a student, I was really horrific and I had nothing but awful grades. So, even the simple idea of me applying to Google was just absurd to me. However, a friend shared his experience going through Google’s interview process for an internship, it felt wonderful, and it planted a seed in my mind.
Five years later, I applied to Google but was rejected during the very first technical interview. So when I received the Google email, I couldn’t ignore it. This time, things went well, and I got a yes from Google.
So, I left Docker, and it was not easy. I felt terrible leaving after less than a year. The main reason is that I started to get really attached to this company. I met a lot of folks, be it online or during offline events, and most of the time, I was in front of talented and modest people—Jackie, Silvin, Nicolas, Sergio, Chaimaa, David, Felipe, Alyx, Guillaume, Djordje, and many more.
Also, it’s not often you see a CEO who moves from table to table during a company event to chat and have a drink with most of the employees. Perhaps to some people, it might seem basic, but to me, sharing a beer with Scott is part of the basic things that made Docker so special to me.
So yes, I left Docker, but it’s no coincidence that Moby still sits on my desk.
We are in March, and I joined Google as an SRE.
Before joining Google, I remember thinking, “Wow, it’s going to be crazy”. To be honest, it went even beyond that. The scale, the people, the systems, the complexity—everything is just beyond imagination. I’ll write a post for my first anniversary in March to share more about my experience.
Last, I’m thrilled to have switched to an SRE role. After years as a software engineer, my career took a new direction in 2020 when I started to read Google’s SRE books. Since that day, I have become increasingly fascinated by reliability topics. So, how could I say no to the company that celebrated last October 20 years of SRE?
Solving Online Technical Challenges
I don’t know about you, but personally, I always worked on algorithms and data structures to prepare coding interviews. For example, to prepare for Google, I tackled a lot of Leetcode problems. Therefore, because it was an obligation (to have a chance during my interviews), I never really enjoyed it.
I completely changed my mind thanks to the Advent of Code (AoC). AoC is an advent calendar of programming puzzles. Every year since 2015, a new puzzle is released each day of December until day 25.
End of 2022, I completed an AoC for the first time and had immense fun. I enjoyed the feeling of having to tackle seemingly impossible problems. Actually, I had so much fun that I went, “How about doing all the years since 2015?”. And that became an obsession for me. As soon as I was finishing my working day, my number one priority was solving a new problem!
I started AoC 2015 on January 6th and completed all the puzzles up to AoC 2021 by February 14th. In total, 350 stars in 39 days (I told you I was obsessed).
This experience, which I shared on my blog, was fantastic. More than a learning experience, it was the thing that genuinely made me love algorithm and data structure topics.
I also came across another type of technical challenge, this time on distributed systems: Gossip Glomers. Created by Fly.io and Kyle Kingsbury (the author of Jepsen), it involved problems like implementing a broadcast protocol, a Kafka-style log, or a distributed counter. Sure, It was less time-consuming than AoC, but really enriching. If you are interested in distributed systems, I highly recommend it (check out my GitHub repo: teivah/gossip-glomers).
Striving to improve continuously remained my motto.
It can sound cliché, but if there’s really one life philosophy that I live by, be it at work or in my personal life is 改善 (Kaizen, change for better). In a nutshell, it’s not important how fast you can be; what’s essential is to improve week in and week out. Perhaps it’s the reason why I love the whole domain of computer science so much. Regardless of where you‘re at, there’s always more to learn.
This year, much of my cognitive effort was devoted to learning about some Google stuff and the SRE role. Nonetheless, I still spent some of my free time exploring new areas, like Python, Vim, and plenty of cool algorithmic topics (e.g., reading the book Advanced Algorithms and Data Structures).
I also created a (private) place to manage postmortems when I’m making significant mistakes—those with a notable impact or recurring ones. In there, I keep track of each mistake, the context surrounding it, the impact it had, the lessons learned I learned, and the number of occurrences I made the same mistake.
Managing a library of custom postmortems based on your personal mistakes is a strategy I highly recommend. There’s nothing more frustrating than repeating the same mistakes.
Additionally, this year, I gave my first offline talk. I had already presented at conferences before, but only online. My first in-person talk was at the Golang Paris meetup (alongside the great Val Deleplace). Despite the initial stress, I really enjoyed it and had a similar experience at SRE France. I also spoke at P99 this year but it was online.
Next year, one of my main priorities will be to give more offline talks and improve my public speaking and presentation skills. Next stop at ConFoo in Montreal in February 2024.
- I switched my keyboard layout from azerty to qwerty for better compatibility with Vim (it was a challenging transition after decades of habit!).
- I released 100go.co, an online and refined version of my book 100 Go Mistakes.
- I only wrote a few blog posts this year: one about my AoC experience, another one on a probabilistic solution in large-scale systems, and one discussing how temporality ≠ causality.
- I published an opinionated roadmap to becoming an SRE.
- I had the chance to make a podcast with the goat itself, Bill Kennedy.
- I met many amazing people, including Pratim Bhosale.
Thanks for reading; I wish you the best for 2024 🌟.