NVIDIA Networking is seeking an exceptional candidate to work with world-class technologies in the domains of High-Speed Communication for our most sophisticated markets, customers and hyperscalers. Our products encompass Ethernet and InfiniBand protocols, delivering a wide range of ground breaking networking, virtualization, and security services for cloud, complex compute, and AI workloads. As a Software Engineer in networking, you will play a crucial role in delivering high quality customer solutions for advanced networking use cases.
Requirements
- 2+ years of familiarity with Linux datacenter network engineering along with 1+ years of exposure to and comprehension of standard practices in software development.
- Familiarity with Linux datacenter network engineering along with exposure to and comprehension of standard practices in software development.
- Strong proficiency in Python/Bash scripting languages.
- In-depth knowledge of Linux operating systems, command-line tools and computer networking.
- Experience with network equipment (switches, network Cards) and understanding of network protocols (e.g., TCP/IP, Ethernet, RDMA).
- Experience with Linux Virtualization (KVM/QEMU), OVS, and network encapsulation technologies.
- Background with performance testing and analysis tools (e.g., wireshark, tcpdump, perftest, iperf).
Responsibilities
- Collaborate with multi-functional teams, including software developers, network engineers, architects, customer solutions engineers, and product managers to understand customer use cases and compose test strategies to ensure the successful delivery of high-quality software solutions.
- Carry out functional, integration, regression, and performance testing for software applications, firmware attributes, tools, and networking protocols aligning with designated user situations.
- Identify, debug, and report software defects, inconsistencies, and other quality issues.
- Develop and maintain test automation frameworks and scripts using Python and Bash.
- Work with planning and tracking systems to manage the release progress and build release indicators.
- Participate in code reviews, provide feedback, and suggest improvements to enhance the quality and maintainability of the software.
- Continuously monitor and evaluate the effectiveness of test processes and methodologies, recommending improvements as necessary.
Other
- Strong analytical and problem-solving skills, with the ability to debug and isolate software defects.
- Excellent written and verbal communication skills.
- Ability to work effectively both independently and collaboratively within a team environment.
- Outstanding attention to details and a dedication to delivering top-quality software solutions.
- If you're a creative and autonomous engineer with a real passion for technology, we want to hear from you.