$ cat post/compile-errors-clear-/-we-containerized-the-past-/-no-rollback-existed.md

compile errors clear / we containerized the past / no rollback existed


Title: January 2014: Dockering Around with the New Kids on the Block


January 2014 was a month of transition. I remember it vividly as we were just starting to explore containers, and microservices were beginning to gain traction in our organization. The buzz around Docker was palpable, but so was the skepticism—were we too early? Too late? The tech world was abuzz with all sorts of interesting stories that had nothing to do with my day-to-day work, like Steve Wozniak bashing the movie “The Intern.” But the real excitement was in the tools and technologies we were playing with.

We had just begun using Docker containers at our company. It felt like a breath of fresh air compared to our previous setup. We were experimenting with how microservices could help us break down our monolithic applications into smaller, more manageable pieces. The idea of managing stateless services that could scale horizontally was intriguing. I remember sitting in meetings where we debated whether Kubernetes or Mesos would be the best way to orchestrate these containers. Both technologies seemed promising, but neither had reached a maturity level that made them production-ready yet.

One day, our application went down. It wasn’t due to a bug per se, but rather an unexpected state transition between services. We were using Docker for deployment and Kubernetes for orchestration, and the two didn’t play well together just yet. Debugging this issue was like trying to untangle a ball of Christmas lights: there were so many moving parts that it took hours to track down what went wrong. We had to roll back our changes and stabilize the system before we could even start to think about how to improve our setup.

It wasn’t all about tech, though. There were plenty of distractions outside work. Edward Snowden’s Nobel Peace Prize nomination was a headline-grabber that month, much like the story of someone losing their prized Twitter handle. These stories reminded me that while I was worrying over containers and microservices, there was so much more going on in the world.

In my personal life, Light Table caught my eye as an open-source tool. It promised to revolutionize how developers interact with code. While we didn’t fully integrate it into our workflow (yet), it sparked a lot of conversations about the future of development tools and IDEs. I remember feeling a bit like a luddite when I continued to use Sublime Text, but that’s part of being a pragmatist.

The Gmail outage was another highlight. It wasn’t just any downtime—it was the kind where everyone could see it happening in real-time on their screens. Seeing 1 billion users impacted by something as simple as a misconfigured DNS record really put things into perspective for us. We were still using a lot of cloud services, and this event made me realize how critical it is to have robust monitoring and disaster recovery plans.

As I reflect on January 2014, I can see that while we had our heads down experimenting with Docker and Kubernetes, the world around us was changing in profound ways. The tech landscape was evolving rapidly, and every day brought new challenges and opportunities. It’s moments like these that make me realize how much learning there is to be done—and how much more we have yet to figure out.


January 2014 will always be a blur of experiments, setbacks, and excitement. But it was also a reminder that while I was working on something new, so much else was happening in the world. It’s these moments that define my journey as an engineer and a witness to the technological revolution of our time.