What are the responsibilities and job description for the Software Engineer, Leaderboard position at Peloton?
Software Engineer, Leaderboard
The Leaderboard Engineering team is responsible for the core leaderboard experience when someone takes a Peloton class. The leaderboard shows a person’s real time ranking or presence in the class. It is one of the most heavily used features and serves some of the heaviest traffic within the Peloton system.
Responsibilities
- Develop and improve the in-class leaderboard user experience which include leaderboard for live classes, leaderboard for on-demand classes, leaderboard that shows people’s presence, and filtering on the leaderboard.
- Improve leaderboard performance and reliability by leveraging production monitoring/profiling/tracing and load testing tools to discover bottlenecks and using techniques such as data modeling, query optimization, and caching to address the bottlenecks.
- Evolve the architecture of various components and services in the leaderboard system. Propose, experiment, and implement solutions to scale the leaderboard to hundreds of thousands of concurrent users.
- Achieve on-time delivery without compromising quality.
Qualifications
- Strong understanding of software engineering principles and fundamentals including data structures and algorithms.
- Good understanding of concurrency and threading, operating system internals, and networking.
- Experience scaling large scale web applications. Good understanding of request processing, caching, queuing, data storage, partitioning, and replication. Demonstrated experience leveraging those understandings to solve scaling challenges.
- Proficient in at least one programming language, e.g., Python, Java, Kotlin, Go, C , C.
- Self directed and detail oriented with ability to come up with good design proposals or thorough analysis of production issues.
- Experience in the following areas:
- Request Processing: Restful API endpoint design principles; Load balancing concepts; Communication and RPC protocols such as HTTP, TCP, gRPC.
- Caching: Memcache, Redis
- Relational Database: Postgres, or MySQL
- NoSQL Database: Cassandra, Dynamodb, Mongodb, etc
- Monitoring/Tracing/Profiling: Monitoring tools such as Datadog, Tracing tools such as Zipkin or Datadog APM
- Deploy platforms and tooling: Jenkins, Kubernetes
Devops Engineer
Inabia Software & Consulting Inc. -
New York, NY
EMEA Senior Engineer
JTek Software Solutions -
New York, NY
Senior Engineer Elixir
JTek Software Solutions -
New York, NY