Senior System Software Engineer - Embedded Controller
About the role
NVIDIA has been transforming computer graphics, PC gaming, and accelerated computing for more than 30 years. It’s an outstanding legacy of innovation that’s fueled by great technology—and outstanding people. Today, we’re tapping into the unlimited potential of AI to define the next era of computing. An era in which our GPU acts as the brains of computers, robots, and self-driving cars that can understand the world. Doing what’s never been done before takes vision, innovation, and the world’s best talent. As an NVIDIAN, you’ll be immersed in a diverse, supportive environment where everyone is inspired to do their best work. Join our team and discover how you can develop a lasting impact on the world. We are looking for a senior engineer to improve GPU system software and the way that software is built. You will work on firmware, a real-time operating system, driver interfaces, and the build, test, and execution infrastructure that supports them. When a new approach improves on the current one, you will carry it from design through implementation, bring-up, and support after release, so other engineers can build on it.
Responsibilities
- Improve the product and the process used to build, test, and run it.
- Design and implement firmware and real-time operating system changes, and the driver interface that connects them with the rest of the system.
- Use current development tools, including tools that generate and check code, and make those tools part of how the team develops and validates software.
- Work with hardware and software partners in other locations to resolve issues and deliver the result.
Requirements
- Proven experience in system software, embedded software, or a related field
- Bachelor's degree in Computer Science, Computer Engineering, or a related field (or equivalent experience)
- 5+ years of meaningful experience
- Experience writing software in C, and scripting to build, test, or run that software
- Background with embedded software, a real-time operating system, and device drivers, and with low-level interfaces such as interrupts, GPIO, DMA, PCIe, or I2C
- Experience delivering software you were accountable for, from design through release and support
Skills
- Experience using AI development tools to write, review, and test software more efficiently
- Background with embedded software for power, thermal, or performance and experience designing real-time control software
- Experience with operating system internals, kernel