Embedded Software Engineer

FreeWire Technologies is seeking an Embedded Software Engineer to join our team. In this role you will expand the capabilities of our mobile energy storage device and its local operating system. FreeWire is creating a connectivity hub called AMP (Asset Management Platform), enabling our own energy storage systems and third-party devices to communicate as a fleet of smart, interconnected assets. In this role you will be responsible for on-device interfaces between the system controller and various individual components. This includes state machines for charge and discharge operations, battery management, and system health monitoring. This is currently performed using a Java application framework on embedded Linux. You will also serve up data that can be consumed by our IoT communication device and published to the cloud, and perform actions based on commands received from the cloud. This will involve close collaboration with our IoT engineering team.


  • Provide embedded software engineering contributions to all FreeWire projects/products

  • Build, program, integrate, test, and iterate the control system software


  • A Bachelor's Degree in relevant engineering discipline (Electrical Engineering, Electronics, Computer Science, Computer Engineering, Mechatronics)

  • Minimum 3 years of work-related experience

  • Proficient in object-oriented programming (preferably Java or C/C++)

  • Experience with developing regression/unit tests

  • Ability to evaluate technical documentation

  • Familiarity with version control (Git preferably)

  • Experience with real-time programming environments

  • Remote software deployment and debugging

  • Excellent written and verbal communication skills

  • Experience working with power electronics and/or battery management systems

  • Familiarity with Linux

  • Familiarity with EV charging specifications (J1772, CCS, CHAdeMO)

  • Serial communications protocols (CAN bus, RS485, I2C, SPI)

Apply now at