Sr. Virtual Software Model Development Engineer

Advanced Micro Devices, IncAustin, TX
Hybrid

About The Position

Bring AMD’s leading-edge SoCs to life in a virtual environment! Develop Fast Platform Models that simulate software-visible behavior of AMD’s next-generation designs. Enable pre-silicon development of firmware, system, driver and application software. Support emulation acceleration, performance, and power modeling. Enhance our simulation infrastructure and develop innovative, new debug features. The Senior Virtual Software Modeling Engineer will have broad scope and work with multiple teams to gather SoC and IP component specifications, plan development to meet milestones, build models, and support internal and external stakeholders. You will take ownership of modeling and infrastructure projects and drive them to completion. You will be a team player on a highly-capable and supportive team, working on a project critical to the company’s success. This is a highly visible and impactful role with excellent growth opportunity. As an advanced software developer, you should be adept at problem-solving and thrive on developing efficient solutions to complex problems. You can quickly grasp new concepts and technologies, are innovative and always looking for ways to improve the status quo. You are a strong leader and collaborator, willing to go the extra mile to ensure project success.

Requirements

  • Demonstrated comfort working in large, complex, and long‑lived C++ code bases, including understanding existing architecture and design tradeoffs.
  • Proven ability to reverse engineer and extend legacy code, including identifying undocumented behaviors and refactoring safely without regressions.
  • Strong experience debugging elusive, non‑deterministic, or difficult‑to‑reproduce failures, such as race conditions, timing‑dependent bugs, memory corruption, and concurrency issues.
  • Experience architecting and implementing parallel software modules, with a focus on minimizing shared state, reducing contention, and enabling scalable performance.
  • Deep understanding of multi‑threaded programming and synchronization primitives (e.g., mutexes, atomics, condition variables, lock‑free structures), including common pitfalls such as deadlocks, livelocks, priority inversion, and false sharing.
  • Ability to break down complex, ambiguous technical problems into well‑defined workstreams and milestones, balancing short‑term deliverables with long‑term solutions.
  • Demonstrated technical and team leadership on complex software development efforts, including influencing design decisions, mentoring other engineers, and driving projects to successful completion across organizational boundaries.
  • 8 + years of experience developing high-performance system and application software in C/C++ for Windows and/or Linux environments.
  • Hardware system architecture and subsystem interface protocols.
  • x86, ARM or GPU architecture, drivers, and applications.
  • Linux and/or Windows kernel debugging.
  • Functional modeling, architecture simulation, or hypervisor development.

Nice To Haves

  • QEMU, VirtualBox, Virtualizer, GEM5, or SIMICS.

Responsibilities

  • Own the development of high-performance C++ functional models of AMD SoCs and platforms.
  • Work closely with architecture teams to understand and model new designs.
  • Improve functionality, stability, and performance of existing models.
  • Develop tests to verify the functionality of models.
  • Work with internal and external customers to help debug problems running their workloads on the models.
  • Develop new, innovative enhancements to the simulation framework and advanced debug features.
  • Highly leverage AI tools for maximum efficiency in all job functions.
  • Lead and mentor junior engineers. Direct management is a possibility, based on demonstrated skills.

Benefits

  • AMD benefits at a glance.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service