System Software Engineer, Tegra - Memory Software

NVIDIA NVIDIA · Semiconductors · Pune, India

System Software Engineer role at NVIDIA focusing on memory management for Tegra platforms (Automotive, Embedded, Data Center). Responsibilities include building, developing, and optimizing memory subsystems, collaborating with hardware/software teams, and debugging complex memory issues. Requires strong C programming, OS internals knowledge, and experience with ARM architecture.

What you'd actually do

  1. Build, develop, and optimize Tegra-based Automotive Platforms and real-time computing environments, responsible for Memory Management.
  2. Build and optimize page management, memory allocation, and memory virtualization solutions suited for high-performance and embedded environments.
  3. Collaborate with Hardware & Software teams and Product Owners to define and refine SoC memory management requirements.
  4. Work with collaborator engineering teams to understand needs, define requirements, and deliver efficient solutions.
  5. Debug and triage complex memory-related issues in both kernel and user space on production systems.

Skills

Required

  • C programming
  • Linux Kernel development
  • Android development
  • QNX development
  • memory management subsystems (SMMU, dma_buf, Virtualization, Carveout, cache)
  • operating systems
  • kernel internals
  • device drivers
  • storage
  • networking
  • high-speed interconnects
  • Virtual memory systems
  • ARM architecture
  • low-level debugging tools (JTAG, gdb)
  • kernel module development
  • memory profiling tools
  • system-level debugging
  • Problem-Solving
  • Analytical Skills
  • Communication skills

Nice to have

  • GenAI Tools like Cursor, Claude, and N8N
  • Hands-on development for the Automotive Platforms
  • Software / Product Development Life Cycle