freehire launches on Product Hunt on 26 August.

Follow →

Engineering - Firmware Engineer

Summary

Develops and debugs low-level BIOS firmware for X86/ARM systems, focusing on DRAM initialization and memory technologies like DDR4/5 and LPDDR.

Project description

BIOS team is looking for a software/firmware developer to join the team and help develop pre-OS BIOS firmware and silicon initialization code. As part of the role, the BIOS engineer will work closely with other firmware developers and architects in designing and implementing X86 and/or ARM firmware that spans pre- and post-silicon for all business units. THE PERSON: Passionate about firmware development in a bare-metal or close-to-bare-metal environment. Need strong problem-solving skills, with a collaborative can-do attitude. Strong knowledge of computer architecture and low-level programming in C

Responsibilities

  • Developing, porting, debugging, and documenting core firmware support for various DRAM technologies including DDR4, LPDDR4/4x, DDR5, LPDDR5/5x RDIMM, LRDIMM, 3DS, etc., on AMD Desktop, Mobile, and Enterprise SoCs.
  • Supporting emulation/simulation teams during pre-silicon phase to validate memory hardware and firmware.
  • Working closely with hardware validation teams to optimize memory signal integrity, achieve highest possible performance and robust feature support.
  • Assist memory validation teams with debug from initial power-on to achieve full functionality of all features in a timely manner.
  • Developing custom memory firmware features for internal and external customers.
  • Engage with technical leads to understand firmware scope and work on implementation to meet schedules and milestones.
  • 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 in fast-paced and highly dynamic environments

SKILLS

Must have

  • Experience 6-9y
  • Expertise in low-level C programming & debugging for embedded systems.
  • Prior experience and/or exposure to testing platforms (Simulation and/or Emulation)
  • Familiarity with memory industry standards and technologies such as JEDEC, SPD Data, I2C/I3C, DDR4/5, LPDDR4/4x/5/5x UDIMM, RDIMM, LRDIMM, 3DS, ECC, Mode Registers, Self-Refresh, etc.
  • Experience with or knowledge of DRAM Initialization/training algorithms, memory timings, addressing, overclocking, etc.
  • Experience in debugging memory initialization and training issues. Secondary Skills:
  • Good understanding of firmware development cycle, integration and verification/validation for pre-si and post-si for SoC designs.
  • Ability to methodically root-cause complex failure mechanisms at the IP, subsystem and/or system level.
  • 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

Nice to have

• Excellent written and verbal communication and presentation skills.

See also

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available