Sr. Systems Engineer
Sr. Systems Engineer
Engineering Manager (Release)
GET READY FOR THE FUTURE OF ENERGY
Enphase Energy is using the innovation that made us the world leader in microinverter technology to transform energy generation and management forever.
We are one of the fastest growing and most dynamic Energy Systems Companies in the world. By combining the power of solar energy and the proven advantages of communications technology, Enphase Energy makes solar power systems productive, reliable, smart and safe. Our microinverter system is profoundly changing the way solar systems function, and as a result, changing the solar industry itself.
As we continue our exciting growth, we are building teams with highly talented individual contributors and leaders who design, develop, and manufacture next generation energy technologies. Our work environment is fast-paced, fun, and full of exciting new projects.
We are a value driven company and are committed to innovation, quality, and responsibility. If these are your values, too, you could be the next to join us on our quest for a more sustainable planet.
Mission (Why does this role exist?) and Scope (About the Job)
The Systems Engineer will be responsible for supporting Enphase software release, deployment, automation, and maintenance of software for all Enphase products including storage and inverters. The intent of this role is to be quality-comprehensive: the candidate will play a key role is ensuring that the intended software has passed through all testing and meets certification requirements. Experience with automation using Ruby, Python, SQL is essential for this role and good to have experience in Bash/Shell, Perl, PHP . Quality mindset with good understanding of processes and tools with continuous improvement mindset is required. The candidate will be actively involved in the monitoring of field and beta testing to ensure timely analysis of failures, and corrective measures for root cause corrections. The candidate will ensure that the releases/upgrades do not cause customer disruptions. Collaborates with Engineering/Quality/CS teams and Information Technology.
Key Responsibilities and Outcomes (What the Person needs to accomplish in the role ?)
- Develop scripts and automation tools to deploy/upgrade software releases to various platforms, increase efficiency of software upgrade, monitor pre/post upgrade performance using Ruby, Python, Bash/Shell, SQL.
- Implement Release management best practice and automation for main releases, patch releases, configuration updates.
- Coordinates with different teams/stockholders for deployment/upgrade criteria and changes to enable auto upgrades for various releases.
- Firmware upgrades to the field : Build, maintain scalable upgrade infrastructure, FW upgrades to the field
- Work with cross functional teams across the organization, and involve in technical investigations related to enterprise level integration of software components
- Document software upgrade process, field monitoring process and factory release processes.
- Plan, coordinate, conduct trials and releases upgrades from choosing a candidate all the way to releases in the field.
- Design the metrics to measure field release success.
- Ensure that the intended software has passed all required testing and certifications.
- Review and evaluate upgrade process to identify process improvement opportunities.
- Understand interactions between different components in Enphase system and ensure no unintended effect of multiple releases.
- Understand Enphase Upgrade Infrastructure and ensure that the upgrades are managed to avoid customer disruptions.
- Understand product functionality impact due to the release and look for failure patterns in the field as result of upgrade.
- Develop innovative methods to identify critical failure modes and prevent/fix prior to new product launches/ field upgrades.
- Communicate and work with cross functional team to drive corrective actions.
- Perform data analysis as required by the business and building reports and analysis in SQL and Excel.
- Perform other duties as assigned.
- Communicate with key customers as needed on upgrade issues/questions.
- Work with Engineering and Customer Service teams to define process parameters and criteria to ensure upgrade success.
- Work with data analysis group to identify predictive tools/information to diagnose symptoms prior to product failures.
Qualifications: Education, Competencies (Knowledge, Skills & Behaviour) and Experience
- BS/MS in Computer Science/EE or equivalent field.
- 5+ years’ experience with software development, release cycles and deployment/upgrade.
- Deep understanding of embedded software functionality.
- Experience working with web applications or embedded systems.
- Experience developing tools, and automation for software upgrade/release, monitoring.
- Experience with scripting languages such as Ruby, Python, Bash/Shell, PHP etc.
- Experience with relational databases and query languages (SQL).
- Experience working in Unix/Linux environment.
- Should have skills in excel and data analysis to be able to report.
- Good knowledge of SW development Life Cycle, experience with Jira, Confluence, and any source control system.
- Excellent verbal and written communication skills, including information consolidation and presentation.
- Proven ability to apply scientific problem-solving techniques with strong attention to detail.
- Passion for building and fostering good engineering practices and processes.