$ cat post/the-rollback-succeeded-/-we-named-the-server-badly-then-/-the-shell-recalls-it.md

the rollback succeeded / we named the server badly then / the shell recalls it


Title: February 18, 2019 - A Day in the Life of Platform Engineering


February 18, 2019

Today was another day at the office, but it felt like a different time. The tech world was on the cusp of something big—platform engineering was really taking shape, and internal developer portals were starting to become the norm with projects like Backstage gaining traction. Meanwhile, SRE roles were becoming more common as everyone realized that operations needed to be part of the development process from day one.

I woke up early and started my day with a quick check on our cluster metrics in Kibana. The numbers looked good, but I was still worried about Kubernetes complexity. It’s easy to get lost in all the moving parts when you’re dealing with multiple services and deployments. Just as I was pulling out my laptop to dive into some code, my coworker Alex came over.

“Hey Brandon,” he said, “I’ve been thinking about how we can make our internal developer portal more useful. Have you heard of Backstage?”

“I have,” I replied. “It’s one of the projects that caught my eye too. It’s supposed to be a platform for developers to manage and navigate their work.”

Alex nodded enthusiastically. “Exactly! And it integrates with all sorts of tools we’re already using—GitLab, Kubernetes, Jenkins, you name it. We could build our own version of it here.”

I took a deep breath. “That sounds interesting, but let’s make sure we have a clear idea of what we want to achieve first. What are the key features we’d need?”

After some discussion, we settled on basic requirements: version control integration, CI/CD pipeline visibility, and cluster management tools. The goal was to provide a one-stop shop for developers to do their day-to-day work without leaving our platform.

As I sat down to write a proposal, my mind wandered back to the news from Hacker News earlier this morning:

  • “No Thank You, Mr. Pecker” — That article made me think about the importance of transparency and ethical business practices.
  • “Reflecting on My Failure to Build a Billion-Dollar Company” — Sometimes, it’s good to be reminded that success is not always linear or straightforward.
  • “Ask HN: What books changed the way you think about almost everything?” — I jotted down “Structure and Interpretation of Computer Programs” as something worth revisiting.

Back to work. I sketched out a basic outline for our internal developer portal:

  1. Authentication & Authorization: We’d need to integrate with GitLab’s OAuth2 for seamless user authentication.
  2. Project Management: A dashboard that shows all active projects, including their status and current phases (development, testing, production).
  3. CI/CD Pipeline Visibility: Display the status of pipelines in a visually intuitive way.
  4. Cluster Management Tools: Provide access to Kubernetes cluster resources through a user-friendly interface.

I decided to use Backstage as our starting point. It had the potential to save us time and effort by providing pre-built components for many of these features. However, I was also aware that customization would be necessary to fit our specific needs.

By lunchtime, Alex and I were still brainstorming about how we could integrate our existing tools with Backstage. The conversation turned to some of the recent tech trends:

  • eBPF—I’ve been following its progress but haven’t had a chance to dive in yet.
  • ArgoCD & Flux GitOps—These have definitely matured enough for us to consider implementing them, especially as our infrastructure scales.
  • Kubernetes Complexity Fatigue—It’s real. We need to find ways to manage our complexity without overwhelming our team.

During lunch, I caught a glimpse of the news headlines scrolling by on my phone:

  • UC terminates subscriptions with Elsevier in push for open access: Interesting stuff, but not directly relevant to us.
  • Google terminated our business via our Google Play Developer Account: A cautionary tale about vendor lock-in and the importance of having good backup plans.

After lunch, I spent some time refactoring a script that we use to manage pod deployments. There were some edge cases I needed to address before we could call it production-ready. It was tedious work, but necessary.

As the day drew to a close, I found myself thinking about how much had changed in just a few years. The tech landscape continues to evolve at breakneck speed, and staying ahead of the curve is challenging. But that’s what makes this job so rewarding—every day brings new opportunities to learn and improve.

Today was one small step towards building our internal developer portal. There were still many hurdles to overcome, but I felt a sense of progress. We’re moving in the right direction, even if it takes us a while to get there.


That’s how another day went by at work on February 18, 2019. It was filled with discussions about platform engineering and internal tools, along with some personal reflections on what I’ve been reading and learning. The tech world is dynamic, but the principles of good engineering remain constant: focus on solving real problems, iterate, and never stop learning.