Sr. Software Engineer - Data Engineering at Sunrun
Denver, CO, US

We're looking for a seasoned Senior Software Engineer with a potential to be a technical lead to help our team build massively scalable consumer systems for clean energy.  
 
About Sunrun
 
Sunrun is the #1 residential solar company in the country and our mission is to bring clean solar power service  affordably to every house in America. We help people upgrade their home to solar energy without the big upfront costs. 
 
About Sunrun Software Engineering
 
We're hiring world-class software engineering talent to help our infrastructure keep up with daunting growth rates. We are literally working to change the world by revolutionizing the way people use energy.
 
Want to work on massively scalable consumer systems? Re-invent how consumers use energy? Have a measurable impact on one of humanity’s biggest challenges? Come to Sunrun. You'll work alongside passionate engineers engaged in the design and development of a product that is changing the world.
 
As a Senior Software Engineer, you’ll help lead technical direction for all data engineering solutions at Sunrun and will also lead the way in transforming our systems to self-healing, reliable and reactive systems.

Responsibilities

 

  • Help establish the development and architectural standards for the team in areas of technical excellence.
  • Work collaboratively with Product Management, DevOps, and other software developers to develop applications that can be easily tested and perform well under a variety of network conditions.
  • Champion adherence to best-practice development methodologies.
  • Design and code appropriate, scalable, and secure algorithms, data structures, and software components.
  • Lead design and code reviews.
  • Facilitate automated testing so all teams can innovate at a rapid pace.
  • Mentor and build skills across the team through effective standards setting, code reviews, and pairing. 
  • Tune production applications to maximize efficiency.
  • Demonstrated technical leadership skills with ability to conduct code reviews and architect solutions.

 

Qualifications

 

Technical Skills Needed

 

 

  • 8+ years experience designing and coding enterprise level applications 
  • Strong experience developing complex enterprise applications with NodeJS (Javascript) and/or Java.
  • Experience with REST API architecture and development especially using Swagger or Apigee. 
  • Strong knowledge of Git including version control, branching, merging/rebasing, and pull requests.
  • Solid understanding of MVC and MVVM patterns, architectures, and frameworks. 
  • Strong focus on automation including Continuous Integration / Deployment with writing unit and integration tests.
  • Experience with NodeJS development and build tooling (especially npm, yarn, mocha, chaijs, and eslint).
  • Experience with the Kotlin and/or Python languages.
  • Good security practices and experience writing code that manages customer data.
  • Impeccable communication and team skills with shared ownership of code and other deliverables.
  • Willingness to work with and learn new technologies
  • Experience architecting solutions in GCP, specifically using: Cloud functions, Composer, Cloud pub/sub, Data flow and Stackdriver.
  • Familiarity with managed cloud services (e.g. GCP, AWS, Azure) and their associated offerings.
  • Familiarity with real-time data processing.

 

 

Bonus Technical Skills

 

  • Familiarity with distributed systems and federated authentication systems.
  • Familiarity with Docker and Serverless architectures like GCP Cloud Functions, AWS Lambda, GCP Datastore, DynamoDB, GCP Dataflow, ECS, S3, GCP Pubsub, SQS, CloudFormation, Terraform, and/or other similar cloud services.
  • Experience in machine learning (especially TensorFlow and XGBoost), deep learning, computer vision, and/or natural language processing.
  • Experience with Maven/Gradle build systems.
  • Experience with Groovy / Jenkins CICD pipelines.
  • Familiarity with team development tooling (especially with Jira and Github)
  • Understanding of BFF (Backend-for-Frontend) patterns.
  • Experience with development of self-healing, reliable and reactive systems.

 

Education

 

  • BS/MS in Computer Science, Engineering or Math is preferred.

 

Solar Careers For All

Sunrun is proud to be an equal opportunity employer that does not tolerate discrimination and harassment of any kind. At Sunrun, we believe that empowering people and valuing their differences will help us create a planet run by the sun. That’s why we strive to make solar inclusive. Our commitment to Diversity & Inclusion drives our ability to build diverse teams and develop inclusive work environments. We do our best to make sure all people feel respected, supported and connected at work. That includes our support for members and allies of all underrepresented groups through our internal employee networks such as Sunrun Women’s Network, Sunrun’s Veterans Network (“Liberty”), Women in Tech, and Sunrun’s LGBTQ affinity group.
 
We are committed to equal employment opportunity without consideration of race, color, religion, ethnicity, citizenship, political activity or affiliation, marital status, age, national origin, ancestry, disability, veteran status, sexual orientation, gender identity, gender expression, sex or gender, or any other basis protected by law. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law. If you have a disability or special need that requires accommodation, please let us know.