Senior Software Engineer, Foundational Storage
Senior Software Engineer · Senior · Full Time
Opens Sentry's application page
Role
What you'll do.
Senior Software Engineer role on Sentry's Foundational Storage team, responsible for designing, building, and operating stateful storage systems including object storage, relational databases, key-value stores, and caches that power all of Sentry's products. You'll work on distributed systems architecture, data consistency protocols, API design, and performance optimization while collaborating with cross-functional teams to support 200,000+ organizations using Sentry's application monitoring platform. This position requires 5+ years of production experience with distributed systems and hands-on expertise in storage technologies, with a strong focus on Rust and Python development in a Kubernetes-based cloud environment.
Responsibilities
- Design and Operate Storage Infrastructure: Design and operate stateful storage systems used across Sentry's infrastructure, including object storage, relational databases, key-value stores, and caches. Oversee system configuration, performance tuning, and scaling strategies to ensure reliability and efficiency across production environments supporting 200,000+ organizations.
- Develop Storage APIs and Abstractions: Create user-friendly APIs and abstraction layers that simplify storage system complexity for product teams. Implement best practices for data consistency, security, and scalability directly into the abstraction layer, making the correct approach the obvious choice for internal engineers.
- Solve Distributed Storage Challenges: Address complex storage engineering challenges at scale, including data consistency under concurrent access patterns, distributed sharding and rebalancing strategies, multi-backend routing for read/write operations, and capacity planning as workloads grow exponentially.
- Collaborate with Product Teams: Partner with product engineers to evaluate storage approaches, design safe data migration strategies, and provide technical guidance on adopting new storage tools. Act as a storage systems expert to unblock product teams and ensure optimal storage decisions.
- Cross-Team Platform Coordination: Work with Platform and Infrastructure teams across analytical storage, streaming, and observability domains to build a fault-tolerant, comprehensive platform. Align roadmaps, establish storage standards, design for failure scenarios, and implement robust recovery mechanisms.
- Optimize Performance and Cost Efficiency: Continuously improve storage system performance and reduce infrastructure costs through better resource utilization, backend optimization, and architectural improvements. Balance cost efficiency with platform simplicity for product teams.
- Core Development and Testing: Write production-grade code primarily in Rust and Python with a focus on clarity and maintainability. Develop advanced testing scenarios including production-scale chaos testing that simulates backend failures, infrastructure outages, and network partitions.
- Own Service Reliability and Incident Response: Own latency and availability SLOs for storage services. Improve monitoring and observability, lead incident response efforts, and participate in on-call rotation to ensure production systems maintain service level objectives.
- Open-Source Development: Contribute to and maintain open-source projects such as Sentry's Objectstore. Create clear, comprehensive user-facing documentation and share knowledge with the broader engineering community.
Qualifications
What we look for.
Technical
Distributed Systems Expertise
Deep understanding of distributed systems fundamentals including data consistency models (eventual, strong), concurrency control, consensus algorithms, fault tolerance, and behavior under adverse conditions such as network partitions and cascading failures.
Storage Systems Experience
Hands-on production experience with multiple storage technologies including object storage systems, relational databases, caching systems, and familiarity with key-value or wide-column stores. Must understand data modeling, indexing, query optimization, and operational characteristics of each.
Systems Programming Languages
Proficiency in at least one systems language (Go, C++, Java, or Rust) with demonstrated ability to write performant, memory-safe code. Comfort working in Python for scripting, tooling, and service development.
Kubernetes and Cloud Infrastructure
Practical experience running services on Kubernetes in cloud environments with expertise in observability, SLO definition and tracking, incident response workflows, and infrastructure-as-code tools like Terraform.
API and Library Design
Experience designing shared libraries, internal APIs, and abstraction layers that balance functionality with usability. Understanding of API versioning, backward compatibility, and developer experience optimization.
Education
Computer Science Fundamentals
Strong foundation in computer science principles including algorithms, data structures, operating systems, and networking. Equivalent professional experience may substitute for formal degree.
Experience
Production Systems Development
5+ years of professional software engineering experience specifically building and operating distributed, stateful systems in production environments at scale.
Data Migration and System Refactoring
Experience planning and executing safe data migrations between storage systems, including schema evolution, consistency verification, and zero-downtime deployment strategies.
Performance and Cost Optimization
Track record of improving system performance and reducing infrastructure costs through architectural improvements, resource optimization, and operational efficiency gains.
Cross-Functional Technical Leadership
Experience working with multiple engineering teams to understand requirements, establish standards, and provide technical guidance on infrastructure and platform decisions.
Skills
Required
Rust Programming
Advanced proficiency in Rust for building high-performance, memory-safe systems. Experience with async/await patterns, error handling, and building production libraries and services.
Python Development
Strong Python skills for scripting, automation, service development, and rapid prototyping. Familiarity with Python ecosystem tools and libraries for systems programming.
Distributed Systems Design
Ability to design and reason about distributed systems, including consensus protocols, replication strategies, consistency guarantees, and failure scenarios.
SQL and Data Modeling
Expertise in relational database design, SQL query optimization, and understanding how databases implement consistency and durability guarantees.
Technical Communication
Excellent written and verbal communication skills for explaining complex technical decisions, architectural trade-offs, and writing clear documentation for engineering teams.
Preferred
Key-Value and Wide-Column Store Experience
Nice to haveHands-on experience with systems like DynamoDB, Cassandra, or similar NoSQL databases used for high-scale distributed storage.
Go or C++ Proficiency
Nice to haveAdditional expertise in Go or C++ demonstrates versatility with systems languages and experience building performant infrastructure code.
Terraform and Infrastructure-as-Code
Nice to haveExperience with Terraform or similar IaC tools for provisioning and managing cloud infrastructure at scale in repeatable, version-controlled ways.
Open-Source Contribution
Nice to haveHistory of contributing to or maintaining open-source projects, demonstrating ability to write code for external audiences and navigate community development workflows.
Observability and Monitoring
Nice to haveExperience designing monitoring systems, defining SLOs/SLIs, implementing distributed tracing, and using observability tools to diagnose production issues.
Chaos Engineering
Nice to haveFamiliarity with chaos engineering principles and tools for testing system resilience under failure conditions, including network partitions and component failures.
Tech stack
Languages
Frameworks
Databases
Tools
Other
Compensation
Pay and benefits.
Base·USD 190,000 – 400,000
Equity·Stock options
Benefits
Equity Compensation
Eligibility to participate in equity grant programs, allowing you to benefit from Sentry's growth as a trusted platform serving 200,000+ organizations.
Comprehensive Health Insurance
Group health insurance coverage including medical, dental, and vision plans.
Paid Time Off
Generous paid time off policy to maintain work-life balance and support employee wellbeing.
Incentive Compensation
Performance-based incentive compensation programs aligned with company and personal goals.
Open-Source Development
Opportunity to contribute to open-source projects like Sentry's Objectstore as part of your core responsibilities, with support for community engagement.
Professional Development
Access to learning resources and opportunities to develop expertise in distributed systems, storage technologies, and cloud infrastructure.
Diverse and Inclusive Culture
Sentry is committed to building a diverse team with an inclusive culture where every teammate can thrive. Reasonable accommodations provided for employees with disabilities.
Process
Interview steps.
- 01
Initial Screening
Recruiter screen to discuss your background, experience with distributed systems and storage technologies, and alignment with the role's requirements and team culture.
- 02
Technical Assessment
In-depth technical conversation focusing on your experience with production storage systems, distributed systems design decisions, and hands-on experience with object storage, databases, or caching systems.
- 03
Systems Design Interview
Collaborative discussion on designing storage architectures, addressing consistency and availability trade-offs, handling failure scenarios, and API design for complex storage problems.
- 04
Code Review and Implementation
Review of your production code or implementation of a storage systems challenge in your preferred language (Rust or Python preferred), demonstrating problem-solving approach and coding quality.
- 05
Team and Culture Fit
Conversations with team members and cross-functional stakeholders to assess collaboration style, communication skills, and alignment with Sentry's engineering culture and values.
- 06
Leadership and Impact Discussion
Discussion of your experience driving technical decisions, working across teams, and your vision for improving storage systems and developer experience.
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 $190,000 to $400,000 USD. 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.
Engineering Manager, Data Platform
Manager
Director of Engineering, Platform (Runtime & Stateful Systems)
Director
Staff Software Engineer, Platform & Infrastructure
Staff
Senior Software Engineer, Foundational Storage
Senior
Software Engineer, Streaming Platform
Mid