Bachelors or higher in Computer Science, Computer Engineering, Electronics Engineering, or similar.
10+ years of Experience in FW and or Embedded SW development experience, particularly in a multi-core platform environment
8+ years of Programming experience in C/C++
Solid understanding of computer architectures including processors, buses, and memories.
Responsible for collaborating with cross-functional teams to debug the issues at the cross section of multiple sub-systems.
Demonstrated experience of hardware and firmware architecture, 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.
Strong communication and collaboration skills, with the ability to work effectively in cross-functional teams.
Preferred Qualifications:
Knowledge of operating systems including drivers, memory management, boot loaders, and scheduling.
Basic Verilog (or any other HDL) programming & waveform debugging
Excellent debugging skills with GDB or equivalent.
Experience developing firmware in pre-silicon environments and on test benches.
Shipped products running firmware or embedded software you’ve written.
Experience with one or more of these: drivers, DMA, PCIe, NVMe, image video encoders/decoders, memory controllers/training, boot flows, or power management
Responsibilities
Architecting software at various layers of the stack, from boot ROMs to drivers to runtimes.
You will be contributing to all phases of product development, from design through manufacturing and productization.
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.
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 and product managers to define firmware requirements and specifications.
Stay up to date with industry trends and advancements in cloud firmware technologies and provide recommendations for improvement.