Senior System Software Engineer

Posted:
6/15/2024, 5:00:00 PM

Location(s):
Karnataka, India

Experience Level(s):
Senior

Field(s):
Software Engineering

We are providing Automotive Platform solutions integrating top class technologies in the Autonomous Driving Software Stack. Our team provides System level software frameworks realizing Automotive use cases across SoCs in a Multi-OS environment on Nvidia Multi-Processor SoC. Autonomous driving is the product area.
 

We are looking for Senior System Software Engineer with wide experience in PCIe and other connectivity technologies. As part of our team, you will handle software spanning across high level software integration to low software development following entire product life cycle processes to produce safety certified software for Automotive Platforms.

What you’ll be doing:

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

  • Write efficient, reliable, and scalable code, measure and optimize software modules to achieve the best performance in a virtualized multi-OS configuration.

  • Collaborate with various component teams, support customers of our solutions providing resolutions, documents, samples & sanity reports.

  • Be working in dynamic equal opportunity based diverse work environment.

What we need to see:

  • Bachelors or higher degree in electrical/electronics/computer science engineering, or equivalent experience.

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

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

  • Strong programming skills in C, C++, algorithms, data structures, hands-on debugging, analytical & optimization skills using Linux, QNX or other real time operating systems.

  • 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.

  • Experience with test frameworks.

  • You should demonstrate good analytical, communication, documentation skills and be an adventurous person ready for challenges!

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.

  • Automotive domain, software process areas, automotive safety standards (ASPICE, ISO26262, MISRA-C etc) exposure is preferable.

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

NVIDIA is a leading technology company specializing in the development of high-performance graphics processing units (GPUs) and other advanced technologies. We are dedicated to pushing the boundaries of what is possible and shaping the future of computing. Join our ambitious team and be part of creating innovative solutions that revolutionize industries and impact lives worldwide. NVIDIA is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees. We welcome applicants from all backgrounds.