Staff Software Development Engineer - Rust, Compilers, and GPU Systems
AMD · full-time · posted 13 Aug
You came here asking one thing. Salary?
$$$ → ???
They didn't say.
*The posting gives you no number to evaluate. That absence is part of the offer.
Second question — can you apply from where you sit?
Open to U.S.
Compare it with where you sit.
→ inferred locally from your browser clock. nothing is stored.
The actual job
Staff Software Development Engineer - Rust, Compilers, and GPU Systems
AMD
- Seniority
- Staff
- Top skills
- Rust
- Engagement
- Full-time
- Posted
- 13 days ago
What the posting asks for
- Rust
- GPU architecture
- Compiler correctness
- Low-level systems programming
- Hardware-software co-design
Employer text
The posting, in its own words
ADVANCE YOUR CAREER. ADVANCE THE WORLD.At AMD, we believe technology can change lives for the better. It can heal us, entertain us, and make us more connected, productive, and understanding of the world around us. And we’re looking for talent who feel the same: people who want to leave the planet better than they found it, those who don’t shy away from humanity’s challenges but are determined to help solve them.AMD is powering the next generation of supercomputing, high-performance computing, cloud, and AI. Whether you’re designing next-gen processors, enabling AI breakthroughs, or creating go-to-market plans, every role at AMD contributes to something bigger — technology that moves the world forward. The Role:We are building next-generation systems software for AMD GPUs with Rust as acore technical direction. The work spans compilers, runtimes, low-level GPUsoftware, firmware, developer tooling, and methods for improving the safety andcorrectness of complex hardware-software systems.Rust is not incidental to this role. You will help establish how Rust is usedin performance-sensitive and high-trust parts of the GPU stack, including thecompiler and tooling support, system interfaces, engineering practices, andvalidation methods required for production deployment. You will have theopportunity to influence both near-term implementations and the longer-termarchitecture for using Rust across current and future AMD platforms.The Person:This role is for a deeply technical compiler and systems generalist who enjoysworking across abstraction layers. You may move between Rust source semantics,rustc internals, intermediate representations, MLIR and LLVM, target-specificcode generation, object formats, runtimes, GPU ISA, firmware, and hardwareinterfaces.You should have strong judgment about correctness boundaries. Memory safety isimportant, but production correctness also depends on concurrency, ordering,ABI compatibility, device behavior, compiler transformations, and theassumptions between software and hardware. You will help make those assumptionsexplicit and build evidence that the resulting systems behave as intended.The ideal candidate has deep expertise in at least one part of this stack andthe ability to become productive in unfamiliar areas. Experience with everytechnology listed below is not expected. A research background is notrequired, although the ability to read technical work, form testablehypotheses, and turn promising ideas into reliable implementations is valuable.The work sits at the intersection of Rust systems programming, productioncompiler infrastructure, GPU architecture, firmware, program analysis, andformal methods. Hardware-software co-design experience is highly valuable,especially when compiler, runtime, firmware, or ISA choices must evolvetogether.Key Responsibilities:Lead the design and implementation of production-quality Rust components forlow-level and performance-sensitive GPU systems.Help make Rust a first-class engineering language across relevant parts ofthe GPU software stack, including toolchain integration, libraries, codingstandards, diagnostics, testing, and deployment practices.Design and implement compiler pipelines involving rustc, MIR, target-neutralintermediate representations, MLIR dialects and transformations, LLVM IR,and AMDGPU code generation.Build analyses, transformations, legalization passes, and target-specificlowering for GPU execution models, memory spaces, synchronization,capabilities, and specialized hardware operations.Define typed and auditable interfaces across compiler, host runtime, devicecode, firmware, and hardware boundaries.Work on ABI definition and validation, argument layout, calling conventions,linker and loader behavior, ELF and code-object metadata, and source-to-binaryidentity.Develop or improve bare-metal and `no_std` Rust components where explicitstate, bounded behavior, fail-closed handling, and predictable hardwareeffects are required.Use testing, fuzzing, property-based testing, differential execution,executable models, and hardware validation to find semantic gaps and preventregressions.Apply program analysis or formal methods where they provide meaningfulassurance, including source-level invariants, state-machine properties,refinement obligations, and clearly documented trusted boundaries.Distinguish precisely among type-system guarantees, source-level proofs,compiler evidence, binary validation, simulator results, and behaviorobserved on hardware.Partner with compiler, runtime, firmware, architecture, validation, security,and performance teams to solve problems that cross organizational andtechnical boundaries.Write design documents, lead technical reviews, mentor engineers, and explaincomplex language, compiler, and hardware behavior clearly.Evaluate emerging compiler and verification technologies and integrate themwhen they improve the safety, performance, maintainability, or developmentvelocity of production systems.Preferred Experience:Strong production Rust experience, including ownership and borrowing,lifetimes, traits and generics, error handling, concurrency, FFI, and thecareful design of safe abstractions over unsafe operations.Experience with low-level or constrained Rust, including `no_std`, embeddedsystems, firmware, custom targets, allocators, volatile access, interrupthandling, or architecture-specific code.Strong C or C++ systems programming skills and the ability to work acrossmixed-language codebases.Experience with rustc internals, MIR, custom codegen backends, proceduralmacros, compiler plugins, or other Rust toolchain infrastructure.Experience with LLVM, MLIR, GCC, or another production compiler framework.Experience designing intermediate representations, dialects, analyses,optimization passes, legalization, instruction selection, scheduling, ortarget-specific code generation.Understanding of compiler correctness issues such as undefined behavior,aliasing, provenance, layout, calling conventions, memory models, andsource-to-target semantic preservation.Ability to read and reason about low-level assembly, ISA encodings, compileroutput, and machine-level execution.Experience with linkers, loaders, ELF or other object formats, code-objectmetadata, DWARF, LLVM MC, disassembly, post-link analysis, or binary rewriting.Understanding of GPU execution models, including waves or warps, SIMD/SIMTexecution, address spaces, registers, local or shared memory, caches,synchronization, atomics, barriers, and asynchronous operations.AMDGPU, GCN, RDNA, CDNA, ROCm, HIP, HSA, or AMDGPU LLVM backend experience.Experience with GPU runtimes, drivers, firmware, embedded processors, deviceinitialization, command processing, queueing, or hardware control paths.Experience building secure or high-assurance systems that process untrustedinputs or operate across privilege, memory-isolation, or hardware trustboundaries.Experience with program analysis, abstract interpretation, symbolicexecution, model checking, SMT solvers, or formal verification tools such asVerus, Lean, Coq, Isabelle, Dafny, or TLA+.Experience writing executable specifications, proving state-machineinvariants, or validating refinement between source, IR, binaries,simulators, RTL, and hardware.Strong validation instincts, including adversarial testing, differentialtesting, property-based testing, fuzzing, reproducible evidence, and carefultreatment of assumptions and counterexamples.Hardware-software co-design experience for ISA features, compiler-visiblearchitecture, memory systems, synchronization, security mechanisms, orspecialized compute pipelines.Technical leadership experience: setting direction, resolving ambiguouscross-layer problems, influencing partner teams, mentoring engineers, andcommunicating tradeoffs clearly.Preferred Academic Credentials:Bachelor's, Master's, or PhD in Computer Science, Computer Engineering,Electrical Engineering, or a related field, or equivalent industry experience.Research publications and advanced degrees are welcome but are not required.LOCATION:San Jose, California#LI-G11#LI-HYBRID Benefits offered are described: AMD benefits at a glance.AMD does not accept unsolicited resumes from headhunters, recruitment agencies, or fee-based recruitment services. AMD and its subsidiaries are equal opportunity, inclusive employers and will consider all applicants without regard to age, ancestry, color, marital status, medical condition, mental or physical disability, national origin, race, religion, political and/or third-party affiliation, sex, pregnancy, sexual orientation, gender identity, military or veteran status, or any other characteristic protected by law. We encourage applications from all qualified candidates and will accommodate applicants’ needs under the respective laws throughout all stages of the recruitment and selection process.AMD may use Artificial Intelligence to help screen, assess or select applicants for this position. AMD’s “Responsible AI Policy” is available here.This posting is for an existing vacancy.