# Senior Software Engineer, Issue Detection
**Company:** [Sentry](https://scaleengineer.com/companies/sentry)
Senior Software Engineer on Sentry's Issue Detection team, responsible for designing and operating real-time systems that process billions of events daily to detect problems and convert them into actionable issues for developers. This role combines distributed systems expertise with product engineering, requiring strong full-stack instincts and the ability to balance detection accuracy with processing latency while mentoring team members.
**Role:** Senior Software Engineer
**Seniority:** Senior
**Locations:** San Francisco, California
**Salary:** 155000–400000 USD
[Apply](https://jobs.ashbyhq.com/sentry/92f30f40-9596-4b66-9fd0-7ca5203f629d)
Canonical: https://scaleengineer.com/jobs/sentry/senior-software-engineer-issue-detection
---
## Responsibilities

- Design and operate large-scale real-time systems: Architect, build, and maintain real-time processing pipelines, monitors, and analysis systems that process billions of events daily at Sentry scale. Focus on detecting problems accurately while maintaining low processing latency, ensuring developers see issues quickly enough to take action. Balance detection accuracy improvements with performance optimization and system reliability.
- Own end-to-end project delivery: Take complete ownership of substantial projects from conception through shipping, collaborating with product and design teams on scope definition, making autonomous technical decisions within your domain, implementing solutions, and instrumenting systems to measure impact and gather data-driven insights for continuous improvement.
- Drive technical product decisions: Contribute to critical platform decisions including issue grouping quality algorithms, search performance optimization, large-scale migrations and backfills on massive datasets, and ensuring the issue platform works seamlessly for both human developers and AI agents analyzing error data.
- Optimize developer experience and product quality: Champion exceptional user experience by building features that excel in performance and usability, understanding that milliseconds matter in developer tools. Pay meticulous attention to interface design, error messaging, loading states, and edge cases. Instrument all features comprehensively to enable team measurement and continuous optimization.
- Mentor and elevate engineering team members: Guide and develop junior engineers in systems design, coding best practices, and product-oriented thinking. Share knowledge generously, explain complex distributed systems concepts patiently, celebrate team successes, and foster a culture of learning from both wins and failures collectively.
- Maintain system reliability and scalability: Ensure issue detection systems remain reliable, performant, and gracefully degradable as Sentry scales. Implement comprehensive monitoring, design systems that fail safely, and continuously optimize query latency and correctness to maintain user-visible performance standards.

## Requirements

### education

- {"name":"Bachelor's degree in Computer Science or equivalent","description":"Formal computer science education or equivalent professional experience demonstrating strong fundamentals in algorithms, data structures, system design, and software engineering principles. Strong theoretical foundation in distributed systems, database theory, and computer architecture."}

### technical

- {"name":"Distributed systems architecture expertise","description":"Deep understanding of high-scale distributed system design patterns including eventual consistency models, partitioning strategies for massive datasets, multi-layer caching architectures, and sophisticated query optimization techniques. Experience debugging production systems at enterprise scale, designing for failure modes, and implementing systems with graceful degradation patterns."}
- {"name":"Full-stack software engineering proficiency","description":"While this role emphasizes backend systems, you must understand the complete technology stack from data ingestion pipelines through database layers to browser-side rendering. Comfortable evaluating frontend performance implications of backend decisions, designing robust APIs that serve both web and AI consumers, and making architectural choices considering the entire system."}
- {"name":"Data modeling and domain-driven design","description":"Strong ability to model complex domains representing billions of daily events, design schemas that support both analytical queries and real-time streaming workloads, normalize data effectively, and make trade-offs between storage efficiency and query performance for different access patterns."}
- {"name":"Backend systems implementation","description":"Proven ability to implement scalable backend systems using Python and TypeScript across multiple architectural patterns. Experience building event processing systems, implementing complex business logic at scale, and writing maintainable code that other engineers can easily extend and debug."}

### experience

- {"name":"5+ years full-stack software engineering","description":"Minimum five years of professional software development experience spanning backend, frontend, and infrastructure domains. Demonstrate progression in scope and complexity, from feature implementation through to system architecture responsibilities, preferably in environments processing significant data volumes or serving high user concurrency."}
- {"name":"Production distributed systems","description":"Hands-on experience designing, building, and maintaining distributed systems in production environments. Real-world exposure to challenges like managing distributed transactions, handling network partitions, implementing circuit breakers, and optimizing queries against large datasets under latency constraints."}
- {"name":"Product-oriented engineering mindset","description":"Track record of collaborating effectively with product managers and designers, translating technical capabilities into user value, explaining technical constraints in customer-centric terms, and making architectural decisions that prioritize user outcomes alongside technical elegance."}
- {"name":"Mentorship and team elevation","description":"Demonstrated experience helping other engineers grow in systems design, software engineering practices, and product thinking. Evidence of fostering inclusive team environments where engineers thrive, sharing knowledge generously, and contributing to technical culture."}

## Skills

### required

- {"name":"Python","description":"Expert-level Python proficiency for building and maintaining large-scale backend systems, event processing pipelines, and data transformation logic. Should be comfortable with async patterns, performance optimization, and writing code that scales across multiple systems."}
- {"name":"TypeScript","description":"Strong TypeScript skills for full-stack development, including type-safe backend services, API layer implementations, and understanding of how frontend code integrates with backend systems. Comfortable with both Node.js backend patterns and browser runtime considerations."}
- {"name":"Distributed systems design","description":"Mastery of distributed systems concepts including consistency models, partitioning and sharding strategies, replication patterns, and failure recovery. Ability to design systems that operate reliably under real-world constraints of network latency, partial failures, and data consistency trade-offs."}
- {"name":"Database design and optimization","description":"Strong ability to design database schemas supporting both real-time and analytical workloads, write and optimize complex queries, understand index strategies, and make trade-offs between normalization and performance. Comfortable with schema migrations and backfills on large datasets."}
- {"name":"System architecture and scalability","description":"Proven ability to architect systems that scale horizontally, implement caching strategies effectively, optimize API design for consumer needs, and consider operational concerns during design. Understand the implications of architectural choices on team productivity and system maintainability."}
- {"name":"Communication and collaboration","description":"Excellent written and verbal communication skills for explaining complex technical concepts to diverse audiences, collaborating cross-functionally with product and design teams, writing clear technical specifications, and providing mentorship to junior engineers."}

### preferred

- {"name":"PostgreSQL","description":"Production experience with PostgreSQL for structured data storage, including advanced features like window functions, JSON operators, and full-text search. Understanding of PostgreSQL-specific optimization techniques and operational best practices."}
- {"name":"ClickHouse","description":"Hands-on experience with ClickHouse for analytical workloads, columnar data analysis, and time-series data handling. Understanding of how ClickHouse differs from traditional OLTP databases and when to use it for analytical queries at scale."}
- {"name":"Kafka or message queues","description":"Production experience with Kafka or similar distributed message queue systems for building event-driven architectures, handling high-throughput event streams, managing consumer groups, and implementing at-least-once or exactly-once semantics."}
- {"name":"Real-time analytics and stream processing","description":"Experience building real-time data pipelines, stream processing systems, or complex event processing applications. Familiarity with tools and patterns for processing high-volume event streams with low latency requirements."}
- {"name":"Error tracking or observability platforms","description":"Prior experience working on error tracking systems, application performance monitoring tools, log aggregation platforms, or similar observability infrastructure. Understanding of developer workflows around debugging and monitoring applications."}

## Tech stack

### tools

- {"name":"Kafka","description":"Distributed message queue for handling billions of daily events, enabling asynchronous processing and building event-driven architectures for issue detection."}
- {"name":"Docker","description":"Containerization technology for packaging services and ensuring consistent deployment across development, testing, and production environments."}
- {"name":"Kubernetes","description":"Container orchestration platform for managing scalable, resilient deployment of microservices processing massive event volumes."}
- {"name":"Git","description":"Version control system for collaborative code development, code review, and maintaining project history across distributed engineering teams."}

### others

- {"name":"Event-driven architecture patterns","description":"Architectural approach for building systems that respond to real-time events, essential for Sentry's processing of billions of daily error events."}
- {"name":"Microservices design","description":"Organizational pattern for breaking down complex systems into independent services that handle specific concerns in issue detection pipeline."}
- {"name":"API design principles","description":"RESTful or GraphQL API design ensuring services can be consumed by frontend applications and AI agents for issue investigation and remediation."}
- {"name":"Real-time data pipelines","description":"Systems for ingesting, transforming, and processing high-velocity event streams with low-latency requirements for immediate issue detection."}

### databases

- {"name":"PostgreSQL","description":"Primary relational database for storing configuration, metadata, and structured data supporting transactional operations and complex analytical queries."}
- {"name":"ClickHouse","description":"Columnar database optimized for analytical queries on time-series event data and large-scale data aggregation for issue detection patterns."}

### languages

- {"name":"Python","description":"Primary backend language for building scalable services, event processing logic, data analysis, and system automation at Sentry scale."}
- {"name":"TypeScript","description":"Used for full-stack development across backend services, frontend applications, and ensuring type safety throughout the application layer."}

### frameworks

- {"name":"Django","description":"Likely framework for building web applications and API services, providing ORM capabilities and rapid development patterns for Python backends."}
- {"name":"React","description":"Frontend framework for building the user interface components developers interact with for issue detection, grouping, and analysis features."}

## Benefits

### benefits

- {"name":"Equity and ownership","description":"Stock options or equity grants providing meaningful ownership in Sentry's growth as an application monitoring industry leader trusted by 200,000+ organizations."}
- {"name":"Comprehensive health coverage","description":"Medical, dental, and vision insurance with company contributions supporting employee wellness and health security."}
- {"name":"Flexible work arrangements","description":"Remote or hybrid work options with flexibility to support work-life balance and individual productivity preferences across distributed teams."}
- {"name":"Professional development and learning","description":"Educational stipends, conference attendance budgets, and internal mentorship programs to support continuous growth in distributed systems, software engineering, and technical leadership."}
- {"name":"Unlimited paid time off","description":"Generous vacation and personal time policies reflecting trust in senior engineers to manage their own time while maintaining project momentum."}
- {"name":"Mental health and wellness programs","description":"Access to mental health services, wellness programs, and resources supporting overall employee wellbeing and work-life integration."}
- {"name":"Parental leave","description":"Comprehensive parental leave policies supporting new parents in both welcoming and caring for growing families."}
- {"name":"Home office setup support","description":"Equipment stipends and home office setup support enabling productive remote work environments for distributed team members."}

## Compensation

- **max:** 235000
- **min:** 185000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Initial screening and recruiter call","description":"Conversation with Sentry recruitment team to discuss your background, experience with distributed systems, understanding of the role scope, and alignment with team values around product thinking and mentorship."}
- {"name":"Technical systems design discussion","description":"Collaborative conversation with engineering team members focused on your approach to designing scalable systems. You'll discuss distributed systems trade-offs, how you'd approach building event processing pipelines at scale, and your reasoning about consistency, latency, and correctness decisions."}
- {"name":"Coding and implementation exercise","description":"Technical assessment involving implementing a problem related to data processing, domain modeling, or system component design in Python or TypeScript. Evaluates your coding proficiency, ability to write maintainable code, and how you approach algorithmic problem-solving."}
- {"name":"Product thinking and collaboration session","description":"Discussion with product manager and designers about how you approach user-focused engineering, your experience collaborating cross-functionally, and how you balance technical concerns with user experience requirements in your design decisions."}
- {"name":"Backend and data architecture deep dive","description":"Technical conversation with engineering leads exploring your experience with databases like PostgreSQL or ClickHouse, schema design patterns, query optimization techniques, and your approach to scaling data systems handling massive volumes."}
- {"name":"Mentorship and team culture conversation","description":"Discussion with engineering manager about your approach to mentoring, experiences helping other engineers grow, how you contribute to inclusive team environments, and your philosophy on technical leadership."}
- {"name":"Final leadership interview","description":"Conversation with director-level leadership covering your career trajectory, long-term aspirations, how you approach challenging problems at scale, and your vision for contributing to Sentry's future in the application monitoring and AI-native space."}

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

Sentry's issue platform processes billions of events every day to help millions of developers find and fix bugs. The hard part is deciding which events point to a problem, which belong together, and what a developer needs to know to investigate.

As a Senior Software Engineer on the Issue Detection team, you'll design, build, and operate the systems that make those decisions. You'll work on real-time processing pipelines, monitors, and analysis systems that detect problems and turn them into issues. The work combines distributed systems with product engineering. Choices about detection accuracy and processing latency affect which problems developers see and how soon they can act.

You'll help shape how developers monitor their applications and how Sentry groups related events into issues. You'll also build the context developers and AI agents need to investigate what went wrong. Keeping these systems reliable and fast as Sentry grows is part of the job, alongside making the issues they produce more useful.

## **In this role you will**

* **Build and scale features** on a product surface handling billions of events daily, where both query latency and correctness are immediately visible to users.
* **Own the design and delivery of substantial projects end to end,** scoping alongside product and design, making the technical calls within your scope, shipping, and instrumenting what you ship so the team can measure it.
* **You will contribute to meaningful technical product decisions**: grouping quality, search performance, migrations and backfills against enormous datasets, and making the surface work well for both humans and agents.
* **Champion product quality and user experience.** Build features that don't just work—they delight. You understand that milliseconds matter in the developer experience. You sweat the details of interfaces, error messages, loading states, and edge cases. You instrument everything so the team can measure and improve.
* **Mentor and elevate others**. You've helped engineers grow their skills. You celebrate wins and learn from failures alongside your teammates.

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

* Are a **distributed systems engineer** who understands the realities of high-scale architectures. You know about eventual consistency, partitioning strategies, caching layers, and query optimization. You've debugged enough systems at scale that you now know to design for failure and build systems that degrade gracefully.
* Are **product-minded** and understand that great engineering serves users. You collaborate effectively with Product and Design, offering technical perspectives that shape better products. You can explain technical constraints in user-centric terms. You get excited about making developers' lives better, not just solving technical puzzles.
* Have **strong full-stack instincts**. While this role is backend-heavy, you understand the entire system from data ingestion to what renders in the browser. You know enough about frontend performance, API design, and user experience to make good architectural decisions that consider the whole picture.
* **Include and uplift others.** You've helped engineers grow their skills in systems design, coding practices, and product thinking. You're generous with knowledge and patient in explaining complex concepts. You celebrate wins and learn from failures alongside your teammates.

## **Qualifications**

* 5+ years of full-stack software engineering experience, ideally Python and TypeScript
* Strong domain modeling skills, with working experience in distributed systems, data stores, and message queues
* Excellent written and verbal communication skills
* Experience with PostgreSQL, ClickHouse, or Kafka is preferred

## **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/).
