Sprout Social company's all remote jobs
At Sprout Social we are building software that is made to last. Our 25,000+ customers depend on us daily to connect them with their customers, so reliability, scalability, and performance are top of mind. Our software is used by companies like the Chicago Bulls, Sony Electronics, Indiana University, Make-a-wish Foundation, Edelman, and Subaru to create stronger relationships with their customers through social media. Each day, our platform processes 10s of millions of social media messages and our APIs handle over 10 billion requests per year to deliver our software to customers in over 100 countries.
On our Infrastructure engineering team, we strive to create “Paved Roads”: standard production-ready technology that all of our engineering teams can leverage to deliver value quickly. At the same time, we seek to empower product engineering teams to take on as much production ownership for their services as possible. We work to improve all aspects of engineering through automation, observability of metrics, and clear processes in order to build sustainable and fault tolerant solutions. Learning from system failures and human mistakes is part of our culture.
We do not operate as lone wolves or “10x devs.” Instead, we are building diverse, collaborative teams that get the best results sustainably. Our Site Reliability Engineers work in tandem with Web, Platform, and QA Engineers to drive our product initiatives to successful outcomes.
We are looking for a creative, collaborative, highly motivated, and pragmatic engineer to help us design and build reliable, scalable, performant systems that empower engineers to rapidly and safely deliver value to our customers. If this sounds like you and you want to be on a team that has a huge impact across all of engineering, we’d love to talk with you!
Within 1 month, you will:
- Experience Sprout’s in-depth onboarding, covering everything from our company mission and values, hearing directly from executives and founders, to deep training on our products and the value that Sprout delivers to our customers
- Make a plan with your manager to set initial priorities, align on expectations for your role, plant goalposts for your career, and learn about Sprout’s approach to site reliability engineering
- Interact with our production infrastructure and perform operational tasks
- Collaborate with your team members and fellow developers to deliver value to our users
- Receive feedback on pull request(s) and actively pair with teammates
- Ramp up on our core technology stack including AWS, Chef, Terraform, and Kubernetes
- Shadow a team member for an on-call rotation
Within 3 months, you will:
- Complete your first end to end project, such as a new infrastructure deployment using Chef and Terraform
- Gain familiarity with our platform architecture
- Learn about and interact with some of our key storage technologies: MySQL, Elasticsearch, Cassandra, and Hadoop
- Learn about our use of NSQ in our streaming data ingest pipeline
- Use our observability tools to troubleshoot production performance or stability issues
- Join our on-call rotation (don’t worry we’ve got your back!)
- Focus on code quality with meaningful test coverage
- Participate in code reviews and give feedback to team members
- Contribute to our team’s culture of continuous improvement through retros and experimentation-oriented thinking
- Proactively identify, advocate for, and make high impact improvements to reduce operational toil
Within 6 months, you will
- Accidentally break something, recover, and learn from it
- Help complete a impactful project that is well-baked and bug-free
- Work with services in our Kubernetes platform
- Write design documents, gather feedback from peers, coordinate dependencies, and be a domain owner for a new project
- Form a career growth plan with your manager and begin work towards it
- Interact with and maintain distributed systems
- Build effective working relationships with team members across engineering through active networking, collaboration, and community building
- Influence other developers and model engineering best practices
- Help promote DevOps culture by working with engineers to assume operational ownership
Within 12 months, you will
- Be comfortable and confident in most technical aspects of your team’s core systems and services
- Mentor junior engineers via pairing, design review, and code review
- Continue growing your knowledge of our environment and services
- Actively mitigate risk of poor quality or missed deadlines
- Continually evaluate and refine your technical toolkit: teach what you learn to the team
- Retire a service that is EOL and clean up artifacts
- Have opportunities to contribute to in-house technical presentations and workshops that share your expertise with large groups of Sprout engineers
- Have opportunities to advocate for Sprout Engineering in the software community by participating/speaking at conferences, user groups, etc.
- Surprise us! Use your unique ideas and abilities to change Sprout Engineering 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.
Skills & requirements
Qualifications
These are the minimum qualifications that our hiring team is looking for in this role:
- 4+ years building and maintaining reliable, scalable systems in a Linux/UNIX environment
- 4+ years experience with one or more infrastructure-as-code or configuration-as-code tools, such as: Terraform, Chef, Ansible, SaltStack, etc.
- Experience in at least one programming language, such as Python, Java, Golang, or Ruby
Additionally, these are the preferred qualifications that would indicate a particularly strong candidate:
- 2+ years with one or more Cloud providers; AWS, GCP, or similar
- 2+ years experience with containers and orchestration platforms, such as Kubernetes, Mesos, or Nomad
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.
Skills & requirements
Qualifications
These are the minimum qualifications that our hiring team is looking for in this role:
- 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++
Additionally, these are the preferred qualifications that would indicate a particularly strong candidate:
- 5+ years experience developing and supporting scalable, distributed backend services
- 4+ years experience working with databases
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. Back-End developers work in tandem with Web developers, QA, Design, and management to drive our product initiatives to successful outcomes.
We’re looking for a creative, collaborative, highly motivated, and inquisitive learner to build great software with us. If you confidently write web applications using Java and Python and are passionate about learning, 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.
- Develop and deploy changes to our production systems.
- Interact with MySQL data stores and NSQ messaging queues.
- Collaborate regularly with your product manager, QA engineers, and fellow developers to deliver value to our users.
- Log into our remote Linux servers and monitor the status of our services.
- Get regular team feedback on your code through code reviews.
Within 3 months, you will:
- Focus on code quality with meaningful test coverage and legibility.
- Decompose work into small, similarly sized units so that estimation is unnecessary.
- Work with your product manager and fellow developers 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 Designers 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 and build upon systems that handle hundreds of thousands of messages a day.
Within 6 months, you will:
- 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.
- Be “point person” on a project, including writing design documents, coordinating dependencies, and acting as domain owner.
- Create and manage concurrent, distributed systems.
- Build your engineering skills by attending in-house presentations, workshops, and training sessions.
- 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:
- 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 developers, 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 developers.
- 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.
Skills & requirements
Qualifications
These are the minimum qualifications that our hiring team is looking for in this role:
- 4+ years experience developing and supporting software in a production environment
- 3+ years experience programming in object oriented languages such as Java, Python, or C++
Additionally, these are the preferred qualifications that would indicate a particularly strong candidate:
- 3+ years experience developing and supporting scalable, distributed backend services
- 3+ years experience working with databases