How Sentry Receives 20 Billion Events Per Month While Preparing to Handle Twice That

36,727
Sentry
Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize code health.

By James Cunningham, Operations Engineer, Sentry.


About Sentry

Sentry illustration

Unless your engineering team is staffed by angels who commute down to the office from heaven every morning, we’re pretty confident you run into plenty of problems developing and iterating on your applications in production. Sentry provides all the tools you need to find, triage, reproduce, and fix application-level issues before your users even know there was a problem. With the added bonus that you won’t get any more nasty looks from support engineers at happy hour.

By automating error detection and aggregating and adding important context to stack traces, Sentry helps you proactively correct the errors that are doing the most harm to your business more efficiently and durably and with minimal disruption. Closing the gap between the product team and customers improves productivity, speeds up the entire development process, and helps engineers focus on what they do best: build apps that make users’ lives better.

I was personally a Sentry user way before I was an employee. Early on at my previous company, I was tasked with upgrading the open-source error tracking service that hadn’t really been maintained or used for a while. I reached out for help and heard back from David (Sentry’s co-founder) and Matt (Sentry’s second engineer), meeting two of my future co-workers on IRC years before I ever saw their faces (protip: connect with Matt on LinkedIn).


This is Matt

This is Matt


They were incredibly helpful and, when I went looking for a new job, I thought, “Hey, this is a very nice piece of software, and the people who are running it are really mindful of their community. I’d love to be a part of that.” Today, I spend my waking hours happily keeping Sentry’s hosted service operational, available, and responsive to our exponentially-increasing event volume (editor’s note: when he’s not trolling new hires on Slack for their taste in hip-hop and Fruit Gushers).

A Powerful Side Project

Sentry started as (and remains) an open-source project, growing out of an error logging tool David built in 2008. He displayed a truly shrewd notion of branding even then, giving the project a catchy name that companies the world over remain jealous of to this day: django-db-log. For the longest time, Sentry’s subtitle on GitHub was “A simple Django app, built with love.” A slightly more accurate description probably would have included Starcraft and Soylent alongside love; regardless, this captured what Sentry was all about.

That original build nine years ago was Django and Celery (Python’s asynchronous task codebase), with Postgres as the database and Redis as the power behind Celery.

A Fast-Growing Company

As you might expect, Sentry usage has grown exponentially over the past decade, and the infrastructure has changed and matured to accommodate massive scale. We now host the open-source project as a SaaS product. Sentry has SDKs for just about every framework, platform, and language and integrations with the most popular developer tools, which helps make it incredibly easy to adopt. Today, Sentry is central to the error tracking and resolution workflows of tens of thousands of organizations and more than 100,000 active users around the world, many of whom support implementations for some of the biggest properties on the internet: Dropbox, Uber, Stripe, Airbnb, Xbox Live, HubSpot, and more. That’s 5 billion events per week, just from the hosted service.

When a customer sends events to Sentry, they don’t receive a laundry list of notifications, they get the aggregate issue with counts of how often it’s occurred and which of their users are experiencing the issue. This is all presented very simply and cleanly in Sentry, but if a user wants individual events, we’ll provide those also. We save every single event we accept, which gets very expensive to do in a traditional relational database.

One of the first improvements Sentry made to address scalability was storing all of these events in a distributed key-value store. There are a variety of key-value stores out there, all with their promises and pitfalls, but when evaluating solutions, we ultimately chose Riak. Our Riak cluster does exactly what we want it to: write event data to more than one location, grow or shrink in size upon request, and persist through normal failure scenarios.

The first major infrastructure project that I contributed to when joining Sentry was horizontally scaling our ability to execute offline tasks. As Sentry runs throughout the day, there are about 50 different offline tasks that we execute—anything from “process this event, pretty please” to “send all of these cool people some emails.” There are some that we execute once a day and some that execute thousands per second.

Managing this variety requires a reliably high-throughput message-passing technology. We use Celery’s RabbitMQ implementation, and we stumbled upon a great feature called Federation that allows us to partition our task queue across any number of RabbitMQ servers and gives us the confidence that, if any single server gets backlogged, others will pitch in and distribute some of the backlogged tasks to their consumers.

