The GitLab Upgrade

Oct 15, 2021

Today, GitLab went public. It's a special moment for the team and open-source and remote work generally. No analysis in this post, but a personal story about me and GitLab from years ago.

Back in 2015, I spent an all-nighter at work upgrading our GitLab servers for the entire company. A few times, I nearly corrupted all the code in the company. Here's how it went.

It was my first job out of college, and I was an ambitious software engineer working for a large private equity company. We were doing some really interesting projects, and I was pushing code to production multiple times a day. In fact, one of the projects I was working on needed more and more resources and more extensive production monitoring. I found myself mano e mano with the Ops team, the gatekeepers of our on-premise datacenter.

I was able to convince management to give me the keys to the production castle in exchange for taking on a bunch of extra DevOps work – helping out the team with CI/CD, monitoring, load balancing, and releases.

At one point, I found myself volunteering to upgrade our GitLab instance – as a roundabout way of letting myself design the end-to-end CI/CD pipeline for my project without IT involved. Now, GitLab was only a year or two old, and didn't have the best documentation – or upgrade process. Of course, everything that went wrong did – misconfigured load balancers, resource issues, and more than enough custom data migration scripts that I had to write. But at the end of the day, we migrated and all the code still worked as well as it did before (bugs included!).

In retrospect, a lot of the DevOps work I did – simply because I didn't trust the Ops team to service my application – lead me to work on Kubernetes at Google. I gained some early exposure to CI/CD pipelines, Observability (we ended up being early users of DataDog to monitor those services), and all sorts of developer tools. So when I saw Docker, Mesos (!), and then Kubernetes, I knew how game-changing they would be right away.

GitLab didn't just impact me from an engineering perspective but from a growth perspective. Their radical transparency in their company's processes and organization gave me a literal blueprint when thinking about building my own SaaS company. Over the last few years, I've read it from front to back, learning what a best-in-class company looks like from the inside out. So congrats to the team at GitLab! Not only for a successful outcome but for helping craft the next generation of engineers and entrepreneurs through their openness.