Senior Backend Application Engineer
Power the Peloton Experience
As a member of Peloton’s Engagement API team you’ll be the one powering every user experience across Bike, Tread, mobile, web, and TV in four different countries. We help users take live and on-demand classes, send each other high-fives, compete on the leaderboard, take part in challenges, discover new music, and much more. We are building an API that changes people’s lives, you can check out the Peloton members page and see what our users are up to: https://www.facebook.com/groups/pelotonmembers/.
The Role
We are looking for collaborative engineers who have expertise in microservices. You'll help guide our efforts in building services for our backend API. You will work with the team to break out services relevant to our expanding business domains and produce high quality, reliable software for our internal and external users.
You are someone who thinks about simplicity, and works to provide solutions that reduce the complexity across services. You are team-focused and prioritize collective learning in addition to solving problems. You build collective ownership amongst the team by contributing to code reviews, designs, white-boarding, and pair-programming.
Expectations:
In your first weeks, you’ll learn about our API start to familiarize yourself with some of the challenges that we are facing. You'll contribute to our existing efforts to build a service-oriented architecture and split out services from the monolithic application.
In the following months you'll start contributing to major features and evaluate how they can fit into a service-oriented architecture. You'll help make the tough decisions around migrating code and databases, and transition traffic from our monolith to our new services and ensure their success. Finally, you'll help educate new team members and promote ways to improve quality across all our services.
Requirements:
- 7+ years of software engineering experience
- Experience designing RESTful APIs
- Experience with microservice architecture
- Experience with data modeling across different services
- Building, testing, deploying, and monitoring services
- Experience with authentication strategies for services including OAuth and JWT
- Understand HTTP, TCP, SSL in API and client contexts
- Advocate a test-driven mentality
- Strong object-oriented design skills
- Experience developing with Python or other object-oriented languages
- Experience with a variety of databases (Postgres, DynamoDB, ElasticSearch)
- Experience writing APIs for client applications (web, mobile, TV, hardware)
- Nice to Have Experience:
- Migrating monolithic applications into smaller services
- RPC design
- GraphQL
- Event based architecture
- Kubernetes
- Docker
- AWS technology
- Java or Kotlin