Ever since we started in 2007, Sunrun has been at the forefront of connecting people to the cleanest energy on Earth. It’s why we’ve become the #1 home solar and battery company in America. Today, we’re on a mission to change the way the world interacts with energy, and we’re building a company and brand that puts power at the center of life. And we’re doing it by designing a dynamic culture where employee development, well-being, and safety come first. We’re unlike any other solar company. Our vertically integrated model gives us total control over every part of the energy lifecycle – from sale through installation and beyond – so you can find endless growth opportunities. Come join a career you can grow in and a culture you can run with.
This position is primarily remote, with occasional visits to a local office or our corporate headquarters for team-building, training, and collaborative project work. These on-site sessions are designed to strengthen connections, share insights, and ensure a seamless experience for our team and customers. Equipment pick-up from a local branch will be required. We will provide advance notice whenever on-site attendance is required, making these times purposeful and rewarding.
Overview
We are seeking a Staff Software Engineer with expertise in data engineering. In this role, you will manage the entire data engineering lifecycle, which includes ingesting data from IoT devices, transforming and aggregating that data, and presenting it through backend APIs for both external and internal products. Your work will guide the technical direction of key applications, such as Grid Services and the Sunrun Customer Application. Additionally, you will take a lead role in transforming our data systems into self-healing, reliable, and proactive solutions
On this team, you will develop the data infrastructure and pipelines necessary to ingest and process IoT data from over 1 million solar and storage systems. This data is utilized across our company to ensure accurate billing, maintain system uptime, performance analysis, and provide valuable insights for our customers
Responsibilities
- Technical Leadership: Help establish development and architectural standards within the team, promoting technical excellence and best practices
- Collaboration: Work closely with Product Management, DevOps, and other team members to develop applications that are easily testable and perform well under diverse network conditions
- Data Availability: Ensure consumers have access to the data they need for informed decision-making, focusing on data availability and reliability
- Best Practice Adherence: Champion the adherence to best-practice development methodologies throughout the software development process
- Data Pipelines: Build and maintain streaming and batch data pipelines to efficiently process and manage data
- .Algorithm and Software Component Design: Design and code scalable and secure algorithms, data structures, and software components
- Documentation: Maintain clear and comprehensive documentation for code, systems, and processes
- Code Reviews: Lead design and code reviews to ensure high-quality code and knowledge sharing within the team
- Automated Testing: Facilitate automated testing to enable rapid innovation and ensure the stability of applications
- Mentorship: Mentor and help build skills across the team through standard setting, code reviews, and pair programming
- Performance Tuning: Optimize production applications to maximize efficiency and performance
- Metrics and Analysis: Develop ongoing metrics, analysis, and dashboards to guide important decisions and monitor system performance
Qualifications
- Education: A Bachelor's or Master's degree in Computer Science or a related field is preferred
- Experience: A minimum of 5 years of hands-on experience in developing enterprise applications with Java, Python, JavaScript, and Node.js
- Extensive experience working with large-scale, high-performance data processing systems, including batch and streaming
- Leadership: Strong leadership skills with the ability to mentor and guide team members
- Cloud Platforms: Extensive experience with AWS cloud platform, some familiarity with GCP cloud platform is a plus
- Database Knowledge: Proficiency in both relational and NoSQL databases
- Cloud Services: Familiarity with various cloud services and serverless architecture
- Microservices Development: Proven experience in developing microservices and Lambdas using JavaScript/TypeScript
- Enterprise Environment: Prior experience working in complex enterprise environments and developing complex programs
- API Development: Strong expertise in REST API architecture and development
- Automation: A focus on automation, including CI/CD practices and test automation
- Agile/SCRUM: Experience with Agile/SCRUM software development methodologies
- Security Practices: Strong understanding of security practices and data protection
Are you looking for remote jobs near your area? At Yulys, thousands of employers are looking for exceptional talent like yours. Find a perfect job now.