Embedded Software Engineer, EMS
Listed on 2026-02-19
-
Engineering
Software Engineer, Electrical Engineering
Job Summary
The Embedded Software Engineer reports to the EMS Software Manager and will be responsible for designing, developing, and maintaining embedded firmware system logic within the company’s energy storage systems (ESS) for battery management, power conversion systems, and more. This includes working with internal and external stakeholders to understand and refine implementations of the layer 2 and layer 3 Battery Management Systems (BMS) for the ESS systems.
It is essential that decisions be made to ensure safety, quality, reliability, and maintainability of such implementations. Provide expertise and support to services, project execution, and application engineering team. Develop and deploy product and application documentation and assist in the benchmarking and evaluation of new technologies, solutions, or suppliers for integration into our offering. This position will specifically focus on Utility scale energy storage solutions with the integration of batteries, inverters, and balance of plant equipment required in a battery power plant.
Essential duties and responsibilities are included, but are not limited to the following:
- Develop, implement, and maintain C and C++ code for next-gen BMS and power conversion systems.
- Interface with Hardware Engineers, EMS Applications Engineers, and EMS Controls Engineers to integrate with battery management and power system management logic for safe and reliable management and control.
- Document interfaces and logic.
- Develop tools to automate firmware updates for production fleet systems.
- Maintain C and C++ code for HD5 product line operation and optimization
- Maintain knowledge of applicable codes, standards, certifications, and applications in the Energy Storage industry.
- Assist with driving towards IEC standards and UL certifications.
- Assist Operations Production Support team when BMS related issues arise.
To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodation may be made to enable individuals with disabilities to perform the essential functions.
Knowledge, Skills, & AbilitiesKnowledge
- 2-10 years prior experience writing embedded software for energy management systems such as ESS, Power Conversion Systems, or EVs
- 2-10 years prior experience writing C and or C++
- 1-2 years prior experience with CANBUS
- 2-10 years prior experience with Linux OS
- Prior experience with SDLC (Software Development Life Cycle), Build Pipelines, and source code management is a plus
- Prior experience with embedded firmware on PCB (Printed Circuit Boards) and Field-programmable Gate Array (FPGA) assembly is a plus
- Prior experience with IEC standards and UL certification is a plus
- Industry knowledge of BESS (Battery Energy Storage Systems), Inverters, Controllers/SCADA is a plus
- NERC CIP knowledge is a plus
- Core skills needed: C++, C, Linux
OS, CANBUS, IEC
61131 ST, Power / Energy management systems knowledge, Bit Bucket - Other preferable skills: gtest, Unity, Ceedling, HIL testing, Arm / bare-metal C, MS Office Excel, MS Windows, Python, RTU & TCP MODBUS, Git, Azure
- Communicate effectively with staff and management at all levels.
- Always maintain the highest degree of honesty and integrity.
- Lead proactive team efforts to achieve departmental and company goals.
- Ability to work under time pressure and adapt to changing requirements with a positive attitude.
- Protect confidential information by not communicating, disclosing to, or using it for benefit of 3rd parties. Intellectual Property protection of the EMS Platform is of utmost importance.
- Comply with all EHS policies, practices and procedures reporting all unsafe activities to Management and/or Human Resources.
- Work in the global environment to maintain standards and latest practices.
- Ability to work closely with and influence cross‑functional teams.
- Good project management skills to lead initiatives to completion.
- Highly competitive, self‑starter that can work both individually and in a group setting.
- Ability to work flexible hours and be independent in the field.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).