Sunrun Sr. Software Engineer (Design Tools, Backend) in Topeka, Kansas
Everything we do at Sunrun is driven by a determination to transform the way we power our lives. We know that starts at the individual employee level. We strive to foster an environment you can thrive in through our commitment to diversity, inclusion and belonging.
Come help lead the development of our next generation solar design software.
Join a team that helps customers imagine an electrified future powered by clean, renewable energy. We empower thousands of Sunrun employees every day to make precise solar designs tailored to each individual customer. We help customers visualize what a solar system could look like on their home— an important part of helping them understand the value of solar to them and the environment. We support Sunrun in being a transparent and trustworthy partner to our customers by providing industry leading solar design solutions with accurate power predictions. Sunrun is the residential solar market leader and every solar system at Sunrun goes through our software.
Join us in a rich domain where factors like roof pitch and azimuth are combined with weather data and shade modeling to create accurate estimates of annual solar production. A domain where multiple sources of geospatial data including satellite, aerial, and ground-level imagery are combined with digital surface and digital elevation maps to create 3D renderings of a home. Help us create sophisticated user interfaces that are advanced enough for our world-class design engineers to be meticulous but simple enough for our end customers to understand. Interested but worried about making the transition to solar? No problem! We have some of the most experienced solar and energy professionals in the industry and we’re happy to teach.
Some questions you’ll help us answer are: How do we create software that can support a wide range of customers, from single-family homeowners to large multi-family dwellings and entire new construction communities? How do we intersect CAD-like roof drawing functionality with 2D and 3D georeferenced data and then render it onto a simple and effective visualization? How do we create world-class software that is well-tested, observable, performant, scalable, and a pleasure to work with for both the users and developers alike?
Who’s our ideal candidate? You excel at creating simple, scalable software architectures. You understand the value of preserving customer trust and you sweat the details to make sure we deliver on customer expectations. You thrive in the unfamiliar and enjoy the challenge of a difficult problem over the ease of a simple one. You enjoy taking a complex problem and making it simple. You think beyond individual features and consider the system as a whole, especially in terms of how to improve its flexibility for the future. You love learning about tools, technologies, and practices and then sharing your knowledge, always remembering that there’s another human being on the other end of every conversation, discussion, or disagreement.
ESSENTIAL DUTIES AND RESPONSIBILITIES
To succeed, candidates must be able to do the following (in order of importance):
Communicate effectively in a fully remote environment with a fully distributed team
Collaborate extensively when designing a high-level system using good implementation patterns
Mentor engineers on good practices in all phases of backend development
Derive detailed requirements from high-level product guidance, and then automate those requirements as tests by using industry-standard practices like Specification By Example / Acceptance Test Driven Development
Navigate large legacy codebases in Java and Node.js and identify useful code to be migrated to a new system
EDUCATION AND EXPERIENCE
Bachelor’s Degree in Computer Science or equivalent work experience
3+ years of technical experience
SKILLS AND COMPETENCIES
It is expected that candidates will not have experience with all parts of our tech stack and that they will spend time with our team ramping up as needed.
Articulate complex technical ideas in a straightforward manner
Design and implement software using industry-standard design patterns like those from Enterprise Integration Patterns or Domain Driven Design
Write highly readable software in Typescript or Kotlin
Build serverless architectures in AWS, using at minimum Lambda, S3, DynamoDB, SQS, SNS, and CDK
As a team lead or engineering manager
With rules engines or optimization engines (e.g. Drools / Optaplanner / DDogleg)
With computer graphics, specifically ray tracing
With collaborative practices like Eventstorming, User Story Mapping or Example Mapping
Understand and perform basic vector math
Please note that the compensation information that follows is a good faith estimate for this position only and is provided pursuant to acts, such as The Equal Pay Transparency Act. It assumes that the successful candidate will be located in markets within the United States that warrant the compensation listed. Candidates in locations outside this local area may have a different starting salary range for this opportunity which may be higher or lower. Please speak with your recruiter to learn more.
The starting salary/wage for this opportunity is:
137,629 to $165,00
Other rewards may include annual bonus eligibility, which is based on company and individual performance, short and long term incentives, and program-specific awards. Sunrun provides a variety of benefits to employees, including health insurance coverage, an employee wellness program, life and disability insurance, a retirement savings plan, paid holidays and paid time off (PTO). A candidate’s salary history will not be used in compensation decisions.
Tyrone Taylor (email@example.com)
This description sets forth the general nature and level of the qualifications and duties required of employees in this job classification, as well as some of the essential functions of this role. It is not designed to be a comprehensive inventory of all essential duties and qualifications. If you have a disability or special need that may require reasonable accommodation in order to participate in the hiring process or to perform this role if you are offered employment, please let us know by contacting us at firstname.lastname@example.org .
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 (https://careers.sunrun.com/us/en/diversityandinclusion) 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 opportunities 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, pregnancy or any other basis protected by law. We also consider qualified applicants with criminal convictions, consistent with applicable federal, state and local law.