- Location
- UK, Bristol, United Kingdom · UK, Cambridge
- Type
- Full-time
- Department
- Engineering
- Experience
- 4+ years
- Education
- Master
- Source
- Workday
Description
At NVIDIA, we invite hard-working new college graduates and early-career engineers to apply for our System Software Engineer, Automotive Cybersecurity role and join the HPSE Interface team in the United Kingdom. This is a remarkable opportunity to aid the creation and upkeep of software that delivers security services for NVIDIA's automotive platforms. You will examine sophisticated, low-level software and gain hands-on knowledge of how PKCS#11 functions within the DRIVE OS security architecture alongside hardware and software components. As you expand your system-level expertise, you will collaborate with global engineering teams to translate requirements into durable solutions for our customers. Engage throughout the software lifecycle, from development and deployment to validation, integration, release support, and issue resolution.
What you'll be doing
- Build your expertise in our HPSE security architecture and its interactions with hardware security, operating-system components, and other security services.
- Build, implement, test, debug, and maintain C-based software and interfaces for PKCS#11 and related security services within DRIVE OS and other deployments of the Tegra chipsets.
- Collaborate with software, hardware, system architecture, safety, security, quality, and customer-facing teams to clarify requirements and refine specifications.
- Contribute to investigating and resolving complex system, integration, and customer-reported issues; communicate technical findings clearly and help drive issues to closure, taking on greater ownership as your experience grows.
- Build and maintain unit, integration, and end-to-end tests; improve test automation and software quality.
- Participate in code reviews, design and build discussions, and documentation to ensure maintainable, secure, and reliable software.
- Contribute to development and release activities that follow applicable product lifecycle, safety, security, and quality processes.
What we need to see
- Bachelor's or Master's degree or equivalent experience in Computer Science, Computer Engineering, Electrical Engineering, or a related technical area. The role welcomes new college graduates and early-career candidates with up to 4 years of experience following a Bachelor's degree or up to 2 years following a Master's degree. Responsibilities and ownership will reflect your experience, with opportunities to grow toward greater independence.
- Sound C programming and debugging skills; ability to write clear, reliable, and maintainable code, demonstrated through coursework, projects, research, internships, or professional experience.
- Solid foundations in data structures, operating systems, computer architecture, and software engineering practices.
- A methodical and analytical approach, a willingness to learn complex systems, and the ability to work effectively with distributed cross-functional teams.
- Clear written and verbal communication skills, to communicate technical trade-offs clearly and collaborate on customer requirements.
- A proactive, quality-focused approach and a desire to learn and deliver in a safety- and security-conscious engineering environment, while exploring and adopting Agentic AI in disciplined and creative ways.
- Curiosity about the broader effects of our work. A desire to develop technical expertise alongside commercial awareness and learn to make sound technical and practical decisions.
Ways to stand out from the crowd
These are opportunities to showcase your interests and experience, not prerequisites; examples from coursework, personal projects, research, or internships are welcome alongside professional experience.
- Coursework, personal projects, internships, research or professional experience in Linux/QNX embedded systems, SoCs based on ARM technology, platform security, or device and driver connectivity.
- Python experience, particularly for test automation, tooling, analysis, or developer efficiency; interest in or experience with Rust for systems programming, secure software, or tooling.
- Knowledge of applied cryptography, PKCS#11, key management, hardware security modules, secure boot, roots of trust, trusted execution environments, or hardware/software security boundaries.
- Familiarity with automotive ISO 26262 functional-safety and ISO 21434 cybersecurity concepts.
- Exposure to or understanding of a disciplined product lifecycle (PLC) environment, including requirements, traceability, configuration management, verification, and release-quality practices; exposure to CI/CD, source control, code review, automated testing, and debugging of hardware/software integration issues.