Power and Performance Characterization Software Engineer
NVIDIA
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
What we need to see:
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
Ways to stand out from the crowd:
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
We are an equal opportunity employer and value diversity at our company. We do not discriminate based on race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.