Job Description:
Role Overview:
We are looking for a talented
Embedded Firmware Engineer
to design and develop embedded solutions for intelligent storage systems and PCIe switch controllers. This role involves translating complex customer requirements into reliable, standards-compliant product features, working with protocols such as NVMe, PCIe, I2C, and DMTF (MCTP/PLDM/SPDM).
The ideal candidate is highly skilled in embedded system design, proficient in C/C++, and experienced in low-level development and debugging using industry-standard tools. Strong communication and collaboration skills are essential for cross-functional teamwork and documentation.
Key Responsibilities:
-
Design, develop, and maintain embedded firmware in C/C++.
-
Develop automated test scripts and tools using Python.
-
Implement features based on customer needs and technical specifications aligned with industry protocols (NVMe, PCIe, I2C, DMTF).
-
Work closely with system processors, PCIe components, peripherals, and resident operating systems.
-
Perform debugging and validation using software debuggers, in-circuit emulators (ICE), protocol analyzers, and logic analyzers.
-
Create and maintain detailed design documentation and collaborate effectively with internal teams and external stakeholders.
Required Qualifications:
-
Education: Bachelor’s degree in Electrical Engineering, Computer Engineering, or Computer Science.
-
Experience: 1–4 years in embedded firmware development using C/C++.
-
Technical Skills:
-
Solid understanding of embedded systems architecture and microprocessor-based design.
-
Hands-on experience with NVMe, PCIe, I2C, and DMTF protocols.
-
Familiarity with MCTP over PCIe/I2C and BMC out-of-band communication.
-
Tools & Debugging:
-
Proficient with tools like protocol analyzers, logic analyzers, in-circuit emulators, ARM/Greenhills debug tools.
-
Soft Skills:
-
Excellent verbal and written communication skills.
-
Ability to thrive in a globally distributed team across different time zones.
Preferred Qualifications:
-
Experience with RTOS-based development.
-
Additional proficiency in Python and low-level programming languages.
-
Exposure to FPGA or ASIC development environments.
-
Understanding of secure firmware practices (encryption, authentication).
-
Knowledge of hardware-software co-design for scalable embedded solutions.
-
Familiarity with virtualization concepts, including IOMMU and virtual machine environments.