Lead Developer
This role is for a Lead Firmware Developer responsible for designing and coding firmware for microcontroller-based systems. You will prepare firmware design specification documents and work on rewriting, integrating, and debugging existing code when migrating between microcontrollers. Key responsibilities include implementing low-level drivers for peripherals such as UART, SPI, I2C, ADC/DAC, PWM, GPIO, DRAM, DMA, USB, and SD Card interfaces. You will optimize code for performance, memory footprint, and power efficiency while applying formal methods for understanding legacy codebases and reverse engineering to develop new firmware architecture. The role requires implementing firmware in C following coding standards like MISRA-C or CERT-C, managing firmware release processes with quality measures, and conducting unit testing, static analysis, code coverage improvement, integration testing, and system validation of complex firmware. Experience in PLC IO and communication module design is expected, along with preparation of technical documentation including design documents, V&V test plans, memory maps, IO assignments, and integration plans.