Description
The Embedded Software Engineer will develop and maintain user-space applications for battery monitoring and energy storage systems on Linux-based microprocessor systems, microcontrollers, RTOS, and bare-metal platforms. Responsibilities include board bring-up, hardware validation, industrial communication protocols such as Modbus, CAN, and Ethernet, multithreaded and event-driven software, debugging, firmware development, driver and bootloader work, testing, documentation, code reviews, and process improvement. The role requires strong embedded Linux and C experience, ARM Cortex-A/MPU systems, multithreading, IPC, shared memory, and socket programming, with occasional travel.
