SoC Software Engineer
NVIDIA
Santa Clara, CAFresher1d agovia LinkedIn
About the Role
- Join a world-class team building and maintaining software for complex heterogeneous computing systems.
- Work will span hardware, firmware, operating systems, and applications to bring sophisticated server products from early silicon through deployment.
- Opportunity to learn from experienced engineers while solving system-level challenges.
What You’ll Be Doing
- Design and develop SoC software, validation solutions, and test frameworks for CPU, SoC, and GPU-based platforms.
- Work may span user space, the kernel, firmware, and SoC boot software.
- Build next-generation system validation and reliability software supporting the journey from virtual prototypes and first silicon to production-ready hardware, large-scale deployment, and rapid failure resolution.
- Contribute to system software architecture and collaborate with internal teams to integrate new capabilities across the software stack.
- Work closely with architecture, ASIC, firmware, platform, and new product introduction teams to understand requirements and bring new computing platforms to life.
- Investigate challenging hardware and software issues, develop creative solutions, and improve the performance, reliability, power efficiency, and serviceability of platforms.
- Explore emerging technologies and industry standards, then apply learnings to solve real-world engineering problems.
Requirements & Tech Stack
- Strong C or C++ programming skills.
- Understanding of object-oriented design.
- Familiarity with low-level systems software, device drivers, firmware, embedded software, or hardware-facing programming.
- Foundational understanding of processor and computer architecture, preferably ARM.
- Strong problem-solving and debugging skills.
- Curiosity about how hardware and software work together.
- Clear communication skills.
- Ability to collaborate effectively in a team environment.
Qualifications
- Pursuing or recently completed a BS or MS in Electrical Engineering, Computer Science, Computer Engineering, or a related field—or equivalent experience.
Ways To Stand Out
- Knowledge of Linux systems or kernel internals.
- Understanding of server, PC, embedded, or other complex computing architectures.
- Experience with SoC development, pre-silicon environments, silicon bring-up, or hardware validation through coursework, research, internships, or personal projects.
- Experience contributing to a team software project, open-source project, technical competition, or substantial personal project.
- Exposure to AI, automation, or data-driven techniques for accelerating validation, analyzing failures, or improving system reliability.