- Location
- Finland, Helsinki
- Type
- Internship
- Department
- Engineering
- Seniority
- Internship
- Source
- Workday
Description
NVIDIA develops system software that brings complex silicon to life. Our system control and power management firmware team builds the low-level capabilities that manage power, clocks, performance, system initialization, and thermal behavior across NVIDIA System-on-Chips (SoCs). As a System Software Engineering Intern, you’ll collaborate with experienced software, hardware, and architecture engineers to solve problems at the boundary between hardware and software. The role offers opportunities to contribute from pre-silicon development through silicon bring-up, with a focus on reliable firmware for demanding applications.
What you’ll be doing:
- Develop and test system control and power management firmware for NVIDIA SoCs with guidance from experienced engineers.
- Contribute to firmware features that manage power, clocks, performance, system initialization, and thermal behavior.
- Design test cases and build automation to verify functionality and identify regressions.
- Investigate hardware and software issues using debugging tools, test results, and system documentation.
- Support pre-silicon software development.
- Collaborate with architecture, hardware, and software teams on firmware design and implementation, including reliability and functional safety requirements.
What we need to see:
- Currently pursuing a bachelor’s or master’s degree in Electrical Engineering, Computer Science, Computer Engineering, or a related technical field.
- Strong C or C++ programming skills demonstrated through coursework, projects, or prior experience.
- Familiarity with computer architecture and microprocessor or microcontroller fundamentals, such as caches, buses, memory controllers, and DMA.
- Ability to debug software, analyze technical problems, and learn unfamiliar hardware and software systems.
- Interest in low-level firmware development and engineering practices that support reliability and functional safety.
- Clear written and verbal communication skills in english, with the ability to collaborate, seek feedback, and follow through on assigned work.
- Experience applying generative AI tools to software development, testing, or debugging, with careful validation of their output.
Ways to stand out from the crowd:
- Coursework or project experience with Arm or RISC-V architectures, embedded firmware, or real-time systems.
- Experience with Linux or QNX internals, device drivers, or contributions to open-source software.
- Familiarity with Automotive SPICE, ISO 26262, or other structured software development and verification processes.
- Experience programming in Rust.