$ cat post/notes-from-a-march-27,-2023:-ai-inflection-point-and-the-struggle-for-control.md

Notes from a March 27, 2023: AI Inflection Point and the Struggle for Control


March 27, 2023. It’s been an eventful few months since ChatGPT burst onto the scene, changing how we think about language models and their potential applications. Today, I find myself wrestling with both the excitement of new possibilities and the realities of managing infrastructure in this AI-driven era.

The Looming Shadow: GPT-4

The tech world is buzzing about GPT-4, but not just because it’s more powerful than its predecessors. There’s a sense of déjà vu mixed with apprehension. When OpenAI announced they were going to release a closed-source version of an AI model that could potentially replace countless human jobs, my first thought was, “Not again.”

I spent some time thinking about the implications for engineers like me. The last few years have been exhilarating—AI has become almost mainstream, and it’s hard to imagine building anything without considering its impact. But now we’re at a crossroads: do we embrace this technology with open arms or keep our guard up?

Platform Engineering and FinOps

I’ve been thinking a lot about platform engineering recently. In my role as an engineering manager, I’ve seen the shift from just managing infrastructure to actually designing platforms that support multiple teams. But along with this growth comes challenges.

Take FinOps, for instance. We’re under pressure to manage costs more effectively across all our services. Every team wants more resources to innovate, but we can’t afford to let costs spiral out of control. DORA metrics have become our north star—deployments, lead times, and system reliability are all key indicators that affect everyone’s bonuses.

I recently had a heated discussion with one of my leads about whether to scale up or down based on current usage patterns. She argued we should invest in more capacity now for future growth, while I pushed back on the financial risk. Eventually, we settled on a compromise—let’s increase capacity gradually and monitor it closely.

WebAssembly on the Server Side

Another trend that’s been on my radar is WebAssembly (Wasm) running on servers. This technology has huge potential to bring server-side performance improvements without the overhead of traditional VMs or containers. It’s exciting, but also a bit scary—the learning curve can be steep, and there are still plenty of bugs waiting to bite us.

One recent incident really highlighted this: we deployed some Wasm code in production, and it caused our service to crash. Turns out, there was an edge case where the Wasm interpreter wasn’t handling a certain type of input correctly. Debugging that was a nightmare—Wasm doesn’t have great tooling yet, so we had to rely on a combination of Rust debugging tools and some custom logging.

The Web and Beyond

While all this AI and platform engineering stuff is going on, the web itself seems to be getting more fragmented. Browser vendors are pushing their own features like Playwright, while frameworks like Next.js keep adding new experimental features. It’s hard to keep up!

One day, I found myself wrestling with a bug where my application was behaving differently in Chrome versus Firefox. Turns out it was due to some subtle differences in how the two browsers handle certain HTML attributes. Debugging that took me down an rabbit hole of reading spec documents and comparing implementation details.

Conclusion

As we stand on the cusp of this new AI-driven era, I find myself reflecting on all these changes. It’s both exhilarating and terrifying to be part of such a dynamic time in tech. The lessons from today will shape how we build systems tomorrow.

For now, I’ll keep learning, keep pushing forward, and try not to let the fear of what might come get in the way of what we can achieve today.


That’s my take for today. What about you? How are you coping with all these changes?