About the role
The Search and Storage team is responsible for the infrastructure that powers all of Sentry's time-series data and searching capabilities across billions of events with sub-second latency. We started this initiative by building Snuba, the primary storage and query service for Sentry's event data powered by ClickHouse, and we're now looking to provide even more visibility and reporting on the terabytes of data that our users send us. The storage sub-team is specifically concerned with ingesting and storing the input data (thousands of events per second) that come from our customers into ClickHouse.
In this role you will
As a Senior Software Engineer in the Storage team, you will build, maintain, and operate data storage systems that power the core of Sentry’s business.
- Build new database storage features, increase query and insert scalability, and implement fixes in Snuba, our open-source database service built on top of ClickHouse
- Guide product engineering teams as they work to design ClickHouse and other database schemas for new features
- Shape the technical direction of our internal data aggregation and metrics platform, including building out new features and improvements
- Lead discussions about scaling technologies for time-series data storage, for our team and outside the infrastructure organization.
- Design data migrations for product features that have scaled beyond the abilities of PostgreSQL, helping teams move their data to ClickHouse
- Help our SRE team manage clusters of sharded, replicated distributed databases
- Work with high-scale Kafka consumption pipelines that ingest thousands of input events per second
You’ll love this job if you
- Think in terms of failure modes, and enjoy coming up with creative solutions to work around them. We are a core data storage service for Sentry and data loss is unacceptable!
- Have experience with distributed systems, but are looking for exposure to higher scale. We process tens of thousands of events/second — scaling on the storage team isn’t just “put a cache in front of it”
- Have a vigilant eye for the mixing of infrastructure and business logic concerns. We try to push business logic out of our team’s code and into the product
- Want opportunities to improve process. This team grew organically out of an operational need for higher-scale data storage, and we’re working incrementally to give product teams more autonomy to build products without involving us as much as today
Qualifications
- 6+ years relevant software engineering experience
- Excellent written and oral communication skills and ability to articulate technical concepts clearly and succinctly
- Strong knowledge of replicated and/or distributed data storage systems
- You have experience with some or all of the following systems we leverage:
- Disk-driven Storage Systems: PostgreSQL, ClickHouse
- Memory-driven Storage Systems: Memcached, Redis
- Streaming Platforms: Kafka, RabbitMQ
- Experience with Python or a similar dynamic programming language
The base salary range (or hourly wage range, if applicable) that Sentry reasonably expects to pay for this position is $175,000 to $215,000. 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.
Sentry (sentry.io) focuses on Analytics, Open Source, Real Time, Apps, and Software. Their company has offices in San Francisco, Seattle, Toronto, and Vienna. They have a mid-size team that's between 51-200 employees. To date, Sentry (sentry.io) has raised $66.5M of funding; their latest round was closed on September 2019.
You can view their website at https://www.sentry.io or find them on Twitter, Facebook, and LinkedIn.