Senior Firmware Engineer / Architect Job Description
We are seeking a highly skilled and experienced Senior Firmware Engineer / Architect to join our team. The ideal candidate will be a technical leader, responsible for designing, developing, and optimizing firmware for high-performance, low-latency applications on baremetal platforms. This role requires a deep understanding of microcontroller architecture, real-time operating systems (RTOS), and communication Responsibilities :
- Firmware Architecture & Development : Design, develop, and architect firmware for low-latency applications, primarily on baremetal platforms. This includes creating custom schedulers and optimizing code for performance and memory usage.
- System Integration : Develop and debug firmware for new SoCs, including bootloaders, ROM patches, and peripheral drivers for hardware IPs.
- Protocol Development : Design and implement high-speed communication protocols such as PMBus, AVS, VID3, or similar, ensuring robust and efficient data transfer.
- Optimization : Customize and optimize schedulers, memory partitions, and data structures (e.g., linked lists, message queues) to meet strict performance and space constraints.
- Debugging & Testing : Utilize advanced debugging tools like JTAG to troubleshoot complex firmware issues and ensure code :
Education : Bachelor's degree in Electronic and Communication, Computer Science, Electrical Engineering, or a related field.
Experience :
5+ years of experience in firmware development, with a strong focus on embedded systems.Experience in the semiconductor industry is a plus.Proven experience with baremetal or RTOS-based embedded software development.Strong exposure to ARM Cortex M / S / R series architecture, including deep knowledge of hardware and software interrupts and their priority configurations.Experience with bootloaders, multi-threaded applications, and custom scheduler development.Proficiency with Makefile and build systems.Preferred Skills :
RTOS & Core Architecture : In-depth working knowledge of RTOS concepts, ARM controller core architecture, user and privileged modes, and scheduler operations.Code Optimization : Expertise in optimizing code for performance, space, and memory management.Debugging : Advanced debugging skills using tools like JTAG.Design Patterns : Familiarity with embedded design patterns such as interrupt-driven, event-driven, and message-driven architectures.(ref : hirist.tech)