Senior Software Engineer, Foundational Storage

Sentry
San Francisco, CA
Hybrid

Who this role is best for

Candidates with distributed systems expertise and a passion for open-source will find this role in storage system design and operation at Sentry.

Best fit for

  • Candidates with 5+ years in distributed systems and a track record of building storage solutions at scale
    — “5+ years of software engineering experience building and operating distributed, stateful systems in production.”
  • Individuals who value open-source contributions and want to influence platform-wide storage standards
    — “Want open-source contributions to be at the center of your day job.”
  • Engineers experienced in designing fault-tolerant systems and handling concurrent access scenarios
    — “Solve storage challenges at scale, including consistency under concurrent access, sharding and rebalancing.”

Things to consider

  • On-call rotation is expected, with responsibility for service-level objectives and incident response
    — “Own latency and availability SLOs for your services, improve monitoring and incident response, and participate in the team’s on-call rotation.”
  • The role requires a strong ability to write and explain technical documentation for user-facing APIs
    — “Write code primarily in Rust and Python, with clear user-facing documentation.”

How to stand out

  • Highlight experience with storage system design and implementation in your resume and interview responses
    — “Design and operate storage systems used across Sentry, including their configuration and performance tuning.”
  • Emphasize your ability to build APIs that simplify storage usage for product teams
    — “Create APIs and abstractions that make storage easy for product teams to use.”
  • Demonstrate your understanding of distributed systems fundamentals and how they apply to real-world scenarios
    — “An understanding of distributed systems fundamentals, including consistency, concurrency, and what happens when requests fail or need to be retried.”
  • Include examples of working with Kubernetes and cloud environments in your application materials
    — “Experience running services on Kubernetes in a cloud environment.”
Pace · Fast PacedCollaboration · HighAutonomy · HighDecision Impact · Team

Derived from job-description analysis by Serendipath's career intelligence engine.

What success looks like

  • designed and operated storage systems
  • created APIs for easy storage use
  • solved storage challenges at scale
Typical background
5+ years of software engineering experienceexpertise in distributed systems

Skills & requirements

Required

Distributed SystemsStorage SystemsAPI DesignRustPythonStorage ProtocolsData ConsistencyPerformance Tuning

Preferred

Open-source ContributionsAi-native Solutions

Stack & domain

RustPythonDistributed SystemsStateful SystemsObject StorageRelational DatabasesKey-value StoresCachesStorage ProtocolsStorage ChallengesStorage ApproachesStorage BackendsRouting Reads And WritesStorage PerformanceCost EfficiencyProduction-scale Chaos TestsBackend And Infrastructure OutagesLatency And Availability SlosMonitoring And Incident ResponseOn-call RotationAbility To Work With Other EngineersUnderstanding Of Storage SystemsAbility To Make Storage Easy For Product TeamsFollowing Work From Design And Code Through Rollout And ProductionOpen-source ContributionsSoftware EngineeringStorage SystemsData ConsistencyAvailabilityPerformanceCost-efficiencyAPI DesignAbstractions

About the role

Original posting from Sentry via Ashby

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 https://github.com/getsentry/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 https://sentry.io/careers/ 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 accommodations@sentry.io.

Want to learn more about how Sentry handles applicant data? Get the details in our Applicant Privacy Policy https://sentry.io/careers/applicantprivacy/.

Source: Sentry careers (Ashby)

Similar roles