A

AMD

Designs chips for computers and AI systems

Software Engineer - Multiple Teams

Embedded EngineeringConfirmed live in the last 24 hours
Full-timeSanta Clara, CA, USANo salary listed

About the Job

Requirements

  • Hands-on experience with C/C++ firmware or systems software development and a solid understanding of Ethernet networking.
  • Strong C and C++ programming skills.
  • Embedded firmware development experience on microcontrollers or SoC management processors, including RTOS or bare-metal environments.
  • Understanding of Ethernet networking, including L2 switching, VLANs, MAC learning, LLDP, L3 forwarding, and QoS (PFC, ETS, ECN, and queue management).
  • Familiarity with Ethernet physical-layer concepts such as MAC, PCS, FEC, SerDes, and link training.
  • Experience with debuggers, source code control, and build systems.
  • Scripting experience in Python or Bash for tooling and test automation.
  • A Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent.

Responsibilities

  • Design, develop, and maintain embedded firmware and systems software in C/C++ for networking subsystems on AMD Helios rack-scale systems.
  • Implement firmware features for Ethernet link management, including SerDes and link initialization, MAC/PCS/FEC configuration, link status monitoring, and error handling.
  • Develop firmware interfaces and messaging between management processors, host drivers, and fabric management software.
  • Participate in new ASIC and platform bring-up, including firmware loading, link bring-up, and topology validation.
  • Work with switch software teams on L2 forwarding, VLANs, QoS, and telemetry for scale-up and scale-out topologies.
  • Develop diagnostics, logging, and telemetry to monitor link and network health and speed up root cause analysis.
  • Debug and resolve issues across firmware, drivers, NICs, switches, and the network.
  • Write unit and integration tests and support validation of networking firmware features.
  • Analyze and improve networking performance, latency, and reliability.
  • Contribute to reliability, availability, and serviceability features for large-scale clusters.
  • Participate in design and code reviews and follow software development best practices.

Desired Qualifications

  • Experience with Linux systems software or device drivers, including PCIe, DMA, and interrupts.
  • Familiarity with network protocols and transports such as TCP/IP, RDMA, or RoCE.
  • Exposure to datacenter switch software such as SONiC, SAI, or switch ASIC SDKs.
  • Exposure to GPU interconnect or scale-up fabric technologies.
  • Experience with ASIC, NIC, GPU, or switch bring-up.

About the Company

AMD

Designs chips for computers and AI systems

AMD designs processors, graphics chips and AI accelerators for computer makers, cloud operators and businesses that build electronic devices. Its Ryzen processors power personal computers, while EPYC processors handle work in data centers and Radeon chips render graphics. Instinct accelerators run AI models, paired with software that developers use to train models and put them into production. AMD sells chips and related computing systems through equipment makers, distributors and retail channels, and contracts with outside foundries to fabricate its semiconductor designs. It was founded in 1969 and has its headquarters in Santa Clara, California.

Company size
10,001+
Company stage
IPO
Headquarters
Santa Clara, CA
Founded
1969

Recently Posted Jobs

Explore more opportunities at AMD

See more jobs