# Software Engineer, Streaming Platform
**Company:** [Sentry](https://scaleengineer.com/companies/sentry)
Join Sentry's Streaming Platform team in Toronto to design and operate next-generation infrastructure powering real-time data processing systems handling hundreds of thousands of events per second. You'll work on distributed systems challenges spanning Kafka fleet management, stream processing automation, and developer-facing abstractions while partnering with product engineers to ensure reliable ingestion pipelines at scale. This hybrid role (3 days/week onsite) requires 2-3 years of distributed systems or data infrastructure experience with proficiency in Python, Rust, Go, or Java and hands-on cloud platform expertise.
**Role:** Backend Engineer
**Seniority:** Mid
**Locations:** Toronto, Ontario, Canada
**Salary:** 163000–200000 CAD
[Apply](https://jobs.ashbyhq.com/sentry/1c34ea48-ab62-4b71-a7d7-d0ac9eb07bba)
Canonical: https://scaleengineer.com/jobs/sentry/software-engineer-streaming-platform-1c34ea48
---
## Responsibilities

- Design and Operate Streaming Infrastructure Components: Architect, build, and maintain core components of the Streaming Platform including Kafka deployments, streaming runtime systems, high-level APIs, and developer-facing abstractions that simplify complex distributed streaming infrastructure for internal engineering teams.
- Implement Resilient Stream Processing Systems: Develop high-throughput, fault-tolerant stream processing systems capable of handling unbounded datasets with strong correctness guarantees including exactly-once delivery semantics, checkpointing mechanisms, watermarking, and state management.
- Build Kafka Fleet Management Automation: Create scalable automation and control plane solutions for managing Kafka clusters at scale, including cluster provisioning, scaling policies, performance optimization, and operational efficiency improvements.
- Partner on Ingestion Pipeline Design: Collaborate cross-functionally with product engineering teams to develop and refine abstractions that enable fast, reliable, and consistent data ingestion pipelines while maintaining stability and best practices.
- Enhance Real-Time System Observability: Improve monitoring, observability, alerting, and automated failover mechanisms for mission-critical real-time systems to ensure reliability and enable rapid incident response across production environments.

## Requirements

### education

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

### technical

- {"name":"Programming Language Proficiency","description":"Strong proficiency in at least one systems programming language with primary focus on Python or Rust; strong background in Go, Java, or similar compiled/interpreted languages is transferable."}
- {"name":"Streaming Technology Knowledge","description":"Working understanding of stream processing concepts including windowing, state management, and event ordering; experience with Kafka, Apache Flink, Spark Streaming, or comparable streaming platforms is highly valuable."}
- {"name":"Distributed Systems Concepts","description":"Solid grasp of core distributed systems principles including consensus algorithms, replication strategies, eventual consistency, fault tolerance, and handling of partial failures in networked systems."}

### experience

- {"name":"Distributed Systems Development","description":"2-3 years of professional software engineering experience with demonstrated background building, operating, and troubleshooting distributed systems handling concurrent workloads and network communication patterns."}
- {"name":"Data Infrastructure or Streaming Experience","description":"Proven track record working with data infrastructure platforms, real-time streaming architectures, or event-driven systems with understanding of scalability, throughput, and latency considerations."}
- {"name":"Cloud Platform Operations","description":"Hands-on experience building and operating systems in managed cloud environments including Kubernetes orchestration, AWS services, or GCP infrastructure with knowledge of containerization and container scheduling."}

## Skills

### required

- {"name":"Python","description":"Primary language at Sentry for streaming platform development; required for building and maintaining production systems handling real-time data workloads."}
- {"name":"Rust","description":"Systems programming language used at Sentry for performance-critical streaming components; valuable for developing low-latency, memory-efficient infrastructure."}
- {"name":"Kafka","description":"Distributed event streaming platform core to Sentry's architecture; required knowledge of brokers, topics, partitions, consumer groups, and operational management."}
- {"name":"Kubernetes","description":"Container orchestration platform for deploying and managing streaming platform components at scale; essential for understanding deployment models and scaling patterns."}
- {"name":"Distributed Systems Design","description":"Ability to design systems with high availability, fault tolerance, and horizontal scalability; understanding of trade-offs between consistency, availability, and partition tolerance."}
- {"name":"Stream Processing","description":"Expertise in designing and implementing stream processing architectures with focus on handling real-time, unbounded data with correctness guarantees and low latency."}

### preferred

- {"name":"Apache Flink Experience","description":"Experience with distributed stream processing frameworks like Apache Flink provides valuable context for building scalable real-time systems with advanced windowing and state management."}
- {"name":"Go Programming","description":"Experience with Go language offers transfer value for building concurrent systems; many DevOps and infrastructure tools use Go, providing relevant architectural knowledge."}
- {"name":"Java","description":"Background in Java demonstrates understanding of JVM-based systems and performance considerations relevant to distributed streaming platforms."}
- {"name":"AWS or GCP","description":"Hands-on experience with cloud infrastructure services including managed Kubernetes, monitoring services, and infrastructure-as-code tools."}
- {"name":"Observability and Monitoring","description":"Experience implementing comprehensive monitoring, tracing, and logging systems for distributed applications using tools like Prometheus, Grafana, or ELK stack."}
- {"name":"CI/CD Pipeline Development","description":"Familiarity with automated deployment pipelines, testing frameworks, and infrastructure automation tools for continuous delivery."}

## Tech stack

### tools

- {"name":"Kubernetes","description":"Container orchestration platform for deploying, scaling, and managing streaming platform components across infrastructure."}
- {"name":"AWS","description":"Cloud infrastructure provider for hosting streaming platform components including compute, storage, and networking services."}
- {"name":"GCP","description":"Alternative cloud infrastructure provider with managed services for Kubernetes and data processing."}
- {"name":"Docker","description":"Containerization technology for packaging streaming platform components and ensuring reproducible deployments."}
- {"name":"Git","description":"Version control system for managing codebase and infrastructure-as-code for streaming platform components."}

### others

- {"name":"Monitoring and Observability","description":"Implementation of comprehensive monitoring, tracing, and logging for mission-critical real-time systems using industry-standard tools."}
- {"name":"Distributed Systems Architecture","description":"Design patterns for building resilient, scalable systems including replication strategies, failover mechanisms, and consensus protocols."}
- {"name":"Event-Driven Architecture","description":"Architectural pattern for building systems around the production, detection, consumption, and reaction to events in real-time."}
- {"name":"Infrastructure Automation","description":"Automation of cluster provisioning, scaling, and operational management tasks using infrastructure-as-code and control plane development."}

### databases

- {"name":"Kafka Topics","description":"Distributed log storage system within Kafka for persisting streaming data with partitioning for scalability and replication for durability."}
- {"name":"State Stores","description":"Local and distributed state storage mechanisms for maintaining stateful computations in stream processing systems with checkpoint and recovery capabilities."}

### languages

- {"name":"Python","description":"Primary programming language for Sentry's streaming platform development and infrastructure automation."}
- {"name":"Rust","description":"Systems language used for performance-critical streaming components requiring low-latency and memory efficiency."}
- {"name":"Go","description":"Preferred for DevOps tooling and infrastructure components; knowledge is valuable for understanding modern infrastructure patterns."}
- {"name":"Java","description":"Relevant for understanding JVM-based streaming frameworks and platforms in the ecosystem."}

### frameworks

- {"name":"Apache Kafka","description":"Distributed event streaming platform core to Sentry's architecture for handling hundreds of thousands of events per second with high reliability."}
- {"name":"Apache Flink","description":"Distributed stream processing framework for implementing complex real-time data processing pipelines with exactly-once semantics and advanced state management."}
- {"name":"Spark Streaming","description":"Stream processing library built on Apache Spark for handling micro-batch processing of real-time data at scale."}

## Benefits

### benefits

- {"name":"Equity Grants","description":"Participate in Sentry's equity program allowing you to share in company success through stock options or RSUs."}
- {"name":"Comprehensive Health Insurance","description":"Group health insurance coverage including medical, dental, and vision benefits for you and eligible dependents."}
- {"name":"Paid Time Off","description":"Generous paid time off policy enabling work-life balance and time for rest and personal pursuits."}
- {"name":"Incentive Compensation","description":"Performance-based bonus structure aligned with individual and company objectives."}
- {"name":"Hybrid Work Arrangement","description":"Flexible hybrid work schedule with three days per week required in Toronto office for team collaboration and mentorship opportunities."}
- {"name":"Professional Development","description":"Access to learning resources and opportunities to expand technical expertise in distributed systems and modern infrastructure technologies."}

## Compensation

- **max:** 200000
- **min:** 163000
- **currency:** CAD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial Screening","description":"Brief conversation with recruiting team to discuss background, experience with distributed systems, and interest in the streaming platform role at Sentry."}
- {"name":"Technical Assessment","description":"Evaluation of distributed systems knowledge through technical questions or coding problems focused on stream processing, Kafka concepts, and system design principles."}
- {"name":"System Design Discussion","description":"In-depth conversation with engineering team about designing scalable, reliable streaming systems; discussion of real-world challenges in real-time data processing."}
- {"name":"Team Collaboration Round","description":"Meeting with Streaming Platform team members to assess communication style, collaborative approach, and cultural fit with team focused on developer experience."}
- {"name":"Final Round Discussion","description":"Conversation with team lead or manager covering career goals, experience with large-scale systems, and vision for the role's contribution to Sentry's platform."}

## 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 Toronto, 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 **$163,000 to $200,000 CAD**. 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/).
