Strava is Swedish for “strive,” which epitomizes our attitude and ambition: We’re a passionate and committed team, unified by our mission to build the most engaged community of athletes in the world. Every day, we’re searching for new ways to inspire athletes and make the sports they love even more fun. But it’s not only about achieving – we’re an inclusive team, dedicated to elevating each other and the members of our community. That balanced approach has helped us revolutionize our industry, and we’re just getting started. Millions of athletes are on Strava, millions more will come. When you’re ready for a challenge and a team that will support you along the way, join us.
About this Job
As a Platform Engineer, you'll work with a talented team of other platform engineers and site reliability engineers to deliver highly scalable and reliable distributed systems powering the experience of millions of Strava athletes.
Strava has seen continued growth year over year. As a Platform Engineer you will help ensure that Strava remains fast, available, and scalable under ever-increasing load.
The Strava platform runs entirely on AWS, made up of a microservice architecture behind a large Rails application. Components are primarily written in Ruby and Scala, with the majority of software running on Mesos, Marathon, and Docker. We aim to be state of the art when it comes to deployment, monitoring, and scaling. In addition to handling web, mobile, and API traffic, we perform background stream and batch data processing on a variety of workloads, from just-in-time upload processing to building heat maps for the world.
We'd love to talk to you about the future of Strava’s server infrastructure and your role in it. Please take a look at the links below to learn about the exciting work we are doing.
- The Engineering Blog covers a wide range of topics, from how we rebuilt our leaderboard systems to how we have refined our interview process.
- Strava Labs shows off some of our R+D efforts, and gives a sense of the power and scale of Strava’s datasets.
- Work with other platform and site reliability engineers to design, build, and maintain highly scalable and fault-tolerant production systems and services, with an eye toward security.
- Proactively identify site scaling issues and help redesign systems to address them.
- Continually improve our internal infrastructure and tools.
- Help define how server-side software at Strava is built now and into the future.
- Provide technical feedback to other engineers through code reviews, engineering design reviews, and collaborative problem solving sessions.
- Participate in a 24/7 on-call rotation.
- B.S. in Computer Science or equivalent work experience.
- Experience with large, reliable, and scalable distributed systems.
- Experience with cloud-based services, especially Amazon AWS.
- Experience with a relational data store such as MySQL and ideally one or more other data stores (e.g. Redis, Cassandra)
- Excellent programming skills with at least one language such as Ruby or Scala
- Experience with Ruby on Rails, Scala
- Experience with open source technologies like Kafka, ZooKeeper, Finagle, Spark, Elasticsearch, Mesos, Marathon, Docker