Staff Software Engineer - Back End

Engineering · Canada · Remote possible

Job description

Sprout Social is looking to hire a Staff Software Engineer to join our Customer Experience Engineering team.

Why join Sprout’s Engineering team?

With collaborative cross-functional teams that span mobile, front-end, back-end, QA 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++

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, QA engineers, 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, coordinate dependencies, and act as the domain owner for your product zone and also the adjacencies.

Within 6 months, you will:

  • Learn to use monitoring and alerting tools to know about problems before our users.
  • Plan, create and manage large concurrent, distributed systems in a cost effective manner.
  • Build and demonstrate your engineering skills by attending as well as delivering in-house presentations, workshops, and training sessions.
  • Lead technical design meetings to walk through new feature ideas. 
  • Identify technical debt and performance bottlenecks within our systems, come up with a plan to improve them, and release them to production.
  • Work and communicate effectively with other groups across the organization to ensure big-picture alignment and encourage cross-team collaboration.
  • Create a career growth plan with your manager, and work towards it.
  • Partner with the Infrastructure team to improve your team’s ability to deliver scalable, reliable and  highly available services.

Within 12 months, you will:

  • Be the go-to expert of your teams’ systems at the company.
  • Own cross-organizational projects, 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.
  • Lead technical architecture meetings. 
  • Identify technical debt and performance bottlenecks within our systems, come up with a plan to improve the code, and get it pushed to production.
  • Mentor junior engineers, helping them level up technically.
  • Build connections with members from other teams through active networking and community building.
  • 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 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 Grow@Sprout 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

Candidates for this remote work opportunity must be based in either British Columbia or Ontario. If you are based in another location within Canada, we aren’t able to hire in your location at this time; however, if you’d like to stay in touch with us in case that changes in the future, please apply and we’ll save your application for possible future consideration.

#LI-Remote

When you apply for employment with Sprout Social, we will process your job applicant data, including your employment and education history, transcript, writing samples, and references as necessary to consider your job application for open positions. Your personal data will be shared with Greenhouse Software, Inc., and Crosschq, Inc., cloud services providers located in the United States of America and engaged by Sprout Social to help manage its recruitment and hiring process on Controller’s behalf. Accordingly, if you are located outside of the United States, by clicking “Submit Application” on this site, you consent to the transfer of your personal data to the United States. For more information about our privacy practices please visit our Privacy Policy. California residents have additional rights and should review the Additional Disclosures for California Residents section in our Privacy Policy.