Staff Software Development Engineer - Rust, Compilers, and GPU Systems

Advanced Micro Devices, Inc.
San Jose, CA, United States
3 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours

Tech stack

Abstraction Layers Artificial Intelligence Aliasing C++ (Programming Language) Compilers Code Generation Encodings Software Design Documents Firmware Formal Verification Fuzz Testing GNU Linker
+15 more
Link Analysis Program Analysis Cloud Services Software Engineering System Programming Toolchain Graphics Processing Unit (GPU) High Performance Computing Macros Concurrency Hardware Testing Backend Isabelle Coq Formal Methods

Job description

Experteer Overview In this role you will help build next-generation systems software for AMD GPUs with Rust as a core direction. You’ll influence production Rust usage across the GPU stack, from compilers and runtimes to tooling and validation. You’ll work across abstraction layers, contributing to both near-term implementations and long-term architecture. This is a hands-on, cross-functional role that blends Rust systems programming with compiler infrastructure, GPU architecture, and firmware. You will join a mission-driven team delivering high-performance, safe, and scalable GPU software that enables AI, HPC, and cloud workloads. Compensation / Benefits * Lead design and implementation of production-quality Rust components for low-level, performance-sensitive GPU systems * Drive Rust as a first-class language across the GPU software stack (toolchain, libraries, diagnostics, testing, deployment) * Design and implement compiler pipelines (rustc, MIR, IRs, MLIR dialects, LLVM IR, AMDGPU codegen) * Develop analyses, transformations, legalization passes, and target-specific lowering for GPU execution models * Define typed, auditable interfaces across compiler, host runtime, device code, firmware, and hardware boundaries * Work on ABI definitions, argument layout, calling conventions, linker/loader behavior, ELF and code-object metadata * Develop or improve bare-metal/no_std Rust components for explicit, bounded, fail-closed behavior * Apply testing, fuzzing, differential execution, and hardware validation to prevent regressions * Use program analysis or formal methods to provide meaningful assurance and document trusted boundaries * Collaborate with compiler, runtime, firmware, architecture, validation, security, and performance teams to solve cross-boundary problems * Write design documents, lead technical reviews, mentor engineers, and clearly communicate complex concepts * Evaluate emerging compiler and verification technologies and integrate them when they improve safety, performance, or velocity Tasks * Strong production Rust experience (ownership/borrowing, lifetimes, traits/generics, concurrency, FFI, safe abstractions over unsafe) * Experience with no_std, embedded systems, firmware, or architecture-specific Rust targets * Strong C/C++ systems programming skills and cross-language collaboration * Experience with rustc internals, MIR, custom codegen backends, macros, or toolchain infrastructure * Experience with LLVM, MLIR, GCC or another production compiler framework * Experience designing IRs, dialects, analyses, optimizations, target-specific code generation * Understanding of compiler correctness issues (UB, aliasing, memory models, calling conventions) * Ability to read/reason about low-level assembly, ISA encodings, compiler output * Experience with linkers/loaders/ELF/code-object metadata, DWARF, post-link analysis or binary rewriting * Understanding GPU execution models (waves/warps, SIMD/SIMT, memory spaces, synchronization) * Experience with AMDGPU, GCN, RDNA, CDNA, ROCm, HIP, HSA, or AMDGPU LLVM backend * Experience with GPU runtimes, drivers, firmware, device init, command processing, queues * Experience with program analysis or formal verification tools (Verus, Lean, Coq, Isabelle, Dafny, TLA+) * Experience writing executable specifications and proving state-machine invariants * Strong validation instincts (adversarial testing, differential testing, fuzzing) * Hardware-software co-design experience for ISA features or compute pipelines * Technical leadership: setting direction, cross-layer problem solving, mentoring, tradeoff communication Key requirements *

Requirements

Rust performance, or velocity Tasks * Strong production Rust experience (ownership/borrowing, lifetimes, traits/generics, concurrency, FFI, safe abstractions over unsafe) * Experience with no_std, embedded systems, firmware, or architecture-specific Rust targets * Strong C/C++ systems programming skills and cross-language collaboration * Experience with rustc internals, MIR, custom codegen backends, macros, or toolchain infrastructure * Experience with LLVM, MLIR, GCC or another production compiler framework * Experience designing IRs, dialects, analyses, optimizations, target-specific code generation * Understanding of compiler correctness issues (UB, aliasing, memory models, calling conventions) * Ability to read/reason about low-level assembly, ISA encodings, compiler output * Experience with linkers/loaders/ELF/code-object metadata, DWARF, post-link analysis or binary rewriting * Understanding GPU execution models (waves/warps, SIMD/SIMT, memory spaces, synchronization) * Experience a and AMDGPU, GCN, RDNA, CDNA, ROCm, HIP, HSA, or AMDGPU LLVM backend * Experience with GPU runtimes, drivers, firmware, device init, command processing, queues * Experience with program analysis or formal verification tools (Verus, Lean, Coq, Isabelle, Dafny, TLA+) * Experience writing executable specifications and proving state-machine invariants * Strong validation instincts (adversarial testing, differential testing, fuzzing) * Hardware-software co-design experience for ISA features or compute pipelines * Technical leadership: setting direction, cross-layer problem solving, mentoring, tradeoff communication Key requirements *

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on us.experteer.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

1:52 min

Structuring and scaling the backend engineering team

Stefan Lingler Stefan Lingler +1 · Coffee With Developers

3:03 min

Exploring declarative and procedural macro subtypes in Rust environments

Mykhailo Maidan · LIVE

3:14 min

Constructing mathematical proofs using advanced dependent types

Veit Heller Veit Heller · WWC Europe 2026

54 sec

Shifting focus to Rust for web backend development

Marco Otte-Witte · WWC 2023

1:12 min

Choosing TypeScript for complex backend applications

Maximilian Otto Maximilian Otto · WWC 2024

1:59 min

Navigating the disadvantages and maintenance costs of procedural macros

Mykhailo Maidan · LIVE

Videos

See all

Related articles

See all