Software Engineer

  • Sunrun
  • Lehi, UT, USA
  • Jun 27, 2021

Job Description

Overview: 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. We're looking for a seasoned Software Engineer with a potential to be a technical lead to help our team build massively scalable consumer systems for clean energy. 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 Software Engineer,you'll help with 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: + 3+ years experience designing and coding enterprise level applications. + Strong experience developing complex enterprise applications with Java and/or NodeJS. + 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,Dataflow 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 + Experience with GCP Dataflow,specifically leveraging the Kotlin language. + Experience with GCP data stores including BigQuery,Bigtable and Datastore. + Familiarity with distributed systems and federated authentication systems. + Familiarity with Docker and Serverless architectures like GCP Cloud Functions,AWS Lambda,DynamoDB,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 Github Actions / Jenkins CI/CD 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. Sunrun is proud to be an equal opportunity employer that does not tolerate discrimination or harassment of any kind. Our commitment to Diversity,Inclusion & Belonging drives our ability to build diverse teams and develop inclusive work environments. At Sunrun,we believe that empowering people and valuing their differences will help us create a planet run by the sun for everyone. 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.