$ cat post/january-reflections-on-platform-engineering-in-a-remote-world.md
January Reflections on Platform Engineering in a Remote World
January 2019 was shaping up to be a pivotal month for platform engineering. As the year kicked off, I found myself reflecting on how much had changed and how much more was on the horizon.
The Shift to Platform Engineering
Platform engineering is becoming the go-to solution for many companies looking to streamline their development process. At my current gig, we were knee-deep in setting up an internal developer portal using Backstage—a tool that allows developers to manage their services, dependencies, and deployment pipelines. It’s like having a one-stop shop for everything you need to build and run your applications.
Backstage has been on the rise over the past year, but it’s still not as mature or widely adopted as some might think. We encountered quite a few gotchas while setting it up. The documentation is solid, but there are still gaps that require digging into the codebase or asking for help in community forums. Nevertheless, having a single place to manage everything was a breath of fresh air compared to the spaghetti mess we had before.
SRE Roles and Remote Work
On the operations side, our team was starting to see more roles like Site Reliability Engineers (SREs) popping up. While traditionally an SRE role would focus on ensuring system reliability, they’re now increasingly involved in designing platforms that are robust from the ground up. This shift is part of a broader trend toward devops and platform engineering where developers and ops folks work closely together to build resilient systems.
With the rise of remote-first infra, we had to scale our operations infrastructure to support distributed teams. Tools like ArgoCD and Flux GitOps were gaining traction as they helped us manage deployments across multiple environments more efficiently. However, integrating these tools with our existing setup required a lot of tinkering and debugging.
Kubernetes Complexity Fatigue
One of the biggest challenges we faced was Kubernetes complexity fatigue. While it’s amazing how much power K8s gives you, managing stateful applications and deploying complex services can be overwhelming. We spent quite a bit of time trying to simplify our Kubernetes setup without sacrificing too much control. Evidently, eBPF (extended Berkeley Packet Filter) was starting to gain attention as a way to fine-tune system performance, but we didn’t have the bandwidth to explore it deeply yet.
A Year of Rapid Change
Looking back at January 2019, I can see how much tech has changed in just a few short years. The focus on platform engineering and internal developer portals is a clear sign that companies are moving away from bespoke solutions toward more standardized approaches. At the same time, remote work was picking up steam, driving the need for robust, cloud-native infrastructure.
Personal Reflections
This month also reminded me of how important it is to stay grounded in real-world problems. Debugging and shipping code every day keeps you sharp and focused on what really matters. While reading about all these tech trends and news stories was interesting, nothing beats actually rolling up your sleeves and making things work.
As we moved into 2019, I felt a sense of excitement mixed with trepidation. Excitement because there were so many new tools and practices to explore, but trepidation because we still had a lot of legacy systems to modernize. It was a challenging but rewarding period, and I’m looking forward to what the year ahead will bring.
That’s how things were rolling in early 2019 for me—hustling away at platform engineering, remote work, and all the attendant challenges and opportunities.