Senior Software Engineer - Data Streaming
At Sprout Social we are building software that is made to last. Our 30,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.
As social data is at the core of our product, the ability to scale our data collection to meet the needs of our customers is of the utmost importance. Our data collection platform collects over a billion messages per day, while remaining flexible enough to keep up with new social network integrations and new capabilities being released by our social partners and their APIs. Our Data Ingest team, who are at the heart of this process, is one of our most cutting-edge teams. They are the first test pilots and designers of many of our technical experiments needed to reach the scale at which we operate, using a variety of technologies such as Java, 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 our Data Ingest engineering squad, you will be part of the day-to-day Agile development environment. The importance and visibility of this team's work in collecting social data for the Sprout ecosystem requires a high degree of collaboration between our engineers and our product back-end developers, product managers, and our infrastructure team to drive our initiatives to successful outcomes.
We're looking for a creative, collaborative, highly motivated, and inquisitive learner to help us deliver a great product to our customers. If you're passionate about building and scaling reliable systems, we'd love to talk with you!
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
Within 1 month, you will:
- Complete Sprout's New Hire training program alongside other new Sprout team members.
- Deploy and make changes to our production systems.
- Interact with SQL or NoSQL data stores and NSQ messaging queues.
- Collaborate regularly with product managers and other back-end engineers to deliver value to our users.
- Get regular team feedback on your work through code reviews and pairing.
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 and back-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 billions of messages a day.
Within 6 months, you will:
- 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 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.
About Sprout Social
Sprout Social powers open communication between individuals, brands and communities through elegant, sophisticated software. We are relentless about solving hard problems for our customers and committed to both customer and team success. Our team's shared belief in Sprout's mission promotes a culture of openness, empowerment and fun.
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
- Beautiful, convenient and state-of-the-art offices in Chicago's Loop and downtown Seattle, for those who prefer an office setting
Whenever possible, Sprout wants to provide our team with the flexibility to work in the location that makes the most sense for them. For those that prefer an office setting, this role may be based in our Chicago or Seattle locations. If you prefer to work from your home, we can accommodate that for many locations across the United States. We are not set up in all states, however, so please take a look at the drop down box in our application to see whether your state is listed.
Sprout Social is proud to be an Equal Opportunity Employer and an Affirmative Action Employer. We do not discriminate based on identity-
race, color, religion, national origin or ancestry, sex (including sexual identity), age, physical or mental disability, pregnancy, veteran or military status, unfavorable discharge from military service, genetic information, sexual orientation, marital status, order of protection status, citizenship status, arrest record or expunged or sealed convictions, or any other legally recognized protected basis under federal, state, or local law. Learn more about our commitment to diversity, equity and inclusion in our 2021 DEI Report.
If you need a reasonable accommodation for any part of the employment process, please contact us by email at [email protected] and let us know the nature of your request and your contact information. We'll do all we can to ensure you're set up for success during our interview process while upholding your privacy, including requests for accommodation. Please note that only inquiries concerning a request for reasonable accommodation will be responded to from this email address.
For more information about our commitment to equal employment opportunity, please click here (1) Equal Opportunity Employment Poster (2) Sprout Social's Affirmative Action Statement (3) Pay Transparency Statement.
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. 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.
Additionally, Sprout Social participates in the E-Verify program in certain locations, as required by law.