Software Engineer, DOCA SDK

NVIDIA Ltd.
Santa Clara, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Remote
Santa Clara, United States of America

Tech stack

API
Cloud Computing
Cloud Engineering
Computer Programming
Data Centers
Software Debugging
Linux
Ethernet
Linux kernel
Network Protocols
Performance Tuning
Software Engineering
Virtualization Technology
Information Technology

Job description

We are looking for a Software Engineer. You will work with highly experienced engineers to provide the world's outstanding SmartNIC products for cloud-computing, research, medical, automotive, finance, weather, telco, and more. We are developing some of the core libraries of the NVIDIA DOCA SDK (https://developer.nvidia.com/networking/doca), rapidly growing DOCA functionality and use cases. With DOCA, developers can program the data center infrastructure by creating software-defined, cloud-native, secured, HW-accelerated services.

We also take significant part in the Linux-foundation DPDK (dpdk.org) project, and expand the NVIDIA-Mellanox PMD in particular, providing the framework and common API for fast packet processing in user space. Our goal is to enable breakthrough network performance, using NVIDIA SmartNIC hardware capabilities and address the performance, scale and security demands of modern software-defined enterprise data centers and public cloud infrastructure.

What You'll Be Doing

  • You will architect, design, and develop the next-generation technology in network acceleration, as well as work with best-in-class technical leaders in this domain.
  • Engage with customers and architects to understand the requirements and derive the software design accordingly.
  • Collaborate with other engineering teams that develop the upper layers applications like virtual switches (OVS, VPP, and etc.) and lower layers like driver, kernel, FW, and HW.

Requirements

  • B.Sc. (or equivalent experience) in computer science/software engineering
  • 3+ years' confirmed experience of Programming C/C++
  • 3+ years' confirmed experience in Linux environment and tools
  • Deep experience with Networking Protocols mainly Ethernet, and security protocols
  • Experience with virtualization technologies
  • Strong analytical, debugging, and problem-solving skills
  • Deep knowledge of computer architecture and operating systems.
  • Experience in performance optimizations

Ways To Stand Out From The Crowd

  • Experience leading a small team or a feature/project with multiple engineers.
  • Knowledge and experience in DPDK
  • Knowledge and experience with designing SDKs
  • Open Source Software Contributor to relevant projects (OvS, DPDK, Linux Kernel..)
  • A positive demeanor, a growth mindset, and excellent interactions with colleagues

About the company

NVIDIA is widely considered to be one of the technology world's most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us. If you're creative and autonomous, we want to hear from you!

Apply for this position