Senior System Software Engineer - Tegra

NVIDIA NVIDIA · Semiconductors · Santa Clara, CA

Senior System Software Engineer to work in the Tegra system software group, focusing on designing and developing test and framework for complex heterogeneous computing systems. The role involves architecting diagnostic software solutions, improving efficiency and robustness, and debugging complex failures. Requires strong C/C++, OS/kernel programming, and computer architecture understanding.

What you'd actually do

  1. Designing and developing test and framework that can most efficiently validate and stress SOC/System and to see them through the full software development lifecycle. This can include working in user-space, kernel, firmware or boot software of SOC.
  2. Architecting and driving new diagnostic software solutions that cater to all phases of the product life cycle - bring up, manufacturing, hardware qualification, failure analysis and custom platforms.
  3. Spearhead various initiatives to improve efficiency, robustness and user friendliness of the software we deliver for design validation, thermal & power characterization, manufacturing screening, and external customers bring up
  4. Understand and participate in the debug /root cause analysis of very complex board/system level failures.
  5. Communicate optimally with various teams throughout the company, as well as customers and partners.

Skills

Required

  • C/C++
  • Operating Systems
  • Kernel Programming
  • Computer Architecture
  • Low-level programming
  • Driver-level programming
  • Problem-solving
  • Debugging

Nice to have

  • Linux kernel internals
  • ARM platforms
  • Diagnostic software for datacenter and server systems
  • Pre-Silicon / Post-Silicon bringup planning and execution
  • SW product release lifecycle

What the JD emphasized

  • excellent C/C++
  • thorough understanding of operating systems and kernel programming
  • good understanding of computer architecture
  • Strong C/C++ programming skills
  • Experience with low level / driver level programming
  • Understanding of processor architecture fundamentals
  • Strong problem-solving and debugging skills
  • Expert communication, interpersonal and planning skills