The worldwide pioneer in the creation of interactive entertainment, Nintendo Co., Ltd., of Kyoto, Japan, manufactures and markets hardware and software for its Nintendo Switch™ system and the Nintendo 3DS™ family of portable systems. Since 1983, when it launched the Nintendo Entertainment System™, Nintendo has sold billions of video games and hundreds of millions of hardware units globally, including Nintendo Switch and the Nintendo 3DS family of systems, as well as the Game Boy™, Game Boy Advance, Nintendo DS™ family of systems, Super NES™, Nintendo 64™, Nintendo GameCube™, Wii™, and Wii U™ systems. It has also created industry icons that have become well-known, household names, such as Mario, Donkey Kong, Metroid, Zelda and Pokémon. A wholly owned subsidiary, Nintendo Technology Development, based in Redmond, Washington, creates future hardware/software technology and researches North American-based technologies. Nintendo is an equal opportunity employer. We offer a welcoming and inclusive environment in service to one another, our products, the diverse consumers we represent, and the communities we call home. We do all of this with kindness, empathy and respect for each other.
DESCRIPTION OF DUTIES
Design and develop device drivers for current and future gaming consoles
Implement robust embedded software using modern C++ constructs
Drive architecture definition and create associated documentation
Lead development activities on major software subsystems, providing hands-on assistance to junior team members
SUMMARY OF REQUIREMENTS
7+ years’ experience developing device drivers for complex SOCs, and have a fundamental understanding of power and clock tree initialization
7+ years’ experience developing multithreaded software
Hands-on experience with USB technologies
Proficient with fundamental computer science data structures and algorithms
3+ years’ professional experience developing C++ software
Hands-on experience with lower-level device driver topics such as DMA, memory hierarchy, cache coherency, use of memory barrier instructions
Ability to use a logic analyzer or oscilloscope for debug and validation
Degree in Computer Engineering, Computer Science or Electrical Engineering
PREFERRED REQUIREMENTS
MS degree
Experience using real time operating systems (RTOS)
Experience developing USB software stacks
* This is not a remote opportunity and you will be required to work onsite in Redmond, WA