Share
NVIDIA Networking business unit is seeking an experienced Software Engineer with a strong software development background, specifically writing content software for HW applications of networking ICs. We require a hardworking, driven, passionate engineer who thrives in high-paced and dynamic environments and drives tasks to completion promptly. You will be required to write efficient, reliable code while continually expanding knowledge of networking standards and their implementation, taking into account software architecture and principles. You will be writing stress content for networking HW applications, focusing on the ASIC in a system environment.
What you'll be doing:Our team's main mission is to write networking-specific tests. We write the required SW, test it on the HW, and debug issues that arise from hardware-software integration. You will design, develop, and maintain embedded software solutions that engage with hardware units within ICs. In addition to writing and maintaining clear and well-documented code, in line with software standard methodologies.
We require candidates to translate hardware specifications into well-structured software components that enable the desired hardware functionality, as well as learn and implement a variety of network protocols (e.g., Ethernet, Infiniband) as part of the software stack.
A big part of this role involves collaboration with HW, FW, and performance teams to understand high-level hardware design, as well as FW/SW requirements to optimize logic/power stress on the ASIC. We offer a dynamic, exciting work environment, with many new learning experiences and interactions with people from different aspects of the company
B.Sc. in computer science, Software Engineering, or a related field
Experience of 4+ years with embedded software development, particularly in C/C++
Experience with writing software for hardware applications
knowledge in networking products/ protocols
Knowledge of object-oriented programming (OOP), design patterns, and fundamental software engineering principles
Proficiency in software debugging techniques and tools, with a focus on software-side issues
Familiarity with embedded operating systems (such as FreeRTOS, Embedded Linux) or bare-metal development
Experience with network protocols such as Ethernet, TCP/IP, and related communication standards
Background with networking benchmark applications and testing
These jobs might be a good fit