Job Description
Responsibilities
Responsibilities
- You will contribute to the architecture and design of various firmware components, including driver interfaces (PCIe, SPI, I2C, I3C), system libraries needed for SoC bring-up, protocol and feature development of low-level hardware.
- You will be contributing to all phases of product development, from design through manufacturing and productization.
- Perform system-level debugging and troubleshooting to identify and resolve complex hardware/firmware-related issues.
- Collaborate with cross-functional teams including hardware architects and engineers, software developers, validation & integration to define firmware requirements.
- Responsible for collaborating with cross-functional teams to debug the issues at the cross section of multiple sub-systems.
Qualifications
Qualifications
- Bachelor or higher in Computer Science, Computer Engineering, Electronics Engineering, or similar.
- 5+ years of Experience in FW and or Embedded SW development experience, particularly in a multi-core platform environment
- 5+ years of Programming experience in C/C++/Rust
- Solid understanding of computer architectures including processors, buses, and memories.
- Demonstrated experience of hardware and firmware design, and coding for solutions at scale
- Excellent problem-solving and analytical skills.
- Experience working with multiple teams on Root cause analysis, troubleshooting, and debugging skills resulting into solving complex Hardware/Firmware interface issues.
- Self-motivated and able to work independently most of the time.
- Strong communication and collaboration skills, with the ability to work effectively in cross-functional teams.
Preferred Qualifications:
- Experience with working from early concept of Platform Architecture & design
- Prior experience of working in one or more of the following areas:
- Any kind of hardware accelerator software design and development
- CPU Execution modes, security model, cache, coherency, Memory management and protection, interrupt controller, virtualization, and other related concepts
- PCIe driver/firmware development in virtualized environment
- Platform initialization, board support package (UEFI/U-Boot/ATF) Development & integration, low level drivers for peripherals such as I2C, I3C, eMMC, SPI, USB, UARTs etc,
- Driver development for RAS, Debug, Logging
- (RT)OS Scheduling and firmware development in multithreading SMP as well as in heterogeneous computing environment