Senior Staff Software Engineer, Data Foundations

Sprout Social

Sprout Social

Software Engineering
Canada · Remote
Posted 6+ months ago

Senior Staff Software Engineer, Data Foundations

Description

Sprout Social is looking to hire a Senior Staff Software Engineer to join our Data Foundations team. This team is a new organization within Sprout Engineering whose mission is to build out the next generation of data management infrastructure, classification, and standards for the company. As a cross-functional team of platform, data, and analytics engineers, we work with stakeholders from across the company, including product managers, software engineers, data scientists, and our Revenue and Marketing organizations.

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

We are at the beginning of a multi-year journey to transform the way Sprout manages data, and the effects will have a profound impact on our product and internal operations. Some things you’ll be doing:

  • You will be a founding member of the Data Foundations leadership team and be responsible for leading the technical vision for the team.
  • As the team grows, you will partner closely with the Director, Engineering, and other leaders to chart the strategic growth of our platform
  • Lead the ongoing technical design of our platform in close collaboration with other technical and product leaders within and outside of Data Foundations
  • Balance ambition and pragmatism to achieve the best business outcomes
  • Be a standard bearer for engineering best practices.
  • Connect the team’s activities with company-wide engineering best practices and contribute to the overall evolution of those standards
  • Work with cross-functional stakeholders from across the organization to develop a multiyear platform roadmap, then implement this plan and work with teams across the organization to make it a reality
  • Be an engine of optimism, positive change, and continuous improvement within the team

What you’ll bring

We’re looking for a creative, collaborative, highly motivated and pragmatic engineer with a proven track record of leading the delivery of complex projects that span multiple teams and have a bottom-line impact. If this sounds like you and you want to be on a team that has a huge impact across our organization, we’d love to talk with you!

The minimum qualifications for this role include:

  • 9+ years experience developing and supporting software in a production environment
  • 7+ years experience in distributed systems development experience
  • Experience with backend development with languages such as Java, C++, Go and Rust
  • Demonstrated experience designing and delivering self-serve platforms

Preferred qualifications for this role include:

  • Familiarity with modern data platform architectures and technologies including Data Mesh
  • Experience with the modern data stack including distributed query engines, data catalogs, execution and orchestration tiers, streaming architectures, and data warehouses
  • Familiarity with scaled data architectures and data lake technologies such as DeltaLake
  • Experience with terabyte-to-petabyte-scaled data stores using both relational and NoSQL technologies

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.
  • Onboard to the team’s production systems and join oncall rotations
  • Familiarize with the major aspects and data flows across our systems
  • Connect with key stakeholders outside across Engineering and business teams

Within 3 months, you’ll start hitting your stride by:

  • Be fully onboarded to our systems, having committed code on several small starter projects
  • Develop an understanding of the team’s business and technical goals
  • Start to develop opinions about and contribute to the technical and product roadmap for the team
  • Enable an ongoing technical dialogue with the team’s engineers to discuss specific initiatives, issues, and direction
  • Start to articulate best practice areas and plans for the team
  • Write design documents, coordinate dependencies, and act as the domain owner for new projects.

Within 6 months, you’ll be making a clear impact through:

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

Within 12 months, you’ll make this role your own by:

  • 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.