01 Nov
|
Sentry
|
Toronto
### Who you are
- Enjoy digging into the internals of storage systems and understanding how they behave when traffic grows, requests race, or a dependency has a bad day
- Care about a useful, easy-to-use API as much as what happens behind it
- Like working with other engineers to understand their needs and make their day-to-day work easier
- Want to follow your work from design and code through rollout and production for millions of developers
- Want open-source contributions to be at the center of your day job
- 5+ years of software engineering experience building and operating distributed, stateful systems in production
- Hands-on experience with object storage, relational databases, and caching systems at production scale. Experience with key-value or wide-column stores is a plus
- An understanding of distributed systems fundamentals, including consistency, concurrency, and what happens when requests fail or need to be retried
- Proficiency in a systems language such as Go, C++, Java, or Rust, and comfort working in Python. We primarily use Rust and Python, and welcome engineers who are new to Rust
- Experience running services on Kubernetes in a cloud environment, including observability, SLOs, and incident response. Familiarity with Terraform is a plus
- Good written and spoken English, especially in explaining technical choices and writing documentation
- Nice to have: experience building shared libraries or internal APIs, migrating data between systems, or improving system performance and cost ### What the job involves
- As a Senior Software Engineer on the team, you’ll work on both the systems and the code that makes them easy to use. You’ll tackle questions of data consistency, availability, performance,
and cost-efficiency, and work with product teams to turn their needs into practical solutions. The goal is simple: make the right way to store data the easy and obvious way
- Design and operate storage systems used across Sentry, including their configuration and performance tuning
- Create APIs and abstractions that make storage easy for product teams to use, with best practices for correctness, security, and scale built in
- Solve storage challenges at scale, including consistency under concurrent access, sharding and rebalancing, and routing reads and writes across storage backends as workloads grow
- Work with product engineers to choose storage approaches, plan safe migrations, and help teams adopt the tools you build
- Plan and build with other Platform and Infrastructure teams, including analytical storage and streaming, to deliver a complete, fault-tolerant platform for product teams. Align roadmaps and standards, and design for failures and recovery
- Improve storage performance and cost efficiency by making better use of backends and resources, while keeping the platform simple for product teams
- Write code primarily in Rust and Python, with clear user-facing documentation. Develop advanced testing scenarios, such as production-scale chaos tests covering backend and infrastructure outages
- Own latency and availability SLOs for your services, improve monitoring and incident response, and participate in the team’s on-call rotation ### Benefits
- Competitive Compensation + Equity
- 401k Plan
- Medical, Dental, Vision Insurance
- Commuter Stipend
- Professional Development Stipend
- Health & Wellness Benefits
- Charitable Matching Program
- Versatile PTO
- Paid Parental Leave
📌 Senior Software Engineer (Toronto)
🏢 Sentry
📍 Toronto