Staff Software Engineer
Big Data
Confirmed live in the last 24 hours
Sprout Social

1,001-5,000 employees

Social media management solutions
Locations
Remote
Experience Level
Entry
Junior
Mid
Senior
Expert
Desired Skills
Agile
Apache Spark
Elasticsearch
Java
Python
UI/UX Design
Quality Assurance (QA)
CategoriesNew
Software Engineering
Requirements
  • 7+ years experience developing and supporting software in a production environment
  • 5+ years experience programming in object oriented languages such as Java, Python, or C++
  • 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 system running on Java APIs, EMR (Spark, HBase) and ElasticSearch
  • 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
Responsibilities
  • 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
  • 5+ years experience developing and supporting scalable, distributed backend services, preferably with Java
  • 5+ years of working with one or more of ElasticSearch, HBase, or Apache Spark
  • 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
  • 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
  • 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