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. On a daily basis, we process tens of billions of requests and tens of billions of asynchronous events. We also ingest billions of social messages every day, and ship more than 1,000 production deployments every month. 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
- Ensure service excellence and maintain robust, scalable technical foundations, leveraging technologies such as Java, Python, MySQL, NSQ, Hbase, AWS, and Kubernetes.
- Help lead the team through complex product and technical roadmaps, guiding them to consistently successful outcomes.
- Work to improve the processes, systems, and tools we use to deliver quality products and champion technical initiatives and direction.
- Build processes to proactively identify and address technical issues as part of team delivery or escalate larger initiatives for prioritization with team leadership.
- Provide technical mentoring for engineers across the team and facilitate learning through pairing, documentation, and workshops.
What you'll bring
We're looking for a deeply technical, creative, collaborative, pragmatic, highly motivated, and inquisitive leader to join our team in building great software. If you love solving hard problems, delivering and sustaining high-quality software, and confidently guiding your peers to learn from and teach each other, we'd love to talk with you!
The minimum qualifications for this role include :
7+ years experience developing and supporting software in a production environment5+ years experience programming in an object oriented language such as Java, Python, C# or C++3+ years 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.Additionally, these are the preferred qualifications that would indicate a particularly strong candidate :
5+ years experience developing and supporting scalable, distributed backend servicesExperience working with cloud computing technologies such as AWS or GCP3 years experience working with SQL and / or NoSQL databasesHow 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 Objectives and Key Results, along with future product roadmap priorities.Learn about our current multi-product Identity and Access Management technical vision.Deploy and make changes to our production systems.Become familiar with the team's current Service Level Agreements (SLAs) that ensure a world-class customer experience, as well as the SLOs and SLIs we use to proactively track our performance against our SLAs.Collaborate regularly with product managers, product designers, engineers, and other product teams to deliver value to our users.Embrace regular team feedback on your work through code reviews and pairing.Within 3 months, you will :
Begin operating as the access domain's technical owner by leading initiatives, coordinating with stakeholders, and assuming responsibility for our quality of service.Work with product managers, UX developers, back-end and front-end engineers to lead your first feature delivery, with deliverables broken into an MVP and iterative milestones.Proactively build relationships with members on other teams through active networking and community building.Decompose work into small, similarly-sized units so that task-level estimation is trivial.Become an active participant in code reviews and retrospectives, continuously providing guidance and feedback to others.Foster a positive culture on your teams as an intrinsic side effect of the way you communicate and collaborate.Work with your team to create and prioritize quarterly team goals.Be the first line of defense against product outages and bugs while on support duty.Within 6 months, you will :
Design, create, and maintain access platform solutions that execute at internet scale in a cost effective manner.Apply your expertise to enhance our existing use of monitoring and alerting tools, thereby ensuring we know about problems before our end users or other back-end teams reliant on our platform.Identify technical debt and performance bottlenecks within our systems, come up with a plan to improve them, and release them to production.Frequently partner with other engineers to iterate on our existing technical strategy in service of our overall vision.Lead technical design planning and facilitate peer review for new feature ideas.Mentor engineers, helping them level up technically.Author your career growth plan with your manager's support and work towards it.Within 12 months, you will :
Be the go-to expert of your teams' systems at the company.Utilize the cross-organization connections you've built to identify areas of need across our platform, and create plans that incorporate big-picture technical alignment with other leaders.Own cross-organizational projects and architecture, demonstrating project management skills, consensus building, and strong leadership.Actively mitigate risk of failed delivery and missed deadlines through courageous, transparent communication with colleagues and stakeholders throughout a project life cycle.Have opportunities to contribute to in-house technical presentations and workshops that share your expertise with large groups of Sprout engineers.Surprise us! Use your unique ideas and abilities to change your team 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.
Our Benefits Program
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 familiesProgressive policies to support work / life balance, like our flexible paid time off and parental leave programHigh-quality and well-maintained equipment-your computer will never prevent you from doing your bestWellness initiatives to ensure both health and mental well-being of our teamOngoing education and development opportunities via our Grow@Sprout program and employee-led diversity, equity and inclusion initiatives.Growing corporate social responsibility program that is driven by the involvement and passion of our team membersBeautiful, convenient and state-of-the-art offices in Chicago's Loop and downtown Seattle, for those who prefer an office settingWhenever possible, Sprout wants to provide our team with the flexibility to work in the location that makes the most sense for them. Sprout maintains a remote workforce in many places in the United States. However, we are not set up in all states, so please look at the drop-down box in our application to see whether your state is listed. Few roles require an office setting. If your position requires a physical presence in a Sprout office, it will be evident in the job listing and your offer letter.
Individual base pay is based on various factors, including work location, relevant experience and skills, the responsibility of the role, and job duties / requirements. In the United States, we have two geographic pay zones. For this role, our current base pay ranges for new hires are :
Zone 1 (New York, California, Washington) : $184,008 (min), $230,000 (mid), $276,012 (max) USD annuallyZone 2 (All other US states) : $167,300 (min), $209,100 (mid), $250,900 (max) USD annuallyThe listed ranges represent the full earning potential in this position. Starting salaries for well-qualified new hires are typically around the midpoint of the range. These ranges were determined by a market-based compensation approach; we used data from trusted third-party compensation sources to set equitable, consistent, and competitive ranges. We also evaluate compensation bi-annually, identify any changes in the market and make adjustments to our ranges and existing employee compensation as needed.
Base pay is only one element of an employee's total compensation at Sprout. Every Sprout team me