Senior Embedded Software Engineer

Engineering · Full-time · Shenzhen, China · Remote possible

Job description

About Ampd Energy

At Ampd Energy, we believe in making a zero-emission future for many industries a reality. Founded in 2014, Ampd Energy develops robust, versatile, advanced, compact, and connected battery energy storage systems (BESS) to replace the dirty, noisy, and hazardous diesel generators that power job sites in industries such as construction, civil works, mining, events, film, and utilities.

Ampd Energy is a mission and values-driven company with a diverse, high-performing global team supported by visionary customers who all want to make a difference. We are poised for significant expansion and seek dynamic, passionate team members to help propel our growth. 

What we are looking for

Ampd Energy is looking for a Senior Embedded Software Engineer to join our team with a minimum of 8 years of experience in embedded software engineering. This exciting opportunity will allow you to develop Ampd Energy’s Microgrid Controller and DERM’s platform from scratch. You can contribute with your knowledge and passion in the development of innovative technologies that accelerate the deployment of renewable energy technologies.

What you need

  • Understand LFP battery characteristics.
  • Understand BMS operation/safety/telemetry.
  • Strong interests in technology, renewable energy, and BESS.
  • Experience in Power Electronics/Power Systems (droop/isochronous, paralleling, load control, microgrids)/Control System design.
  • Advantage to have experience in DEIF controller, SCADA and/or PLC.
  • Embedded System Programming: Experience programming in C, C++, and Assembly for common TI, ARM and PIC processors.
  • High-level Languages: Working Familiarity with Python, JavaScript, SQL, and HTML.
  • Software Tools: Practical usage of software management tools like Git, Bitbucket, and Jira. Experience with GNU build tools and cross-compilers.
  • Embedded Interfaces: low-level device drivers such as SPI, I2C, USART, and Data Transmission such as the CAN protocol and the Modbus protocol.
  • RTOS and Frameworks: Programming knowledge of Operating Systems like TI-RTOS, Linux for embedded targets and VxWorks.
  • Safety and Reliability Standards: Working knowledge of safety standards like IEC 61508 and reliability methodologies such as Fault Trees, RBD, STPA, and FMEA.
  • Coding Standards: Experience adhering to coding guidelines and standards like MISRA-C and SEI CERT C.
  • Test Automation: Experience with software quality assurance including unit and integration test development, and code inspection and reviews.

What you will be doing

  • Coding algorithms for battery control such as charging profiles, protections (OVP, SCP, UVP, OTP), SoC/SoH, etc.
  • Implement power system controls, such as peak shaving, microgrids, etc.
  • Support software architecture design, requirements analysis, interface definition.
  • Ensure system reliability and functional safety compliance.
  • Control a high-power device over Modbus TCP.