Another project we’ve undergone is setting up safeguards in front of our application to protect from unpredictable and unwanted traffic. When accepting events, we would be crazy to just expose the Python web process to the public Internet and say, “Alright, give me all you got!” Instead, we use two different proxying services that sit in front of our web machines:

  • NGINX, our product-aware proxy, handles many of the upper bounds that we have deemed reasonable. It is responsible for a variety of bounds, but its most popular one is protecting Sentry from exceedingly large event volumes. Ever so often, a user will run into a problem where they’ve deployed their code out into the abyss, and their event volume clocks in at a few zeroes higher than what they signed up for.
  • - In front of NGINX, we use another proxying service called HAProxy, which acts as a delta of connections without any of that product awareness logic and has a lot higher throughput. All it does is accept connections and send them off to different NGINX servers, allowing us to gracefully add or remove NGINX servers as we see fit.


Everything is fine now


An Evolving Architecture

Sentry began life as a traditional Django application, and has gone through a couple of architecture iterations since. The current Sentry dashboard, which is what customers use to browse and debug their production issues, has evolved into a single-page application written in React and Reflux (an early Flux library). We write ES6 and transpile to JavaScript using Babel and Webpack. For fetching and submitting data, we communicate with the Django backend through a straightforward REST-based HTTP API.

The event processing pipeline, which is responsible for handling all of the ingested event data that makes it through to our offline task processing, is written primarily in Python. For particularly intense code paths, like our source map processing pipeline, we have begun re-writing those bits in Rust. Rust’s lack of garbage collection makes it a particularly convenient language for embedding in Python. It allows us to easily build a Python extension where all memory is managed from the Python side (if the Python wrapper gets collected by the Python GC we clean up the Rust object as well.)


Sentry Releases animation


A Simple Deploy Workflow

For the most part, Sentry is still a classically monolithic app. This is driven, in part, by the fact that Sentry is still open-source, and we want to make it easy for our community to install and run the server themselves. To do this, we provide installation details for a Docker image that contains all of Sentry’s core services in one place. This monolithic nature makes contributing to and deploying Sentry ourselves relatively straightforward.

When someone wants to commit a change to the codebase, it is submitted as a pull request to our public project on GitHub. From there, Travis CI runs a set of parallelized builds, which include not only unit and integration tests, but also visual regression tests that are managed through Percy. Since we’re still an open-source project that supports different relational databases, we run test suites not only for Postgres, but also for MySQL and SQLite, as well.

Once all tests are green, the code has been reviewed, and any detected UI changes have been approved, the code is merged through GitHub. We then use an internal open-source tool named Freight to build and deploy our Docker image to production. Additionally, Freight injects the only closed source piece of Sentry, our billing platform. Once the image is in production, we trigger a rolling restart of every Sentry container to pick up the new image.


Sentry plus Slack integration GIF


An Unpredictable World

One of our biggest challenges is that Sentry’s traffic is inherently unpredictable, and there’s simply no way to foresee when a user’s application is going to melt down and send us a huge influx of events. On bare metal, we handled this by preparing for the worst(ish) and over-provisioning machines in case of an event deluge. Unfortunately, as demand grew, our time window for needing new machines shrunk. We started demanding more from our provider, requesting machines before they were needed, and keeping common machines idle for days on end, waiting to see which component needed it the most.

For that reason, we made the leap to Google Cloud Platform (GCP) in July 2017 to give ourselves greater flexibility. Calling it a “leap” makes it sound impulsive, but the transition actually took months of planning. And no matter how long we spent projecting resource usage within Google Compute Engine, we never would have predicted our increased throughput. Due to GCP’s default microarchitecture, Haswell, we noticed an immediate performance increase across our CPU-intensive workloads, namely source map processing. The operations team spent the next few weeks making conservative reductions in our infrastructure, and still managed to cut our costs by roughly 20%. No fancy cloud technology, no giant infrastructure undertaking -- just new rocks that were better at math.

You can find way more detail about it on the Google Cloud Platform Blog.

Observability and Action

A big reason we can sustain Sentry is that it falls into a category of observability tooling that requires a non-trivial amount of resources to host. We run Sentry ourselves because we’ve gotten pretty good at it. We rely on Sentry to track errors in our production app and help us set priorities for iteration, based on user experience and impact.

