Senior Backend Software Engineer at Zwift
Long Beach, CA, US

Who we are:

We are the fitness company born from gaming. And we’re on a mission to make more people, more active, more often. We make an at-home training game that connects cyclists and runners with each other around the world. Launched from the sunny beaches of Long Beach, CA., the Zwift community is active in 195 countries and growing. We’re endlessly positive, relentlessly inventive, and always looking to improve. Sound interesting?

Who we're looking for:

The Zwift backend stack is built using cutting-edge technologies. It is a heterogeneous stack, but most building blocks are built with Java. We also leverage the most modern tools from Amazon AWS to enable our architecture to scale.
You will be responsible for securing our APIs, protecting it against abuse, and tuning authentication and authorization services.

You will be part of a high-performance team, full of experienced developers. You will interact with them to find the best alternatives to protect our backend APIs, through use of rate limiting and throttling, role based permissions and authentication via OAuth protocols.
You will manage our current SSO implementation, using Redhat SSO and Okta, and be on the lookout for more modern and scalable solutions. You will understand the current pattern of API calls our applications make and make recommendations on rate limiting and throttling settings to keep crawlers at bay. You will review the monitoring and alerting set up to make sure API usage is under expected rates.

What we're looking for:

  • Fluency in English (interviews will be conducted in English)
  • BS in Computer Science or Relevant Technical Area, or 7+ years of experience as a backend Engineer
  • Advanced knowledge in OAuth2 and other authorization frameworks
  • Deep knowledge of HTTP REST API
  • Experience in Java and C++ (JBoss/Wildfly is a plus)
  • Knowledge of Javascript, Python or another scripting language
  • Knowledge of Redhat SSO and other SSO solutions
  • Experience with test tools like JUnit, Arquillian, JMeter, Postman, etc.
  • Experience with Relational Database Systems (PostgreSQL, MySQL or Oracle)
  • Knowledge of non-relational database systems, such as Redis, ElasticSearch, MongoDB, DynamoDB, Riak or Neo4J.
  • Experience with Git and Git flow, or other distributed VCS
  • Experience with unit and integration tests, and Continuous Integration
  • Knowledge of Unix/Linux shell scripting and tools like awk, sed, curl
  • Experienced mentorship of mid and junior level engineers
  • Active role in discussing technical implementations, decisions and prioritizations
  • Availability to travel

Bonus Points:

  • Enthusiasm for cycling
  • Knowledge of container technologies, such as Docker
  • Experience with frameworks like Django, Rails, and Express.js
  • Experience with geographically distributed teams
  • Experience with agile development methodologies like Scrum or Kanban
  • MSc or Ph.D. in Computer Science or Relevant Technical Area
  • Experience in distributed systems
  • Experience with Jenkins, CircleCI, TeamCity or similar

Top 5 Reasons We Think You'll Love It Here:

  • Great Employee Fitness Program
  • Awesome team of diverse individuals that love what they do
  • Did we mention that we ride bikes at work?
  • Competitive salary, based on your skills and experience 
  • Cool and quiet office in Ipanema, one of the best neighborhoods in Rio, close to the beach
  • Monthly happy hours hosted at the office's rooftop, with cool guest's presentations
  • Free snacks and amazing coffee

Zwift, Inc. is an Equal Opportunity Employer.