Software Engineer, Hardware-oriented

NVIDIA NVIDIA · Semiconductors · Yokneam, Israel

Software Engineer to develop Python-based software solutions for controlling NVIDIA HW on Linux, supporting various internal engineering groups. The role involves building and maintaining a framework, developing GUI tools, and collaborating with R&D teams throughout the full software lifecycle.

What you'd actually do

  1. Design, develop, and maintain Python-based software solutions (framework, internal tools, GUI applications).
  2. 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.
  3. Take ownership of projects: define the solution, design the architecture, implement, integrate, and support production-ready tools.
  4. Extend the current framework and tools, while also developing and implementing new ones from scratch.
  5. Work within Linux environments, integrating software with hardware interfaces, drivers, and engineering workflows.

Skills

Required

  • Python
  • Object-Oriented Programming (OOP)
  • design patterns
  • GUI development (PyQt or similar frameworks)
  • Linux systems
  • software/hardware interaction
  • drivers
  • analytical and problem-solving approach
  • communication skills

Nice to have

  • SerDes, optics, or related hardware
  • DevOps, CI/CD, or containerized development environments
  • REST APIs
  • backend frameworks (Django, FastAPI)
  • data validation tools (Pydantic)
  • databases (MongoDB)
  • visualization tools (Matplotlib)