Post-mortem, 2025 Edition
Table of Contents
Damascus, Jan 2025.
Another year, another performance review season to procrastinate on. I felt like I largely locked in this year on work, so the scorecard is:
1. Travel
In January I went to Syria, spending about a month there and bopping around Sayyida Zaineb. The experience was incredible, especially only a month after the fall of the Assad Regime—plus I had the opportunity to visit Aleppo and Lattakia.
Visiting Iraq (again) was also amusing. In the winter, there was 24 hours of government electricity, which itself was a shocker. I saw old friends in Erbil, and even a weird boxing match series in Ainkawa:
BXF (Babalyon X Fighting)
In May I went off to Algeria for a week, where I was charmed by the mosaics and annoyed by the lack of shisha. This was my first trip to Algeria, and really my first exposure seriously to the Maghreb. I'm quite keen on going back, as it's substantially different than Arab culture in the Mashriq.
El Salvador was also an interesting trip, I relaxed, worked through a small earthquake, and also spent quite a bit of time learning about Romero and thinking about saints. It surprised me with how much depth it had. The nightlife was a little dull, but I enjoyed having a tropical place to focus, work, and think.
2. Work
This year was really filled with work. Many 60 hour weeks, and I spent a significant amount of time getting up to speed on operations for WA and writing Erlang. Towards the end of this year, I'm happy to say I've mostly succeeded, I'm able to pick up most aspects of WhatsApp as an org and navigate and drive impact. I've been on an absurd number of outages this year, and I've seen all sorts of weird things break in WA1.
One of our funnier outages even made it to the Linux Plumbers Conference this year, where the sched_ext mechanism for providing external schedulers, using the lavd scheduler, caused conflicts with CPU affinity and wreaked havoc on my tail latencies.
See https://www.youtube.com/watch?v=KFItEHbFEwg&source_ve_path=MTc4NDI0 for the full talk.
Honestly this constant firefighting has gotten me feeling a little burned out. In February I'll be transitioning to a role on HHVM Server, where I'll be working on the JIT and platform for HHVM, which has reinvigorated me a bit.
There's a big AI push at Meta currently, where we're heavily being encouraged to use as much AI as possible. I find Claude Code useful, but I've personally gone through the curve of inflated expectations and then the trough. I've seen people submit some real AI slop for me to review, forcing me to be the first like of quality control, but Claude Code also has made me much more productive in areas of programming I wouldn't have devoted time to before, such as Javascript. I now don't really worry about writing Javascript or having to learn React, or learning the latest Python package manager2.
I'm still not quite sure how I feel about AI. The environmental impact I actually don't quite believe as much as the media hypes it up, but I do feel like it is pulling the ladder up behind us, removing the need for junior engineers. I feel like a thief who's made it past state lines, where I can efficiently guide the robot through doing tasks. If I was a junior engineer, I'd find it very difficult to resist the urge of using the robot for everything.
AI is an excellent study buddy. It's useful for reframing my thoughts, and it excels as a vague "vibe based" search engine. I feel like the Oxide RFD on LLMs accurately summarizes my experience with it: it's genuinely a transformative tool, but we need to be wary of how it impacts learning. It's sufficiently lowered the bar for learning new technologies, but I am unsure if I trust it with building serious products. For simpler codebases, I think it is excellent. For other codebases, I think I'd like to use it to churn out scaffolding more than anything else.
Despite all the hubbub about vibe coding, I find myself most efficient with the LLM when I understand the system and I just need the encantations for gluing things together. For example, our CLI tool at WhatsApp is written in Rust. Claude is quite good at writing a lot of Rust, but whether it's good Rust is a different question, as it seems to heavily favor clone() and pass by value. However, for a CLI tool this is nearly irrelevant, so I'm fine having Claude churn this stuff out.
3. Learning
On the learning front, one of my biggest highlights this year was how I managed to read 49(!) papers for SWE Tea. SWE Tea really has been a joy to do, and frankly it's quite high return. We read through a series a topics, from huge pages to LLM post training to data center power and so on, and we dived deep into many of the topics. I've learned a ton from SWE Tea, it's definitely been one of the best decisions I've made in recent history.
On a meta note, I'd say I've learned two things about running a paper reading group:
- Reschedule, never skip. If you get into the habit of skipping weeks, you'll end up normalizing the deviation and then eventually drop off.
- Batch themes together. When we first started SWE Tea, we did papers in roughly random topics, jumping around. However, batching papers chronologically allows you to trace the evolution of a technology. For example, in our latest theme of sanitizers, we started with Valgrind, walked through ASAN and TSAN, and worked our way up to memory tagging. This was something we happened upon this year, and it's really helped us read these papers. Not only do you maintain context between each week and the next, you can compare and contrast papers and authors in the same field.
Unfortunately, this year has been somewhat bad for my reading and language studying. I've kept up my Arabic and Spanish studying, but those have effectively been high fluency for a while, and only require maintenance mode. I started the year studying Russian but quickly had to give up due to a lack of time. I'd like to pick it back up next year.
I've only read 23 books this year, although some of the books were excellent. Highlights include:
- Glorious Exploits, by Ferdia Lennon
- I didn't know what to expect going into this book, but it was an excellent emotional tug on the act of putting on a play. The theme sounds contrived, but it's short and I'd greatly recommend it
- People from Oetimu, by Felix K. Nesi
- I discovered Archipelago Books relatively recently, and I was enchanted with this particular book. Nesi writes beautifully, and weaves a fascinating historical fiction of the Indonesian occupation of Timor.
- Planet of Slums, by Mike Davis
- This book was on my to read list for a while, and I kept putting it off. When I finally sat down to read it, I was enchanted by the prose and arguments. If you're into books like Drug Cartels Do Not Exist or similar type of academic books, this one will draw you in as well.
- Secular Translations: Nation-State, Modern Self, and Calculative Reason, by Talal Asad
This was technically a re-read, but honestly I got so much more out of the re-read than the first read. One of the biggest benefits of re-reading authors like Asad is that you pick up so much more with time and distance. I read this originally for school in my MA program, picking it back up years later showed me so much more. Asad's description of language and how it gets used and reworded in this book is clearer than most of his other books, with banger quotes such as3:
The translation of values from one natural language to another is always problematic, as every anthropologist who has carried out research in a society that speaks a language foreign to her own knows. Which is why what makes sense to a Western ethnographer in a nonmodern community sometimes doesn’t do so as easily when she returns home to Euro- America. It is almost impossible to abstract an important idea that indicates something distinctive of a particular form of life and find a ready word in a language belonging to a very different form of life…
4. Life
Looking back, this year has really been leaning into being a big tech worker. I've ramped up to 4 days of crossfit a week, with the plan of going up to 5 days a week in January next year. I've stayed around New York, feeling some aches to leave but not firm plans on permanently leaving yet. I didn't get a chance to do a big bike trip like my Montreal bike trip last year, but I've really thrown myself into crossfit as a result.
Crossfit has been my point of sanity. With a stressful job, having the ability to just hop over to a gym and lift heavy shit during the middle of the day has kept me grounded. Having good trainers that help drive me towards clear progressions in my goals is a good anchor in the waves at work.
One of the things that you learn quickly when working at big tech is the scale of impact and how many problems really are organizational problems. WhatsApp server is very few people, and yet the product is routinely used by billions of people across the world a day. I spend most of my time consensus building at work, drafting alignment docs and firefighting, and I expect that to only stay constant or grow with time. This is sort of the life of big tech, where people end up fighting over stuff like "scope" or "consensus."
I haven't yet decided how I feel about it. I like the opportunities big tech affords me, I enjoy working on large industrial scale software, and I love the fact that I can sightsee and that my coworkers on WhatsApp are incredibly smart. On the other hand, it is exhausting at a particular point, I somewhat miss my old job, where I was putting in significantly less hours.
Now that I've come back to NYC after a few years away, the last year and a half can be described as a lack of FOMO. When I first moved to NYC, I was desperate to go to all the events, see all the people, so on. Now I'm at the stage where I'd prefer quiet nights and make time to see specific friends, which I suppose means that I have come down with a case of the old.
I recently chatted with a friend about this, who pointed out that I had an interesting, well paid job, and have roughly everything else lined up in life. Which is all true, but I constantly feel the pang of wanting to head back into the chaos of the Middle East.
I've forgotten where this came from (perhaps 4X games), but a while back I heard about the expand/exploit tradeoff. With the limited resources of time, I've felt like the past few years I've been expanding, seeing the world, learning new things, and so on. This last year, I've felt like I've been in the exploit phase, focusing on myself and getting really good at software. Part of it has been accepting that I'm in exploit mode for now, banking skills and resources while the expand urge waits.
For now, I'm choosing depth over breadth. We'll see how long that lasts.
النعجة - اجعوط مصطفى
One of my favorite pieces in the Algiers calligraphy museum, titled "The Sheep" by Mustafa Ajaout.
Footnotes:
And I even broke WhatsApp a bit myself!
I'm old. uv is still "new" to me.
Asad, Talal. Secular Translations: Nation-State, Modern Self, and Calculative Reason. Columbia University Press, 2018. https://doi.org/10.7312/asad18968.



