Staff Software Engineer - Distributed Systems
Sprout SocialAbout the role
Description
Sprout Social is looking to hire a Staff Software Engineer to join our Engineering team.
Why join Sprout’s Engineering team?
With collaborative cross-functional teams that span mobile, front-end, back-end, and site reliability engineering—the Sprout Engineering team is a place to sharpen your craft and solve hard problems with the smartest people in the industry. You’ll get to work on a “tech-giant” scale with smaller, supportive teams where every engineer has the chance to make an impact on our company, and our customers. The best part? In our industry, you often have to switch jobs or even companies to learn a new part of a tech stack or business. But at Sprout, our product is a suite, so you just need to move teams. You’re able to diversify your skills, which not only benefits your team—but also your career.
What you’ll do
Our Customer Experience Engineering team builds tools to help our customers automate tasks to accelerate response times so they can connect with their customers quickly and efficiently, including the Smart Inbox, Case Management capabilities, Customer Experiences, and Integrations external to Sprout. This part of the business is growing very quickly, and you’ll leverage your understanding of both the technical and people implications of a fast growing business to navigate and lead us through this rapid growth and change.
- You will collaborate with the stakeholders to define the vision and help lead the team through complex product and technical roadmaps, guiding them to successful outcomes.
- You will work to improve the processes, systems, and tools we use to deliver quality products, champion ideas that matter, and hold the team accountable.
What you’ll bring
We’re looking for a deeply technical, creative, collaborative, pragmatic, highly motivated, and inquisitive leader to join our team in delivering software that delights our customers. If you love solving hard problems, delivering high quality, scalable software services, and confidently guide your peers to learn from and teach each other, we’d love to talk to you!
The minimum qualifications for this role include:
- 7+ years experience developing and supporting software in a production environment
- 5+ years experience programming in an object oriented language such as Java, Python, C# or C++
- 2+ years of experience leading engineering projects and initiatives, including the design, development, and implementation of distributed systems, ensuring delivery of reliable services, prioritizing technical improvements with cross-functional teams, and/or driving technical vision.
Preferred qualifications for this role include:
- 5+ years experience developing and supporting high throughput, scalable, distributed backend services
- 4+ years of working with large databases or data stores
- Experience working with and tuning Elasticsearch, or OpenSearch in a large distributed setup
- Experience working with cloud computing technologies such as AWS or GCP
How you’ll grow
Within 1 month, you’ll plant your roots, including::
- Complete Sprout’s New Hire training program alongside other new Sprout team members.
- Get acclimated to the team's current Mission, Goals, and Objectives along with future product roadmaps.
- Deploy and make changes to our production systems.
- Interact with SQL and NoSQL data stores and NSQ messaging queues.
- Collaborate regularly with product managers and other product teams to deliver value to our users.
- Get regular team feedback on your work through code reviews and pairing.
- Proactively monitor the health of our services in production to ensure our customers always have a world-class experience
Within 3 months, you will:
- Decompose work into small, similarly sized units so that estimation is trivial.
- Work with your stakeholders and squad to create and prioritize quarterly team goals.
- Contribute to our Agile culture of continuous improvement through retrospective meetings and experimentation-oriented thinking.
- Build connections with members from other teams through guild meetings and chapter outings.
- Participate in technical design meetings with your teammates to walk through new feature ideas.
- Work with product managers, UX developers, back-end and front-end engineers and your leadership team to come up with the MVPs of new features.
- Be the first line of defense against product outages and defects while on support duty.
- Maintain, scale, and build systems that execute at internet scale
- Write Engineering briefs, design documents, coo
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s