About the Role
Develops, and tests low-level software (firmware) that controls electronic hardware, bridging the gap between physical components and operating systems. Work in C/C++, debug with tools like oscilloscopes, and ensure device reliability, performance, and security. Key Responsibilities Development: Coding, debugging, and maintaining firmware for microcontrollers/processors. Integration: Working with hardware teams to integrate, test, and validate firmware on target hardware. Optimization: Improving performance, memory usage, and power consumption. Driver Development: Writing drivers, bootloaders, and peripheral drivers (e.g., I2C, SPI, UART). Testing: Creating unit tests, automated tests, and debugging in-circuit. Required Skills and Qualifications Programming Languages: Expert-level C/C++. Scripting: Python for automation and testing. Hardware Knowledge: Ability to read schematics and use hardware debuggers/oscilloscopes. Platforms: Experience with RTOS (Real-Time Operating Systems) and ARM Cortex processors.