Power the Peloton Experience
As a member of Pelotons Engagement API team youll be the one powering every user experience across Bike, Tread, mobile, web, & TV in four different countries. We help users take live & on-demand classes, send each other high-fives, compete on the leaderboard, take part in challenges, discover new music, & much more. We are building an API that changes peoples lives, you can check out the Peloton members page & see what our users are up to: https://www.facebook.com/groups/pelotonmembers/.
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 & produce high quality, reliable software for our internal & external users.
You are someone who thinks about simplicity, & works to provide solutions that reduce the complexity across services. You are team-focused & prioritize collective learning in addition to solving problems. You build collective ownership amongst the team by contributing to code reviews, designs, whiteboarding, & pair-programming.
In your first weeks, youll 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 & split out services from the monolithic application.
In the following months you'll start contributing to major features & evaluate how they can fit into a service-oriented architecture. You'll help make the tough decisions around migrating code & databases, & transition traffic from our monolith to our new services & ensure their success. Finally, you'll help educate new team members & promote ways to improve quality across all our services.
- 7+ years of software engineering experience
- Strong understanding of RDBMS, specifically Postgres
- Strong understanding of database optimizations, operations, & management
- Understanding of interactions of databases in a microservice world, specifically with respect to complex service interactions
- Understanding of complex, scalable N:N data models
- Strong fundamentals in microservice architecture
- Understanding of options for complex joins across multiple services
- Understanding of pros/cons of monolithic vs. service architectures
- Understanding of mainstream service protocols
- Understanding of both stateful & stateless service architecture
- Experience with monolith to service migrations
- Experience with a non-RDBMS databases (DynamoDB, ElasticSearch)
- Experience with data modeling across different services
- Building, testing, deploying, & monitoring services
- Understand HTTP, TCP, SSL in API & client contexts
- Advocate a test-driven mentality
- Experience developing with Python or other object-oriented languages
- Experience writing APIs for client applications (web, mobile, TV, hardware)
- Nice to Have Experience:
- Migrating monolithic applications into smaller services
- RPC design
- Event based architecture
- AWS technology
- Java or Kotlin