Description
Enphase Energy is a global energy technology company and leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, Enphase transformed the solar industry with our revolutionary microinverter technology, which turns sunlight into a safe, reliable, resilient, and scalable source of energy to power our lives. Today, the Enphase Energy System helps people make, use, save, and sell their own power. Enphase is also one of the fastest growing and innovative clean energy companies in the world, with approximately 68 million products installed across more than 145 countries.
We are building teams that are designing, developing, and manufacturing next-generation energy technologies and our work environment is fast-paced, fun and full of exciting new projects.
If you are passionate about advancing a more sustainable future, this is the perfect time to join Enphase!
About the role
Enphase energy is currently seeking Staff Embedded Software Engineers to develop security software for the Enphase embedded devices. The position will report to the Embedded Software Engineering Manager-Security and work in India, Bangalore.
What you will do
- Design and implement secure embedded software for next generation solar power and communications devices; Specifying, designing, implementing and testing embedded real-time security software in C/C++
- Analyses existing systems to find areas for improvement
- Identify potential security vulnerabilities in embedded systems and develop countermeasures
- Perform security assessments and penetration testing on embedded systems
- Collaborate with hardware engineers to ensure the security of embedded hardware components
- Refactoring and improving existing code bases for better security
- Using test-driven development (TDD) and unit testing techniques to maintain and improve code quality
- Develop and enforce secure coding practices for embedded software development
- Stay up-to-date with the latest trends and technologies in embedded security
- Provide technical guidance and mentorship to junior team members
Who you are and what you bring
- Bachelor’s degree in computer science or related technical field required, Master’s degree preferred.
- 8+ years’ experience C/C++ development for real-time applications and
- 8+ years’ experience with OSs like Linux, FreeRTOS, Zephyr
- Knowledge of common communication protocols found in the IoT ecosystem such as TCP/IP, CAN, Bluetooth, BLE, Wi-Fi
- Knowledge of cryptography and applied cryptography for provisioning secure hardware is desirable
- Knowledge of ARM (including Trust Zone architecture) and other embedded microprocessors
- Practical experience with security controls for POSIX type operating system
- Strong understanding of embedded system architecture and design principles
- Must be familiar with low level serial communications protocols and protocol design
- Experience with secure coding practices and vulnerability analysis
- Knowledge of security protocols and cryptography
- Experience with embedded software development tools and IDEs
- Experience with SAST, DAST, SCA, Threat modelling
- Understanding of hardware-software interfaces in embedded systems
- Excellent problem-solving and analytical skills
- Ability to work effectively in a team and independently
- Able to carry a design task from concept to implementation
- Ability to program in, or learn Ruby and Lua
- Experience with GIT or Subversion desired
View Full Job Description