Staff Site Reliability Engineer - Database Reliability at Sprout Social
At Sprout Social we are building software that is made to last. Our 25,000+ customers depend on us daily to connect them with their customers, so reliability, scalability, and performance are top of mind. Our software is used by companies like the Chicago Bulls, Sony Electronics, Indiana University, Make-a-wish Foundation, Edelman, and Subaru to create stronger relationships with their customers through social media. Each day, our platform processes 10s of millions of social media messages and our APIs handle over 10 billion requests per year to deliver our software to customers in over 100 countries.
On our Database Reliability engineering team, we strive to create “Paved Roads”: standard production-ready technology that all of our engineering teams can leverage to deliver value quickly. We work to improve all aspects of engineering through automation, observability of metrics, and clear processes in order to build sustainable and fault tolerant solutions. Learning from system failures and human mistakes is part of our culture. We are stewards of our data layer but not gate keepers to it, and we work to empower teams to take on production ownership as much as possible.
We do not operate as lone wolves or “10x devs.” Instead, we are building diverse, collaborative teams that get the best results sustainably. Our Site Reliability Engineers work in tandem with Web, Platform, and QA Engineers to drive our product initiatives to successful outcomes. And we do so by working with database technologies like MySQL, Elasticsearch, Hadoop, and Vault, and we build with Chef, Terraform, and Java.
We are looking for a creative, collaborative, highly motivated, and pragmatic engineer to help us design and build reliable, scalable, performant systems that empower engineers to rapidly and safely deliver value to our customers. If this sounds like you and you want to be on a team that has a huge impact across all of engineering, we’d love to talk with you!
These are the minimum qualifications that our hiring team is looking for in this role:
- 7+ years building and maintaining reliable, scalable systems or software in a Linux/UNIX environment
- 3+ years experience with one or more infrastructure-as-code or configuration-as-code tools, such as: Terraform, CloudFormation, Chef, Puppet, Ansible, SaltStack, etc.
- 2+ years experience programming in at least one language, such as Python, Java, Golang, Ruby, etc.
Additionally, these are the preferred qualifications that would indicate a particularly strong candidate:
- 2+ years with one or more Cloud providers; AWS, GCP, or similar
- Experience operating and maintaining RDBMSs like MySQL, MariaDB, Postgres, etc.
- Experience with Hadoop or similar technologies
- Experience with AWS Managed Database services like RDS, Elasticsearch and Aurora
Within 1 month, you will:
- Experience Sprout’s in-depth onboarding, covering everything from our company mission and values, hearing directly from executives and founders, to deep training on our products and the value that Sprout delivers to our customers
- Make a plan with your manager to set initial priorities, align on expectations for your role, plant goalposts for your career, and learn about Sprout’s approach to site reliability engineering
- Contribute to feature work
- Interact with our hosting platforms and perform operations tasks
- Collaborate with your team members and fellow developers to deliver value to our users
- Receive feedback on pull request(s) and actively pair with teammates
- Shadow a team member for an on-call rotation
- Learn about and interact with some of our key storage technologies: MySQL, Cassandra, Elasticsearch, Hadoop
Within 3 months, you will:
- Contribute to our secrets management toolchain powered by Hashicorp Vault
- Complete your first end to end project, such as a new infrastructure deployment using Chef and Terraform
- Gain familiarity with our platform architecture
- Learn about our use of NSQ in our streaming data ingest pipeline
- Use our observability tools to troubleshoot production performance or stability issues
- Join our on-call rotation (don’t worry we’ve got your back!)
- Focus on code quality with meaningful test coverage
- Participate in code reviews and give feedback to team members
- Contribute to our team’s culture of continuous improvement through retros and experimentation-oriented thinking
- Proactively identify, document, and schedule future work to be done, working toward eliminating operational toil
Within 6 months, you will
- Migrate critical database systems to technologies like AWS Elasticache and Aurora
- Help complete a impactful project that is well-baked and bug-free
- Write design documents, gather feedback from peers, coordinate dependencies, and be a domain owner for a new project
- Form a career growth plan with your manager and begin work towards it
- Accidentally break something, recover, and learn from it
- Interact with and maintain distributed systems
- Build effective working relationships with team members across engineering through active networking, collaboration, and community building
- Have your first performance conversation with your manager, where you’ll discuss your accomplishments in your role and work together to build goals for your professional growth
- Influence other developers and model engineering best practices
- Help promote DevOps culture by working with engineers to assume operational ownership
Within 12 months, you will
- Make key decisions designing and building out our big data platforms
- Be comfortable and confident in most technical aspects of your team’s core systems and services
- Continue growing your knowledge of our environment and services
- Actively mitigate risk of poor quality or missed deadlines
- Continually evaluate and refine your technical toolkit: teach what you learn to the team
- Retire a service that is EOL and clean up artifacts
- Have opportunities to contribute to in-house technical presentations and workshops that share your expertise with large groups of Sprout engineers
- Have opportunities to advocate for Sprout Engineering in the software community by participating/speaking at conferences, user groups, etc.
- Mentor junior engineers via pairing, design review, and code review
- Surprise us! Use your unique ideas and abilities to change Sprout Engineering in beneficial ways that we haven’t even considered yet
Of course, what is outlined above is the ideal timeline, but things may shift based on business needs and other projects and tasks could be added at the discretion of your manager.
About Sprout Social
Sprout Social powers open communication between individuals, brands and communities through elegant, sophisticated software. We are relentless about solving hard problems for our customers and committed to both customer and team success. Our team’s shared belief in Sprout’s mission promotes a culture of openness, empowerment and fun.
We’re proud to regularly be recognized for our team, product and culture. Our benefits program includes:
- Insurance and benefit options that are built for both individuals and families
- Progressive policies to support work/life balance, like our flexible paid time off and parental leave program
- High-quality and well-maintained equipment—your computer will never prevent you from doing your best
- Wellness initiatives to ensure both health and mental well-being of our team
- Ongoing education and development opportunities via our [email protected] program, employee-led diversity, equity and inclusion initiatives and mentorship programs for aspiring leaders
- Growing corporate social responsibility program that is driven by the involvement and passion of our team members
- Beautiful, convenient and state-of-the-art offices in Chicago’s Loop and downtown Seattle, for those who prefer an office setting
Whenever possible, Sprout wants to provide our team with the flexibility to work in the location that makes the most sense for them. For those that prefer an office setting, this role may be based in our Chicago or Seattle locations. If you prefer to work from your home, we can accommodate that for many locations across the United States. We are not set up in all states, however, so please take a look at the drop down box in our application to see whether your state is listed.
Sprout Social is proud to be an Equal Opportunity Employer and an Affirmative Action Employer. We do not discriminate based on identity- race, color, religion, national origin or ancestry, sex (including sexual identity), age, physical or mental disability, pregnancy, veteran or military status, unfavorable discharge from military service, genetic information, sexual orientation, marital status, order of protection status, citizenship status, arrest record or expunged or sealed convictions, or any other legally recognized protected basis under federal, state, or local law. Learn more about our commitment to diversity, equity and inclusion in our 2020 DEI Report.
If you need a reasonable accommodation for any part of the employment process, please contact us by email at [email protected] and let us know the nature of your request and your contact information. We'll do all we can to ensure you're set up for success during our interview process while upholding your privacy, including requests for accommodation. Please note that only inquiries concerning a request for reasonable accommodation will be responded to from this email address.
For more information about our commitment to equal employment opportunity, please click here (1) Equal Opportunity Employment Poster (2) Sprout Social's Affirmative Action Statement (3) Pay Transparency Statement.
Additionally, Sprout Social participates in the E-Verify program in certain locations, as required by law.