$ cat post/a-dev’s-holiday-reflections-on-webassembly-&-serverless.md

A Dev’s Holiday Reflections on WebAssembly & Serverless


December 26th, 2022. It’s been a year since I last sat down to reflect in public, and with all the changes in the tech landscape—AI infra blowing up post-ChatGPT, platform engineering becoming mainstream, and the ever-expanding CNCF—I feel it’s time for an update.

The WebAssembly Revival

This month, the world of webassembly has been buzzing. It’s funny how something I’ve been toying with since 2017 (yes, 2017) can suddenly become relevant again. As server-side developers, we often wonder if there’s a better way to run our code outside the browser without compromising on performance or security. WebAssembly might just be that path.

I’ve been working on a side project using WebAssembly for the backend. It’s been a mix of excitement and frustration. The promise is undeniable—WebAssembly can bridge the gap between low-level performance and high-level abstractions—but setting up a robust CI/CD pipeline has been a nightmare. Every minor change in the build process feels like starting over, but it’s worth it when you see the performance gains.

Platform Engineering vs. Staff Engineering

Platform engineering is where I’ve spent most of my time this year. The idea of managing foundational services and infrastructure as code, with an eye on developer experience, is really hitting home. It’s not just about writing code anymore; it’s about creating a robust ecosystem that developers can thrive in.

But there’s been a bit of a split between platform engineering and staff engineering roles. While I’ve always seen them as complementary, the line has started to blur. In my current role, I often find myself managing both teams—building tools for our platform engineers while also helping out with complex ops issues that pop up. It’s a balancing act that requires constant communication and collaboration.

Cost Pressure and FinOps

FinOps is another big trend hitting us hard this year. As cloud services become more ubiquitous, the cost pressure on engineering teams has never been higher. We’re all getting called in meetings to explain how much our code changes are costing the company. It’s a reality check that forces us to be more mindful of resource usage and efficiency.

One of my recent projects involved optimizing a service to reduce its memory footprint. It was a tedious process, but seeing the cost impact drop by 30% afterward made it all worthwhile. It’s one thing to optimize for performance; reducing your cloud bill is just as important.

DORA Metrics and Beyond

DevOps Research & Assessment (DORA) metrics are becoming more widely adopted in organizations. We’re tracking release frequency, lead time for changes, deployment frequency, and mean time to recovery. These metrics help us understand where we stand compared to industry best practices, but they can also create a pressure-cooker environment.

I’ve been trying to balance these metrics with developer happiness. Sometimes, rushing through features to hit release targets means neglecting the quality and maintenance that keeps our systems running smoothly in the long term. It’s a delicate dance, but one I’m learning to manage better each day.

The Year In Review

As 2022 winds down, it feels like we’re at a crossroads. We’ve seen incredible advancements in AI and infrastructure, yet these come with challenges of their own—like ensuring that our code remains performant and cost-effective while still being flexible enough to handle future needs.

Looking back, I’m proud of what my team has accomplished this year, even if it wasn’t always smooth sailing. From debugging complex cloud services to optimizing performance, we’ve tackled a lot. And as we move into 2023, I’m excited to see where these trends take us and how we can continue to innovate while staying true to our goals.


Happy holidays to everyone! May the new year bring you success and happiness. Here’s to more code, better infrastructure, and a bit less frustration.