Senior Software Engineer, Foundational Storage

Backend Engineer · Senior · Full Time

Toronto, Ontario, CanadaCAD 200k – 420k2w ago
Apply for this role

Opens Sentry's application page

Role

What you'll do.

Join Sentry's Foundational Storage team as a Senior Software Engineer to design and operate mission-critical distributed storage systems serving 200,000+ organizations. This role focuses on building scalable storage abstractions, APIs, and services using Rust and Python while solving complex challenges around data consistency, performance, and cost-efficiency at scale. You'll work cross-functionally with product teams to make production-grade storage accessible and simple for engineers across the organization.

Responsibilities

  • Design and Operate Distributed Storage Systems: Design, deploy, and maintain stateful storage systems including object storage, relational databases, key-value stores, and caching infrastructure. Handle configuration management, performance tuning, scaling strategies, and infrastructure optimization to support millions of developers and 200,000+ organizations using Sentry's platform.
  • Build Storage APIs and Abstractions: Create intuitive APIs, SDKs, and abstraction layers that simplify storage system access for product engineers. Embed best practices for correctness, security, and scalability directly into the tools, reducing cognitive overhead and enabling teams to adopt storage solutions without deep distributed systems expertise.
  • Solve Distributed Systems Challenges at Scale: Address complex technical problems including maintaining data consistency under concurrent access patterns, implementing intelligent sharding and rebalancing strategies, routing read/write operations across distributed backends, and managing state during infrastructure failures and growth phases.
  • Collaborate on Storage Strategy and Migrations: Partner with product engineering teams to evaluate storage technology options, design safe data migration strategies, coordinate rollouts, and provide expert guidance on adoption of new storage tools. Own the migration process from planning through production validation.
  • Align Cross-Platform Infrastructure: Coordinate with Platform and Infrastructure teams across analytical storage, streaming, and observability domains. Establish shared standards, design fault-tolerant platform components, and build recovery mechanisms that ensure the entire infrastructure ecosystem remains resilient and efficient.
  • Optimize Performance and Cost Efficiency: Continuously improve storage performance characteristics and reduce operational costs through intelligent backend utilization, resource optimization, and architectural improvements. Balance performance gains with platform simplicity to ensure product teams benefit from efficiency improvements without added complexity.
  • Write Production-Grade Code and Tests: Develop robust, well-documented code primarily in Rust and Python with comprehensive test coverage. Create advanced testing scenarios including production-scale chaos engineering tests that simulate backend failures, infrastructure outages, and edge cases to ensure system resilience.
  • Own Service Reliability and On-Call Responsibilities: Take ownership of latency and availability SLOs for storage services. Improve monitoring, alerting, and incident response capabilities. Participate in on-call rotation, respond to production incidents, and drive post-incident improvements that prevent recurrence.

Qualifications

What we look for.

Technical

  • Distributed Systems Design

    Deep understanding of distributed systems fundamentals including consensus algorithms, consistency models (strong, eventual, causal), replication strategies, and failure modes. Experience reasoning about concurrency, race conditions, idempotency, and retry semantics in production environments.

  • Production Storage Systems Experience

    Hands-on experience operating and optimizing object storage systems (S3, GCS, MinIO), relational databases (PostgreSQL, MySQL, etc.), and caching layers (Redis, Memcached) at production scale. Knowledge of key-value or wide-column stores (DynamoDB, Cassandra, HBase) is valuable.

  • Systems Programming Languages

    Proficiency in at least one systems language (Go, C++, Java, or Rust) with strong fundamentals in low-level abstractions, memory management, and performance optimization. Comfort with Python for systems integration and tooling. Preference for engineers familiar with or willing to master Rust.

  • Kubernetes and Cloud Infrastructure

    Production experience running containerized services on Kubernetes clusters in cloud environments (AWS, GCP, Azure). Familiarity with Infrastructure-as-Code tools like Terraform, observability platforms, SLO/SLI definition, and incident response workflows.

  • Data Consistency and Concurrency

    Practical experience managing data consistency in concurrent environments, implementing sharding and partitioning strategies, coordinating writes across replicas, and handling edge cases in distributed transactions and failover scenarios.

