Job Summary:
As a passionate Firmware Engineer, you will develop and optimize low-level firmware for CPU, GPU, Data Fabric, HSIO, and other subsystem components, contributing throughout the product lifecycle from pre-silicon development to post-silicon bring-up and validation. This role offers the opportunity to work closely with hardware and architecture teams on challenging system-level problems, performance optimization, and feature enablement. Strong C programming skills, knowledge of computer architecture with familiarity in memory interleaving, and an interest in hardware-software interaction are essential.
Key Responsibilities:
- Responsible for firmware development and feature enablement in the Data Fabric/GPU/CPU /HSIO/ component, including design, documentation, unit testing and debug for pre and post silicon support.
- Work closely with architects and other IP leads to determine firmware scope and implementation details to meet firmware deliverables schedules and milestones
- Engage with various teams to provide debug support in the emulation, simulation and post-silicon environment
- Work with internal and external teams to ensure highest level of quality and satisfaction throughout firmware lifecycle.
- Must be well-organized, technically oriented, and a self-starter with a demonstrated ability to work collaboratively and coordinate activities with geographically distributed technical teams.
- Desire to work and succeed on fast-paced and highly dynamic environments.
Qualifications:
Bachelor's or Master's degree (preferred) in Computer Science, Computer Engineering, Electrical Engineering, or equivalent with 1-5 years of experience
Preferred experience:
- Good understanding of firmware development cycle, integration and verification/validation for pre-si and post-si for SoC designs.
- Expertise in low-level C programming & debugging for embedded systems.
- Strong background in computer architecture with familiarity in memory interleaving, system memory maps and NUMA domain concepts.
- Ability to methodically root-cause complex failure mechanisms at the IP, subsystem and/or system level.
- Prior experience and/or exposure to testing platforms (Simulation and/or Emulation)
- Prior involvement in board, processor, or ASIC bring-up.
- Experience in hardware/software interfaces and debugging sophisticated issues in CPU and firmware using JTAG, source code debuggers and other tools.
- Experience with source control systems including git/gerrit
- Excellent written and verbal communication and presentation skills