Staff Software Engineer
Big Data
Confirmed live in the last 24 hours
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