Posted at: 19 May

Software Engineer, Hardware-Oriented

Company

CompanyNVIDIA

NVIDIA Corporation is a Santa Clara-based technology company specializing in designing GPUs and AI solutions for gaming, professional visualization, and cloud services, operating in both B2B and B2C markets globally.

Remote Hiring Policy:

NVIDIA supports flexible remote work arrangements and hires from various regions globally, including the Americas, Europe, Asia, and the Middle East, with roles that may require collaboration across time zones.

Job Type

Full-time

Allowed Applicant Locations

Asia, Israel

Job Description

We are looking for a Software Engineer to join our team developing software solutions to control NVIDIA HW in Python on Linux for various internal engineering groups, including chip designers, algorithm engineers, PHY characterization engineers, optics engineers, and other R&D teams. Our work includes building and maintaining a framework, as well as developing GUI tools that support complex engineering workflows. This role combines advanced software engineering with a hardware-oriented perspective — the ideal candidate should have both the interest in areas such as hardware, Linux systems, and low-level drivers.Collaborate with the development team to improve existing framework and tools, suggest creative solutions, and develop new projects. In our group, software engineers are responsible for the full lifecycle of solutions — from defining requirements and designing architectures to implementation, integration, and delivery. This approach allows every team member to grow professionally, develop a broad skills, and unlock their full potential.What you’ll be doing:Design, develop, and maintain Python-based software solutions (framework, internal tools, GUI applications).Collaborate with internal customers — including chip designers, algorithm engineers, optics engineers, PHY characterization engineers, and other R&D teams — to understand requirements and translate them into robust solutions.Take ownership of projects: define the solution, design the architecture, implement, integrate, and support production-ready tools.Extend the current framework and tools, while also developing and implementing new ones from scratch.Work within Linux environments, integrating software with hardware interfaces, drivers, and engineering workflows.Apply OOP principles and design patterns to build scalable, maintainable software architectures.What We Need To See:B.Sc in Electrical or Software Engineering.1-2 years of relevant experience.Proficiency in Object-Oriented Programming (OOP) and solid understanding of design patterns.Experience with GUI development (PyQt or similar frameworks).Interest in hardware systems, circuits, or engineering workflows.Hands-on experience in Linux systems, including software/hardware interaction and exposure to drivers.Strong analytical and problem-solving approach, with attention to both detail and big-picture architecture.Good communication skills and ability to work closely with multidisciplinary engineering teams.Ways to stand out from the crowd:Familiarity with SerDes, optics, or related hardware.Experience with DevOps, CI/CD, or containerized development environments.Knowledge of REST APIs and backend frameworks (Django, FastAPI) including data validation tools (Pydantic).Experience with databases (e.g., MongoDB or equivalent experience) and visualization tools (e.g., Matplotlib).