But when it comes to the rest of our monitoring stack, we apply the same thinking as the users signing up for Sentry’s hosted service every day: “It’s better to pay for uptime in dollars than in engineering hours.” (If you haven’t used Sentry’s hosted service, it only takes a couple minutes and a few lines of code to set up.)

We use a few toolchains outside of our production environment. I could write an essay detailing each (and I probably will), but let’s just outline how I would get notified that we’ve regressed in our 95th percentile of request latency:

  • Each host running a web server sends the timing of requests to Stripe’s Veneur
  • Veneur creates histograms of request timings and forwards those to Datadog
  • A Datadog threshold alert detects we’ve gone higher than 500ms
  • The threshold alert is configured to notify a Slack channel and a PagerDuty rotation
  • The PagerDuty rotation notifies both operations engineers currently on-call


Sentry welcome gif

We introduce every new employee with their own welcome gif


Fantastic Co-Workers

Our Engineering org is split into four teams in two programs: Product and Infrastructure. Their names do a pretty solid job describing their purposes, but:

  • Product is broken into the Workflow and Growth teams. Workflow focuses specifically on how our users interact with Sentry throughout their own workflows and development processes. Growth looks at the tweaks we can make that will increase the likelihood that a new user will find Sentry relevant, onboard effectively, and stick around to use it more and more.

  • Infrastructure is broken into the Platform and Operations teams. Platform is dedicated to all of the Sentry code that powers our API, including event ingestion. Operations is where I live, and we’re dedicated to building, deploying, maintaining, and monitoring all of the components that keep sentry.io stable.

We also have an unofficial fifth team that plays a large part in Sentry’s development and will always outnumber the others: our open-source contributors. Sentry’s entire codebase is right on GitHub for the whole world to see, and many improvements to our service have been introduced by users and community members who don’t work here.

Other Stacks

Just as Sentry is a part of many software teams’ stacks, we rely on a number of additional commercial and open-source services to help run our business. We use Stripe to handle customer billing, SendGrid for reliable email delivery, Slack for team communication, Google Analytics for basic web analytics, BigQuery for data warehousing, and Jira for project management.

On the open-source side, our growth and BI teams use Redash to derive useful statistics from our data. We use Jekyll to publish sentry.io and other online marketing content, like our blog.

Closing


Sentry team photo


Open source, open company. That’s our credo, and it really captures what we’re all about. As I mentioned earlier, I applied for a job at Sentry because it’s such a nice piece of software, and the people who run the company are mindful about the role of the community. Since everyone who works here is also a member of the open-source community, that mindfulness extends to and flows between employees.

Growth is inevitable here. The hard decision is not what to scale, but when. It’s the Operations team’s responsibility to put engineering hours into the right initiative and balance scale with security, reliability, and productivity. Maybe you want to make some of those hard decisions on my team?

Or maybe operations isn’t your thing, but you want to build something open-source. Want to contribute to Sentry beyond just code? We’re hiring pretty much across the organization and would love to talk to you if you’ve read this entire post and think you still might be as into Sentry as I am.

