# Software Engineer, Streaming Platform
**Company:** [Sentry](https://scaleengineer.com/companies/sentry)
Join Sentry's Streaming Platform team to design and operate next-generation infrastructure powering real-time data processing systems handling hundreds of thousands of events per second. This role focuses on building distributed streaming systems, Kafka fleet management, and developer-friendly abstractions while working on mission-critical infrastructure at scale in a hybrid San Francisco environment.
**Role:** Backend Engineer
**Seniority:** Mid
**Locations:** San Francisco, California
**Salary:** 155000–190000 USD
[Apply](https://jobs.ashbyhq.com/sentry/5ee81d6f-e837-43bb-af06-8f26c992a766)
Canonical: https://scaleengineer.com/jobs/sentry/software-engineer-streaming-platform
---
## Responsibilities

- Design and Operate Streaming Infrastructure: Design, build, and operate core components of the Streaming Platform including Kafka clusters, streaming runtime environments, high-level APIs, and developer-facing abstractions that simplify complex distributed data processing.
- Implement High-Throughput Stream Processing Systems: Develop resilient, high-throughput stream processing systems capable of handling unbounded datasets with strong correctness guarantees including exactly-once delivery semantics, distributed checkpointing, watermarking, and state management across multiple processing nodes.
- Build Kafka Fleet Management and Automation: Create scalable automation and control plane solutions for Kafka cluster management, implement auto-scaling consumer groups, and optimize operational efficiency across the streaming infrastructure to reduce manual overhead.
- Collaborate on Product Integration: Partner with product engineers and teams across Sentry to ensure the streaming platform abstractions enable fast, reliable, and consistent ingestion pipelines while maintaining alignment with business requirements and performance standards.
- Enhance Observability and Reliability: Improve monitoring, observability dashboards, alerting mechanisms, and automated failover procedures for mission-critical real-time systems processing hundreds of thousands of events per second with low latency requirements.

## Requirements

### education

- {"name":"Computer Science or Related Field","description":"Bachelor's degree in Computer Science, Software Engineering, or equivalent practical experience demonstrating strong foundational knowledge in algorithms, data structures, and system design principles."}

### technical

- {"name":"Stream Processing and Real-Time Systems","description":"Proven experience designing and implementing distributed stream processing systems with understanding of concepts like event time vs processing time, windowing strategies, stateful operations, and exactly-once delivery semantics."}
- {"name":"Kafka or Similar Message Queue Systems","description":"Hands-on experience with Apache Kafka, including topics, partitions, consumer groups, rebalancing mechanics, and optimization for high-throughput, low-latency scenarios in production environments."}
- {"name":"Distributed Systems Architecture","description":"Strong foundation in distributed systems principles including consensus algorithms, fault tolerance, network partitioning, eventual consistency, and designing systems for high availability and resilience at scale."}
- {"name":"Cloud Infrastructure and Kubernetes","description":"Experience building, deploying, and managing systems in cloud environments (AWS, GCP, or similar) with proficiency in container orchestration platforms like Kubernetes, including resource management and auto-scaling."}
- {"name":"Performance Optimization and Debugging","description":"Ability to identify bottlenecks through profiling, implement latency optimizations, and debug complex issues in distributed environments across multiple services and network boundaries."}

### experience

- {"name":"Software Engineering Background","description":"Minimum 2-3 years of professional software engineering experience with demonstrated expertise in building distributed systems, data infrastructure, or real-time streaming platforms in production environments."}
- {"name":"Data Infrastructure Experience","description":"Background working on data pipelines, message queue systems, or real-time analytics platforms that process large volumes of data with requirements for low latency and high throughput."}
- {"name":"Infrastructure and DevOps Skills","description":"Experience designing observability solutions, implementing monitoring strategies, and optimizing operational procedures for production infrastructure serving high-scale workloads."}

## Skills

### required

- {"name":"Python or Rust","description":"Primary proficiency in Python, Rust, or both languages. Sentry's Streaming Platform team primarily uses Python for application logic and Rust for performance-critical components requiring systems-level efficiency."}
- {"name":"Distributed Systems Design","description":"Deep understanding of designing systems for scale, including topics like service discovery, load balancing, replication strategies, and handling partial failures in geographically distributed environments."}
- {"name":"Real-Time Data Processing Concepts","description":"Familiarity with streaming concepts including backpressure handling, out-of-order event processing, exactly-once semantics, distributed transactions, and tradeoffs between latency, throughput, and consistency."}
- {"name":"Production Systems Operation","description":"Experience operating and maintaining production systems including incident response, performance monitoring, capacity planning, and implementing reliability best practices to meet SLA requirements."}

### preferred

- {"name":"Apache Kafka Expertise","description":"Advanced experience with Apache Kafka including custom configurations, performance tuning, broker management, and understanding of partition leadership election and consumer offset management."}
- {"name":"Stream Processing Frameworks","description":"Hands-on experience with frameworks like Apache Flink, Spark Streaming, or Kafka Streams that provide higher-level abstractions over distributed stream processing for complex transformations and stateful operations."}
- {"name":"Go Language Experience","description":"Proficiency in Go for building concurrent systems, particularly useful for writing control plane components, observability tools, and infrastructure automation at Sentry."}
- {"name":"Java or JVM Ecosystem","description":"Experience with Java or JVM-based technologies, which is valuable for understanding many streaming technologies and their underlying performance characteristics and tuning parameters."}
- {"name":"Event-Driven Architecture","description":"Experience designing and implementing event-driven architectures where systems communicate through asynchronous event streams and understanding temporal aspects of event processing."}
- {"name":"Observability and Monitoring","description":"Proven ability to design comprehensive monitoring and observability solutions for distributed systems, including structured logging, metrics collection, tracing, and creating actionable alerts."}

## Tech stack

### tools

- {"name":"AWS or GCP","description":"Cloud infrastructure providers where Sentry deploys its Streaming Platform, requiring expertise in managed services, networking, and infrastructure-as-code practices."}
- {"name":"Docker","description":"Containerization technology for packaging and deploying streaming applications and infrastructure components consistently across development and production environments."}
- {"name":"Terraform or Infrastructure-as-Code","description":"Tools for managing cloud infrastructure and Kubernetes resources through version-controlled code, enabling reproducible deployments and disaster recovery procedures."}

### others

- {"name":"Distributed Consensus Algorithms","description":"Understanding of algorithms like Raft or Paxos for implementing fault-tolerant state management and leader election in distributed streaming systems."}
- {"name":"Event-Driven Architecture Patterns","description":"Expertise in designing systems using event sourcing, CQRS (Command Query Responsibility Segregation), and choreography vs orchestration patterns for distributed event processing."}
- {"name":"Observability Stack","description":"Familiarity with monitoring, logging, and tracing tools like Prometheus, Grafana, ELK Stack, and distributed tracing platforms for maintaining visibility into real-time systems."}
- {"name":"Performance Profiling Tools","description":"Experience with flame graphs, CPU profilers, memory analysis tools, and network debugging utilities to identify and resolve performance bottlenecks in high-throughput systems."}

### databases

- {"name":"Apache Kafka","description":"Event streaming platform serving as the backbone for distributed state management, event sourcing, and providing durable event logs for recovery and replay scenarios."}
- {"name":"Time-Series Databases","description":"Databases optimized for metrics and time-series data used for monitoring the Streaming Platform's performance, throughput, and latency characteristics."}

### languages

- {"name":"Python","description":"Primary language for application development and business logic in Sentry's streaming platform, favored for rapid development and data processing tasks."}
- {"name":"Rust","description":"Used for performance-critical components requiring systems-level efficiency, memory safety without garbage collection, and high throughput capabilities in the streaming infrastructure."}
- {"name":"Go","description":"Utilized for control plane components, infrastructure tooling, and services requiring excellent concurrency support and fast compilation for rapid iteration on operational tools."}

### frameworks

- {"name":"Apache Kafka","description":"Core distributed event streaming platform handling ingestion of hundreds of thousands of events per second with strong durability and replayability guarantees for the Streaming Platform."}
- {"name":"Kubernetes","description":"Container orchestration platform for deploying, scaling, and managing the Streaming Platform components with automated failover and resource optimization."}
- {"name":"Kafka Streams","description":"Stream processing library for building real-time applications that transform and enrich event streams with local state management and interactive queries."}

## Benefits

### benefits

- {"name":"Equity and Stock Options","description":"Competitive equity grants aligned with company performance, offering ownership stake in Sentry and potential significant upside as the application monitoring platform grows and scales globally."}
- {"name":"Comprehensive Health Insurance","description":"Full coverage of medical, dental, and vision insurance plans with employer contributions to ensure employees and families have access to quality healthcare services."}
- {"name":"Generous Paid Time Off","description":"Flexible time off policies supporting work-life balance with paid vacation days, sick leave, and mental health days to recharge and maintain productivity."}
- {"name":"Hybrid Work Flexibility","description":"Three days per week in the San Francisco office with flexibility to work remotely, balancing in-person collaboration with distributed work arrangements for focus time on complex technical problems."}
- {"name":"Professional Development","description":"Investment in engineering growth through conference attendance, training programs, technical certifications, and access to learning resources for continuous skill development."}
- {"name":"Inclusive Company Culture","description":"Commitment to diversity and inclusion with accessibility accommodations, open-source ethos prioritizing software accessibility, and collaborative team environment where contributions have broad company impact."}

## Compensation

- **max:** 190000
- **min:** 155000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial Screening Call","description":"Conversation with a recruiter to discuss your background in distributed systems and streaming technologies, career goals, and alignment with Sentry's engineering culture and mission."}
- {"name":"Technical Phone Screen","description":"Discussion with a member of the Streaming Platform team about your experience with stream processing, Kafka, or similar systems, and your approach to designing scalable infrastructure solutions."}
- {"name":"System Design Interview","description":"In-depth technical interview focusing on designing a large-scale distributed streaming system with requirements for high throughput, low latency, and fault tolerance, evaluating architectural thinking and tradeoff analysis."}
- {"name":"Code Implementation Session","description":"Live coding session where you implement components of a streaming system or solve problems related to distributed systems, data processing, or infrastructure automation using Python, Rust, or Go."}
- {"name":"Infrastructure and Operations Discussion","description":"Conversation about your experience building and operating systems in cloud environments, managing Kubernetes clusters, monitoring production systems, and incident response procedures."}
- {"name":"Team and Culture Fit Meeting","description":"Final conversation with engineering leadership to discuss collaborative style, working with cross-functional teams, and vision for the future of the Streaming Platform at Sentry."}

## Full description
## **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**

The Streaming Platform team at Sentry is building the next generation of infrastructure that powers our ingestion pipelines and real-time data processing systems. Our platform ingests, processes, and distributes hundreds of thousands of events per second with low latency and high reliability. We are creating a system that makes it easy for Sentry engineers to deploy and run Streaming Applications at scale by simplifying the complexity of Kafka, scaling consumers automatically, and managing state so product teams can focus on building great experiences for developers.

As part of this team, you will work on challenges at the intersection of distributed systems, real-time data processing, and developer experience. You will help us create a self-service streaming platform that improves stability, accelerates time to production, and reduces operational overhead.

**This role is based in San Francisco, with three days per week in the office to work closely with engineering teams.**

## **In this role you will**

* Design, build, and operate components of our Streaming Platform, including Kafka, the streaming runtime, high-level APIs, and developer-facing abstractions.
* Implement resilient, high-throughput stream processing systems that handle unbounded datasets with strong correctness guarantees (delivery, checkpointing, watermarking, and more).
* Build scalable automation and control plane for Kafka fleet management and improve efficiency.
* Partner with product engineers to ensure our abstractions enable fast, reliable, and consistent ingestion pipelines.
* Improve observability, monitoring, and failover for mission-critical real-time systems.

## **You’ll love this job if you**

* You enjoy working on distributed systems at scale and care about reliability and performance.
* You like building abstractions that make complex infrastructure easier for others to use.
* You are motivated by designing systems that balance flexibility for developers with best practices for stability.
* You are excited to shape how Sentry handles near real-time ingestion and analytics at scale.
* You value being part of a collaborative team where your contributions make a broad impact across the company.

## **Qualifications**

* At least 2-3 years of software engineering experience, with background in distributed systems, data infrastructure, or real-time streaming.
* Proficiency in a programming language such as Python, Rust, Go, or Java (we primarily use Python and Rust, but experience in similar languages is valuable).
* Experience building and operating systems in cloud environments such as Kubernetes, AWS, or GCP.
* Nice to have: experience with streaming technologies such as Kafka, Flink, Spark Streaming, or similar tools.

The base salary range that Sentry reasonably expects to pay for this position is **$155,000 to $190,000 USD**. A successful candidate’s actual base salary 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](mailto: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/).
