Migrating the Engineering Blog to Medium

At Strava Engineering we’ve been using a Jekyll powered static markdown blog hosted on GitHub pages since early 2015. A few weeks ago we transitioned our blog entirely to Medium.

We are making a renewed commitment to share the amazing engineering work at Strava with the world. To truly enable and encourage all of our engineers to participate and share their work we need a blogging platform that:

  • requires minimal effort to maintain;
  • makes our content look good; and
  • reduces barriers to writing a post.

We had run into a few issues…

Jekyll is pretty awesome. Many of us like composing in Markdown, in our favorite editors, with full control over our blog’s appearance. But there are very clear downsides to this approach.

Running a version of the blog locally usually required some fiddling with Ruby versions or Docker, re-learning how to write Markdown post headers and remembering where to store images so that they displayed properly.

We used Pull Requests to edit blog content and provide feedback. Pull Requests are great, we use them everyday for code reviews, but they are not ideally suited to editing blog content. Integration of images and text was challenging because the preview view in Pull Requests did not work with our image directory structure and did not incorporate our blog layout. This made it difficult for reviewers to view the final product and provide feedback without running the blog locally.

We wanted to make it easy for our blog posts to be shared. This usually means providing social sharing links from the blog post directly. But the social share buttons we had configured in Jekyll were either missing or not working.

We also wanted to be able to track engagement with our posts. But our Google Analytics setup was hacky because we needed a separate tracking code for the engineering blog in order to get meaningful traffic data and avoid being over-sampled by other more frequented parts of the Strava website.

Moving Forward

You might be asking yourself, “you’re engineers, isn’t it your job to build websites?” That’s totally true, but we want to spend our time making the Strava product excellent, not maintaining or writing a blogging platform.

We selected Medium because it’s simple and makes the process of creating beautiful content easy. We don’t need to manage a WordPress site or installation, we don’t need to re-learn how to write a blog post every time we want to share our work, we can just focus on writing. We think Medium has pretty much hit the sweet spot and we’re motivated to start sharing more regularly.

If you’re interested in working at Strava Engineering and contributing to the work we’re doing, we are hiring!