Sentry
Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize code health.
Tools mentioned in article
Open jobs at Sentry
Software Engineer, New Grad (2024)
Vienna, Austria
<div class="content-intro"><h2 class="p1"><strong>About Sentry</strong></h2> <p class="p2">Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology.</p> <p class="p2">With more than $217 million in funding and 90,000 organizations that believe we’re on to something, we're building performance and error monitoring tools that help companies like Disney, Microsoft, and Atlassian spend less time fixing bugs and more time building products. If you like to selfishly build things that make your digital life better, come help us build the next generation of software monitoring tools.</p></div><h2>About the role</h2> <p>Sentry is looking for talented new graduates to join our growing Software Engineering teams. Engineers at Sentry are challenged to solve a range of technical problems: from building fast and delightful UIs for navigating millions of error and performance events, to architecting solutions that ingest, store, and index terabytes of data every day. As a Software Engineer, New Grad, you will be coached by a diverse team of multi-talented engineers and will directly impact a complex and growing codebase.</p> <h2>In this role you will</h2> <ul> <li>Work with a team to develop and extend the Sentry product by writing software in either Python or JavaScript (or both)</li> <li>Be responsible for full software development lifecycle - design, development, testing, and operating in production</li> <li>Communicate effectively with other engineers in the same team, with other teams and with various other stakeholders (such as product managers)</li> <li>Act on feedback, coaching, and mentorship from your manager and teammates</li> </ul> <h2>You’ll love this job if you</h2> <ul> <li>You want to actively use the product you're building (we dogfood Sentry every day)</li> <li>You want to start your career at a high-growth startup</li> <li>You want to join a modern software development team that iterates &amp; ships code rapidly</li> <li>You're excited at the opportunity to contribute to an open-source project every day</li> </ul> <h2>Qualifications</h2> <ul> <li>B.S. or higher in Computer Science (or similar degree program)</li> <li>At least 1 previous internship or equivalent practical experience</li> <li>Implementation skills with JavaScript</li> <li>Good knowledge of algorithms, data structures, and object-oriented design principles</li> <li>Experience working with version control and unit testing</li> <li>Live in the Vienna, Austria area or are willing to relocate</li> <li>Please note the following: <ul> <li>Visa sponsorship is not available for this position</li> <li>This is a full-time position</li> </ul> </li> </ul> <p><em data-stringify-type="italic">We are obliged by law to quote the minimum wage of EUR 39,956,-- gross per year for this position, in accordance with the respective collective agreement (IT-KV). The salary that Sentry offers you is adjusted to the current market situation and our starting point is EUR 60,000-- gross per year.&nbsp;</em></p> <p>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 <a href="https://sentry.io/careers/">Sentry Benefits</a> for more details about the Company’s benefit plans/programs.</p><div class="content-conclusion"><h2><strong>Equal Opportunity at Sentry</strong></h2> <p>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.</p> <p>If you need assistance or an accommodation due to a disability, you may contact us at <a href="mailto:accommodations@sentry.io">accommodations@sentry.io</a>.</p> <p>Want to learn more about how Sentry handles applicant data? Get the details in our <a href="https://sentry.io/careers/applicantprivacy/">Applicant Privacy Policy</a>.</p></div>
Senior Software Engineer, Billing
San Francisco, California
<div class="content-intro"><h2 class="p1"><strong>About Sentry</strong></h2> <p class="p2">Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology.</p> <p class="p2">With more than $217 million in funding and 90,000 organizations that believe we’re on to something, we're building performance and error monitoring tools that help companies like Disney, Microsoft, and Atlassian spend less time fixing bugs and more time building products. If you like to selfishly build things that make your digital life better, come help us build the next generation of software monitoring tools.</p></div><h2><strong>About the role</strong></h2> <p>As a Senior Software Engineer on the Billing team you’ll be responsible for ensuring that Sentry is well paid for the services that we provide. We're a small team with a lot of scope and tons of room for ownership and growth.</p> <p>Our team owns all usage tracking (super high scale!), quota management, payment processing, plan pricing &amp; packaging, the UX of the checkout flows, all billing transparency (quota warnings, notification, invoices, charts), and the internal platform for other teams to experiment with pricing or promotions. We basically make sure we all get paid.</p> <p>We’re also closely involved in major strategic initiatives the company is pursuing: launching new product lines, federating billing across acquired platforms, etc.</p> <h2><strong>In this role you will</strong></h2> <ul> <li>Work cross functionally to launch new products and incorporate new product lines into the Sentry suite (like <a href="https://codecov.io/">Codecov</a>)</li> <li>Make our billing platform better for our customers (with features like grace periods, quota warnings, and spike protection)</li> <li>Partner with our BizOps teams to grow our billing system alongside our business (international sales taxes, ACH payments, 3DS support, partner integrations)</li> <li>Drive new revenue by optimizing our checkout and upgrade experiences, experimenting with pricing packaging, and promotions</li> <li>Contribute to both the open source and proprietary Sentry applications in Python, ReactJS, Postgres, Kafka, Redis, etc</li> </ul> <h2><strong>You’ll love this job if you</strong></h2> <ul> <li>Are a business focused engineer who likes understanding how financial aspects of a company works</li> <li>Like to come up with engineering solutions to big and complex business problems</li> <li>Understand the difference between fixed and floating point math</li> <li>Like working in a well-tested codebase</li> </ul> <h2><strong>Qualifications</strong></h2> <ul> <li>8+ years professional engineering experience</li> <li>Experience mentoring and directing teams in a fast-paced development environment</li> <li>You are comfortable developing on both the frontend and backend (we use Python, Django, React, and Typescript)</li> <li>Experience in building large scale user facing web applications</li> <li>Excellent written and verbal communication skills and ability to articulate technical concepts clearly and succinctly</li> <li>Experience with billing systems</li> </ul> <p>The base salary range (or hourly wage range, if applicable) that Sentry reasonably expects to pay for this position is $190,000 to $220,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 <a href="https://sentry.io/careers/">Sentry Benefits</a> for more details about the Company’s benefit plans/programs.</p><div class="content-conclusion"><h2><strong>Equal Opportunity at Sentry</strong></h2> <p>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.</p> <p>If you need assistance or an accommodation due to a disability, you may contact us at <a href="mailto:accommodations@sentry.io">accommodations@sentry.io</a>.</p> <p>Want to learn more about how Sentry handles applicant data? Get the details in our <a href="https://sentry.io/careers/applicantprivacy/">Applicant Privacy Policy</a>.</p></div>
Senior Frontend Engineer, Applications
Toronto, Canada
<div class="content-intro"><h2 class="p1"><strong>About Sentry</strong></h2> <p class="p2">Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology.</p> <p class="p2">With more than $217 million in funding and 90,000 organizations that believe we’re on to something, we're building performance and error monitoring tools that help companies like Disney, Microsoft, and Atlassian spend less time fixing bugs and more time building products. If you like to selfishly build things that make your digital life better, come help us build the next generation of software monitoring tools.</p></div><h2><strong>About the Role</strong></h2> <p>At Sentry, we're excited to welcome a Senior Frontend Engineer to our Codecov Applications team. Here, you'll be at the heart of our mission to revolutionize our Codecov product suite. Your role is important in developing and maintaining various components of our Codecov product suite, including the interactive dashboard, Slack app, and VSCode extension. We're not just about code coverage - we're about pushing boundaries, exploring new frontiers like JavaScript bundle analysis, and making our mark with AI in PR reviews. If you're someone who thrives on change and loves the thrill of innovation, you're going to fit right in.</p> <h2><strong>In This Role You Will</strong></h2> <ul> <li>Lead the transformation of our front end landscape, focusing on enhancing user interfaces and pioneering our move from JavaScript to TypeScript.</li> <li>Be the driving force in implementing a new design system, ensuring our products are not only functional but also visually stunning and user friendly.</li> <li>Work closely with our team to scale our products, making them more robust and efficient.</li> <li>Dive into the dynamic world of front-end development, where your creativity and expertise will shape the future of our product suite.</li> <li>Share your knowledge and experience by mentoring fellow team members, nurturing an environment of learning and growth.</li> <li>Embrace the challenge of a fast-paced and ever-evolving tech landscape, where your adaptability and problem-solving skills will be your greatest assets.</li> </ul> <h2><strong>You’ll Love This Job If You</strong></h2> <ul> <li>Enjoy leading front end projects and leaving your mark on widely used developer tools.</li> <li>Thrive in a fast-paced, dynamic environment where every day brings new challenges and opportunities.</li> <li>Enjoy a collaborative atmosphere and excel in a team that values open communication and mutual support.</li> <li>Are always eager to tackle complex problems with innovative, user-focused solutions.</li> <li>Have a curiosity for emerging technologies and love applying them in practical, impactful ways.</li> </ul> <h2><strong>Qualifications</strong></h2> <ul> <li>At least 5 years of experience in front end development, with an eye for UI design and seamless system integration.</li> <li>Proficiency in React, TypeScript, and front-end development technologies.</li> <li>A track record of successfully leading teams and projects in a dynamic, fast paced environment.</li> <li>Strong communication skills and the ability to thrive in a distributed team.</li> <li>An independent, self-driven approach to work, with a history of taking initiative in project development and problem-solving.</li> </ul> <h3>Pay transparency below:</h3> <p>The base salary range (or hourly wage range, if applicable) that Sentry reasonably expects to pay for this position is $174,000 CAD to $200,000 CAD. 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 <a href="https://sentry.io/careers/">Sentry Benefits</a> for more details about the Company’s benefit plans/programs.</p> <p>&nbsp;</p><div class="content-conclusion"><h2><strong>Equal Opportunity at Sentry</strong></h2> <p>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.</p> <p>If you need assistance or an accommodation due to a disability, you may contact us at <a href="mailto:accommodations@sentry.io">accommodations@sentry.io</a>.</p> <p>Want to learn more about how Sentry handles applicant data? Get the details in our <a href="https://sentry.io/careers/applicantprivacy/">Applicant Privacy Policy</a>.</p></div>
Senior Data Engineer
San Francisco, California
<div class="content-intro"><h2 class="p1"><strong>About Sentry</strong></h2> <p class="p2">Bad software is everywhere, and we’re tired of it. Sentry is on a mission to help developers write better software faster, so we can get back to enjoying technology.</p> <p class="p2">With more than $217 million in funding and 90,000 organizations that believe we’re on to something, we're building performance and error monitoring tools that help companies like Disney, Microsoft, and Atlassian spend less time fixing bugs and more time building products. If you like to selfishly build things that make your digital life better, come help us build the next generation of software monitoring tools.</p></div><h2><strong>About the role</strong></h2> <p>As a Senior Data Engineer in our Data and Analytics organization, you'll be a key player at the intersection of technology and business strategy. Leveraging your expertise, you'll design and implement robust data pipelines and warehouses, transforming raw data into actionable insights for informed decision-making.</p> <p>Collaborating closely with engineering, business, product, and marketing teams, you'll contribute to the design and construction of scalable data pipelines, serving as the backbone for our processing, analytics, and validation infrastructure</p> <h2><strong>In this role you will</strong></h2> <ul> <li>Design improvements and populate additions to our analytics data warehouse</li> <li>Combine data from disparate sources into a unified &amp; reliable source of truth</li> <li>Enhance data quality by leveraging internal tools/frameworks for automated detection of data quality issues</li> <li>Launch and support new data models that provide intuitive analytics for our cross-functional stakeholders</li> <li>Collaborate with the Business Intelligence team to guarantee that crucial data is readily accessible to the business</li> </ul> <h2><strong>You’ll love this job if you</strong></h2> <ul> <li>Draw deep satisfaction from operating in a high-impact role that affects the entire organization</li> <li>Are a self sufficient do-er: someone who enjoys ownership and can proactively and effectively work cross-functionally to make progress</li> <li>Are comfortable with the pace and dynamic environment of our actively growing business</li> <li>Thrive in a dynamic work environment that fosters continuous learning and growth in the field of data engineering</li> </ul> <h2><strong>Qualifications</strong></h2> <ul> <li>5+ years experience as a Data Engineer or similar, working with large data sets and cloud infrastructure</li> <li>Proficiency in SQL and relational databases including queries, database definition, and schema design</li> <li>Experience with scripting language, preferably Python for development of data pipelines</li> <li>Proficient in utilizing ETL tools, such as Fivetran for efficient data extraction, transformation, and loading processes</li> <li>Proficient in leveraging Google Cloud Storage (GCS) as a key component of data storage and retrieval solutions</li> <li>Possesses understanding of implementation and management of data pipelines using Apache Kafka</li> <li>Experience utilizing ETL tools and frameworks, with a preference for Apache Airflow</li> <li>Familiar with the concepts of container based deployment solutions like Docker, Kubernetes</li> <li>Excellent written and oral communication skills and ability to articulate technical concepts clearly and succinctly</li> <li>In the San Francisco Bay Area or willing to relocate</li> </ul> <p>The base salary range (or hourly wage range, if applicable) that Sentry reasonably expects to pay for this position is $160,000 to $195,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 <a href="https://sentry.io/careers/">Sentry Benefits</a> for more details about the Company’s benefit plans/programs.</p> <p></p><div class="content-conclusion"><h2><strong>Equal Opportunity at Sentry</strong></h2> <p>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.</p> <p>If you need assistance or an accommodation due to a disability, you may contact us at <a href="mailto:accommodations@sentry.io">accommodations@sentry.io</a>.</p> <p>Want to learn more about how Sentry handles applicant data? Get the details in our <a href="https://sentry.io/careers/applicantprivacy/">Applicant Privacy Policy</a>.</p></div>
You may also like