DevJobs

Senior Software Engineer, Chip Simulation Infra

Overview
Skills
  • C++ C++ ꞏ 5y
  • Python Python ꞏ 5y
  • C C ꞏ 5y
  • Linux Linux
  • gdb gdb
  • Git Git
  • Jenkins Jenkins
  • CI/CD CI/CD
  • Docker Docker
  • Pytest
  • Networking Networking
  • Message queues
  • Object-oriented design
  • Shared memory
  • Sockets
  • Emulation systems
  • Simulation systems
NVIDIA is looking for a phenomenal engineer to join the chip simulation team for networking chips and GPUs. This simulation platform enables NVIDIA engineers across firmware, SDK, and OS domains to develop and test their code without relying on physical hardware. If you're a creative, self-driven engineer passionate about systems-level design and eager to build technology that empowers internal teams, we want to hear from you.

What You’ll Be Doing

  • Develop and maintain simulation infrastructure components for different simulation teams (GPUs, switches, NVLink, Ethernet, PHY) of NVIDIA’s high-performance networking chips.
  • Define, implement, and validate simulations of core infra features, improve performance, maintain multi processes and multi-threaded IPC mechanisms (sockets, queues etc.), define architecture and the building blocks of the simulation.
  • Own, extend and optimize all the CI/CD of the simulation team, starting from servers’ installation to adding and maintaining various Jenkins jobs that help developer and improve their life.
  • Collaborate with chip architects, firmware developers, and hardware design teams to accurately simulate complex behaviour in software.
  • Support internal users by debugging simulation flows and collaborating on bug resolution.
  • Take part in future-facing innovation by enabling simulation for next-generation devices and features.

What We Need To See

  • Bachelor's Degree or equivalent experience in Computer Science / Software Engineering / Computer Engineering / Electrical Engineering / Communication Engineering.
  • 5+ years of experience in Python, C/C++ programming, with strong object-oriented design skills and performance-sensitive environments.
  • Experience debugging using debuggers (gdb), including concurrency issues (races, deadlocks...).
  • Strong background with Linux systems, CI/CD pipelines – and automation frameworks (e.g., Jenkins, Git, Docker, Pytest).
  • Familiarity with Inter-Process Communication (IPC) mechanisms (sockets, message queues, shared memory...).
  • Ability to communicate complex technical ideas in simple terms.
  • Well-organized, proactive and capable of leading your own tasks.
  • Collaborative personality with a love for teamwork.

Ways To Stand Out From The Crowd

  • One man show, Swiss knife - you have experience in many areas, you have been through multiple head scratching bugs and rewritten same system multiple times learning from each iteration.
  • Experience building complex simulation or emulation systems, especially those simulating hardware behavior.
  • Background with multi-platform systems spanning HW, FW, and SW.
  • Experience with low-level networking protocols and applications.
  • A passion for building internal tools that prioritize authenticity, stability, and usability.

NVIDIA is committed to fostering a diverse work environment and is proud to be an equal-opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, disability status or any other characteristic protected by law.

JR2012810

Nvidia