Sprout Social

Lead Software Engineer Back-End

Sprout Social

Remote job description

At Sprout Social we are building software that is made to last. Our 25,000+ customers rely on us daily to reliably connect them with their customers, so scalability and performance are top of mind. Sprout Social is used by companies like the Chicago Bulls, Sony Electronics, Indiana University, Make-a-Wish Foundation, Edelman and Subaru who rely on Sprout to create stronger relationships with their customers through social media.

Code quality is an essential ingredient to keeping our platform flexible and rapidly reacting to changes in the market and social media networks. Our systems execute at scale while staying nimble enough to keep up with new capabilities being offered by social network APIs. Our team uses a variety of technologies, including Java, Python, MySQL, Cassandra, Hadoop, Elasticsearch, NSQ, Docker, and Kubernetes.

We do not operate as lone wolves or "10x devs." Instead, we're building diverse, collaborative teams that get the best results sustainably. Embedded as a member of one of our cross-functional engineering squads, you will be part of the day-to-day Agile development environment. Our back-end engineers work in tandem with Web developers, QA, Design, and management to drive our product initiatives to successful outcomes. As a lead engineer, you will help lead the team through complicated product and technical roadmaps and guide 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.

We're looking for a creative, collaborative, pragmatic, highly motivated, and inquisitive technical leader to join our team in building great software. If you can solve hard problems, deliver quality server side software, and confidently guide your peers to learn from and teach each other, we'd love to talk with you!

Within 1 month, you will:

  • 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 or 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.
  • Log into our remote Linux servers and monitor the status of our services.

Within 3 months, you will:

  • Decompose work into small, similarly sized units so that estimation is unnecessary.
  • Work with your 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, and front-end engineers to come up with the MVPs of new features.
  • Be the first line of defense against product outages and bugs while on support duty.
  • Maintain, scale, and build upon systems that handle hundreds of thousands of messages a day.
  • Write design documents, coordinate dependencies, and act as the domain owner for new projects.

Within 6 months, you will:

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

Summary
Company: Sprout Social
Job title: Lead Software Engineer - Back-End at Sprout Social (Chicago, IL) (allows remote)
Job tags: java, python

Share or copy

Job alerts