$ cat post/the-buffer-overflowed-/-we-merged-without-a-review-/-the-deploy-receipt.md

the buffer overflowed / we merged without a review / the deploy receipt


Title: When FinOps Meets FOMO: A Day in the Life of a Platform Engineer


June 13, 2022. Just another day in the world where AI infrastructure is expanding exponentially post-ChatGPT, platform engineering has become mainstream, and I can’t help but feel like there’s always something new to learn—especially when FinOps keep squeezing every last penny out of our cloud spend.

Today started like any other. The alarm went off at 6 AM (yes, I’m still early riser). After my obligatory cup of coffee, I jumped into the first meeting of the day with my team to discuss the latest DORA metrics numbers. According to them, we’re on track for another perfect month, but the pressure is real. Every dollar saved is a win, and every misstep costs us dearly.

As our tech stack continues to grow more complex—think LLMs, WebAssembly, and all sorts of containers—I find myself spending more time debugging mysterious issues that seem to come from thin air. Today’s bug was particularly vexing. We had a service running smoothly in dev and staging but kept failing in production with some weird segmentation fault. After a few hours of staring at logs and code, I realized it was a race condition introduced by our recent upgrade to the latest version of glibc. Just another day in DevOps, right?

Moving on from that, we had an interesting discussion about FinOps. Our finance team is now deeply involved in our cloud strategy, using tools like AWS Cost Explorer and Google Cloud’s Stackdriver. They’ve set up alerts for any service that deviates more than 5% from the baseline cost. This is both a blessing and a curse; it ensures we’re lean but also makes every decision feel like a financial one.

One thing I can’t get enough of recently is WebAssembly (Wasm) on the server side. It’s so powerful, but the learning curve is steep. We’ve been experimenting with running our microservices in Wasm modules to improve performance and reduce overhead. Today, I spent some time writing a small Wasm module that encrypts data before sending it over the network—simple enough, yet incredibly efficient.

But the excitement of WebAssembly also brought its share of challenges. One of my developers struggled to get it running on our Kubernetes cluster. After hours of troubleshooting, we realized he had forgotten to set up the proper sidecar containers with the necessary dependencies. Rookie mistake, but a good reminder that no matter how experienced you are, there’s always room for improvement.

In the evening, I attended a panel discussion about the future of platform engineering. The conversation was lively, with experts from various tech companies sharing their experiences and predictions. One theme that kept coming up was the importance of developer experience (DX). We’re starting to see more tools and platforms designed specifically to make developers’ lives easier, which is fantastic. But there’s a fine line between making something too simple and losing all those cool features we’ve come to love.

As I sat through this discussion, I couldn’t help but think about the HN story “Sunsetting Atom.” It’s sad to see such an iconic editor go away, but it’s inevitable as technology evolves. This got me thinking: what tools will we be using in a few years? Will they even exist today?

The end of the day came too quickly. I spent my evening reflecting on the week and planning for next month. We have big goals to hit, and every little victory counts. Whether it’s debugging an obscure bug or optimizing cloud spend, each task is part of our journey.

This era of tech is exciting yet challenging. With so many new technologies emerging, staying grounded and focused on what truly matters—like building resilient systems and creating a great developer experience—is key. Here’s to another productive day in the world of platform engineering!


That’s where I left off for today. Stay curious and keep pushing forward!