Design and develop software for NVIDIA NIC and DPU platforms to enhance functionality, visibility, and system capabilities.
Build and improve tools, libraries, and reference applications for monitoring, debugging, performance analysis, and usability in host and DPU environments.
Investigate and optimize system performance across hardware and software stacks focusing on throughput, latency, scalability, and efficiency.
Contribute to development of offload and acceleration features to boost platform performance and support advanced networking and data-processing use cases.
Collaborate with architecture, firmware, hardware, validation, and software teams through all stages of the product lifecycle.
Requirements
12+ years of hands-on experience in software development using C/C++.
Good understanding of Linux operating system and/or embedded systems.
Bachelor's Degree in a related field.
Highly adaptable with a strong aptitude for learning, researching, and analyzing tasks.
Ability to inspect and improve code, processes, and system architecture.
Experience delivering high-quality software.
Use and experience of AI coding tools.
Strong background in designing, implementing, and debugging complex software.
Experience leading big features/projects, familiarity with Agile methodology, architecture design, and progress reporting.
Ability to present design and architectural decisions effectively to peers and management.
Nice to haves
Strong software development fundamentals including compilers, build systems, Linux environments, and debugging complex system-level issues.
Good understanding of networking concepts and experience with Ethernet protocol stack, sockets, DPDK, or related performance-oriented networking frameworks.
Ability to analyze technical problems deeply, understand system-level trade-offs, and deliver practical, optimized solutions.