Education

  • Computer Science or Related Discipline

    Bachelor's degree in Computer Science, Computer Engineering, Systems Engineering, or equivalent practical experience demonstrating strong foundational knowledge in data structures, algorithms, and systems design.

  • Technical Communication Skills

    Strong written and verbal English communication ability, with demonstrated capability explaining complex technical concepts clearly. Ability to write clear documentation, design documents, and RFCs that guide decision-making across teams.

Experience

  • 5+ Years Building Distributed Systems

    Minimum five years of professional software engineering experience designing, building, and operating distributed, stateful systems in production environments. Track record of shipping systems that handle millions of requests, complex failure scenarios, and significant operational demands.

  • Storage Infrastructure at Scale

    Demonstrated experience with production deployment and optimization of multiple storage technologies. Evidence of improving system performance, reducing latency, optimizing costs, or managing complex data migrations at meaningful scale.

  • Cross-Functional Collaboration

    Experience working closely with product engineering teams, platform teams, and infrastructure operators. Proven ability to gather requirements, communicate technical tradeoffs, and build solutions that balance multiple stakeholder needs.

  • Open Source Contribution

    Nice to have: experience contributing to or maintaining open-source projects, particularly infrastructure or storage-related projects. Familiarity with open-source development workflows, community engagement, and building software for external users.

Skills

Required

  • Rust

    Primary language for storage systems development at Sentry. Strong proficiency in Rust's ownership model, type system, and concurrency primitives essential for building reliable, high-performance systems code.

  • Python

    Used alongside Rust for systems integration, tooling, and operations automation. Comfort with Python scripting, testing frameworks, and infrastructure management tools required.

  • PostgreSQL / Relational Database Operations

    Hands-on operational experience with PostgreSQL or similar relational databases including replication, sharding, performance tuning, and backup/recovery strategies.

  • Redis / Key-Value Stores

    Practical experience deploying, operating, and optimizing Redis or similar caching/key-value systems in production, including clustering, persistence strategies, and monitoring.

  • Object Storage Systems

    Production experience with object storage platforms (AWS S3, Google Cloud Storage, MinIO) including API design, consistency guarantees, and large-scale operational patterns.

  • Kubernetes Administration

    Proficiency operating Kubernetes clusters including workload deployment, resource management, networking, persistent volumes, and troubleshooting cluster-level issues.

  • Terraform / Infrastructure-as-Code

    Experience defining and managing cloud infrastructure through code, enabling reproducible deployments and version-controlled infrastructure changes.

  • Systems Design and Architecture

    Ability to design scalable distributed systems from first principles, evaluating tradeoffs between consistency, availability, latency, and cost. Experience creating technical designs addressing production requirements.

  • Observability and Monitoring

    Experience implementing comprehensive monitoring, logging, and tracing for distributed systems. Proficiency with observability platforms and defining/tracking SLOs and SLIs.

Preferred

  • Go or C++

    Nice to have

    Experience with other systems programming languages demonstrates ability to quickly master new languages and understand low-level system behavior across different language ecosystems.

  • Data Migration Experience

    Nice to have

    Practical experience planning and executing complex data migrations between systems, including validation strategies and minimizing downtime in production environments.

  • Cassandra / Wide-Column Stores

    Nice to have

    Experience with distributed wide-column store databases provides valuable perspective on eventual consistency models and horizontal scalability patterns.

  • Chaos Engineering

    Nice to have

    Experience designing and running chaos engineering experiments, building failure injection frameworks, and using chaos testing to improve system resilience and incident response.

  • Cost Optimization

    Nice to have

    Track record of identifying and implementing infrastructure cost reduction initiatives through better resource utilization, architectural improvements, or vendor optimization strategies.

  • Open Source Project Leadership

    Nice to have

    Experience maintaining open-source projects, managing contributor communities, and establishing project standards. Familiarity with Sentry's Objectstore or similar open-source infrastructure projects is a plus.

  • Cloud Provider Expertise

    Nice to have

    Deep experience with specific cloud providers (AWS, GCP, Azure) including advanced networking, storage services, and cost management features that optimize infrastructure deployment.

  • Incident Response Leadership

    Nice to have

    Experience leading or coordinating incident response in distributed systems, implementing post-incident review processes, and building organizational resilience through systematic improvement.

