A

AMD

Designs chips for computers and AI systems

Software Development Engineer - Networking

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

About the Job

Requirements

  • Hands-on experience with C and C++ firmware or systems software development and a solid understanding of Ethernet networking.
  • Embedded firmware development experience on microcontrollers or system-on-chip management processors, including real-time operating system or bare-metal environments.
  • Understanding of Ethernet networking, including Layer 2 switching, virtual local area networks, MAC learning, Link Layer Discovery Protocol, Layer 3 forwarding, and quality of service features such as priority-based flow control, enhanced transmission selection, explicit congestion notification, and queue management.
  • Familiarity with Ethernet physical-layer concepts such as MAC, physical coding sublayer, forward error correction, SerDes, and link training.
  • Familiarity with network protocols and transports such as TCP/IP, remote direct memory access, or RDMA over Converged Ethernet.
  • Experience with debuggers, source code control, and build systems.
  • 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 and 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 Layer 2 forwarding, VLANs, quality of service, 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.
  • Exposure to datacenter switch software such as SONiC, SAI, or switch ASIC software development kits.
  • Exposure to GPU interconnect or scale-up fabric technologies.
  • Experience with ASIC, NIC, GPU, or switch bring-up.
  • Scripting experience in Python or Bash for tooling and test automation.

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