Senior System Software Engineer - PCIE

NVIDIA

NVIDIA

Software Engineering
Multiple locations
Posted on Oct 23, 2024

NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing for more than 25 years. It’s a unique legacy of innovation that’s fueled by great technology—and amazing people. Today, we’re tapping into the unlimited potential of AI to define the next era of computing. An era in which our GPU acts as the brains of computers, robots, and self-driving cars that can understand the world. Doing what’s never been done before takes vision, innovation, and the world’s best talent. As an NVIDIAN, you’ll be immersed in a diverse, supportive environment where everyone is inspired to do their best work. Come join the team and see how you can make a lasting impact on the world.

What you’ll be doing:

Join NVIDIA's remarkable PCIe Driver engineering team and play a pivotal role in architecting, crafting, developing, and verifying innovative solutions. As a Senior System Software Engineer, you will:

  • Craft and build a software stack consisting of drivers and middleware in PCIe, following Automotive Safety processes from Requirements, Design, Coding, Safety Analysis, to Testing.

  • Efficiently implement drivers, protocols, and applications to deliver high efficiency and low latency with minimal CPU utilization.

  • Collaborate with multi-functional teams to bring-up PCIe IP on new platforms and SOC's.

  • Provide world-class support to customers, enabling them to seamlessly integrate our solutions into their platforms.

  • Engage in a relevant, growing, and highly professional environment where your impactful contributions drive technological advancements.

What we need to see:

To excel in this role, you should possess:

  • A Bachelor's or higher degree in Electrical/Electronics/Computer Science Engineering, or equivalent experience.

  • Minimum 5 years of proven experience in embedded system software development.

  • Practical knowledge in design, development, system level debugging of PCIe protocol, DMA, Cache, Interrupts related low level software in Linux or QNX.

  • Confirmed expertise in programming with strong skills in C, C++, algorithms, data structures, and hands-on debugging.

  • Detailed understanding of OS concepts in application space and kernel space, multi-processor/threading, memory management, I/O technology, virtualization concepts. Hands-on experience working with ARM and/or x86 platforms.

  • Proficiency debugging embedded software systems. Analytical and optimization skills using Linux, QNX, or other real-time operating systems.

Ways to stand out from the crowd:

  • Understanding of system level architecture, interconnects, memory hierarchy, interrupts, and memory-mapped IO.

  • Experience in writing and debugging multithreaded, multi-process system level programming in Virtualization environment on any SoC architecture.

  • Preferably, experience in the automotive domain, software process areas, and automotive safety standards such as ASPICE, ISO26262, and MISRA-C.

  • Experience with scripting, code instrumentation, static code analysis tools, testing, and code coverage frameworks.

If you are ambitious and determined to challenge in a technology-focused company, NVIDIA is where you belong. Join us and be part of a team that is crafting the future with innovative advancements.