Tech stack

Languages

RustPython

Frameworks

Actix or TokioSQLAlchemy

Databases

PostgreSQLRedisS3 / Object Storage

Tools

KubernetesTerraformPrometheusGrafanaGitDocker

Other

gRPCProtocol BuffersDistributed TracingSLO/SLI Frameworks

Compensation

Pay and benefits.

Base·CAD 200,000 – 420,000

Equity·Stock options

Benefits

  • Equity Grants

    Eligible employees participate in Sentry's equity grant program, providing ownership stake and long-term financial incentives aligned with company success.

  • Paid Time Off

    Comprehensive paid time off policy supporting work-life balance, mental health, and employee wellbeing through generous vacation and personal days.

  • Group Health Insurance Coverage

    Comprehensive health insurance benefits covering medical, dental, and vision care for employees and eligible dependents.

  • Incentive Compensation

    Performance-based compensation opportunities that reward individual and team contributions to company objectives and strategic initiatives.

  • Inclusive Culture and Equal Opportunity

    Sentry is committed to building a diverse and inclusive workplace where every team member can thrive, with reasonable accommodations provided for employees with disabilities.

  • Open Source Focused Mission

    Work on open-source infrastructure projects like Objectstore as part of your day job, contributing to software accessibility and developer tools worldwide.

Full posting

Original listing.

About Sentry

Software runs the world and the pace is faster than ever. Sentry helps developers fix errors and performance issues before users notice, so teams can spend less time firefighting and more time building.

Trusted by 200,000+ organizations, Sentry is today’s application monitoring standard and our team is building its AI-native future.

About the role

Sentry’s Foundational Storage team builds and supports the stateful storage systems that all our products rely on: object storage, relational databases, key-value stores, and caches. We help Sentry engineers store and access data consistently, durably, securely, and efficiently as our products and traffic grow.

We develop storage services like our open-source Objectstore and build libraries and APIs that make existing storage systems easier to use. In our own services, we design storage protocols that keep data consistent across backends, even through concurrent updates and failures. Our abstractions let other engineering teams use storage without worrying about which cluster or instance holds their data.

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.

In this role you will

  • 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.

You’ll love this job if you

  • 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.

Qualifications

  • 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.

 

The base salary range (or hourly wage range, if applicable) that Sentry reasonably expects to pay for this position is $200,000 to $420,000 CAD. A successful candidate’s actual base salary (or hourly wage) amount will be determined by a variety of relevant factors including, without limitation, the candidate’s work location, education, work and other relevant experience, skills, and job-related knowledge. A successful candidate will be eligible to participate in Sentry’s employee benefit plans/programs applicable to the candidate’s position (including incentive compensation, equity grants, paid time off, and group health insurance coverage). See Sentry Benefits for more details about the Company’s benefit plans/programs.

Equal Opportunity at Sentry

Sentry is committed to providing equal employment opportunities to its employees and candidates for employment regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, veteran status, or other legally-protected characteristic. This commitment includes the provision of reasonable accommodations to employees and candidates for employment with physical or mental disabilities who require such accommodations in order to (a) perform the essential functions of their jobs, or (b) seek employment with Sentry. We strive to build a diverse team, with an inclusive culture where every teammate can thrive. Sentry is an open-source company because we believe that everyone, everywhere, should have the ability and tools to make great software. Software should be accessible. That starts with making our industry accessible.

If you need assistance or an accommodation due to a disability, you may contact us at [email protected].

Want to learn more about how Sentry handles applicant data? Get the details in our Applicant Privacy Policy.

Redirects to Sentry's application page.

Other roles

More at Sentry.

View all 22 roles