Job Descriptions
NVIDIA Corporation is the worldwide leader in programmable graphics processor technologies. The Company creates innovative, industry-changing products for computing, consumer electronics, and mobile devices. The NVIDIA® graphics processing unit (GPU) and media and communications processor (MCP) brands include NVIDIA GeForce®, NVIDIA GoForce®, NVIDIA Quadro®, and NVIDIA nForce®.
At NVIDIA we set unprecedented standards of excellence. We do so in our vision, our values, and our work. We believe that you become the best by hiring the best, and know that as long as we have a superior engineering team, we'll continue to lead the graphics industry into a new era of multimedia innovation.
If you are interested in becoming part of the NVIDIA team check out the job descriptions listed below. All positions are for New College Graduate (NCG) and / Intern/Co-op opportunities, unless otherwise indicated. Learn more at www.nvidia.com/university
We love what we do because we do what we love. Join us!
If you would like to apply for a position email your resume to myfuture@nvidia.com
Winter OR Summer 2010 Internships OR NCG Opportunities
ASIC DESIGN ENGINEER (Santa Clara, CA; Beaverton, Or) ASIC Design Engineers at NVIDIA design and implement the industry's leading Graphics, Video / Media & Communications Processors. Specific areas include 2D and 3D graphics, mpeg, video, audio, network protocols, high-speed IO interfaces and bus protocols, and memory subsystem design. In this position, you will be responsible for Architecture and micro-architecture design of the ASICs, RTL design and synthesis, Logic and Timing verification using leading edge CAD tools and Semiconductor process technologies.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Currently enrolled in BSEE, MSEE or PhD
Candidates should have a solid hardware engineering background with a concentration in VLSI and/or Computer Architecture.
Exposure to Digital systems and VLSI design, Computer Architecture, Computer Arithmetic, C/C++ programming languages, CMOS transistors and circuits is required. Strengths in Verilog/VHDL and C or Perl are a big plus.
Good communications skills and ability and desire to work as a team player are a must.
SYSTEMS ENGINEER (Santa Clara, Ca; Beaverton, Or; Austin, Tx) Minimum GPA: 3.5 or CGPA: 80
Systems Engineers are members of the team responsible for developing NVIDIA’s cutting edge graphics board products. Primary responsibilities are to work hands on with new NVIDIA hardware to ensure it meets design, feature and quality objectives. Specific responsibilities include:
Hardware Bringup -- As a member of the board "bring-up" team, you and your teammates will bring-up and test NVIDIA’s graphics board and chip products. You will experience the world's fastest 3D graphics products 4-6 months before arriving on the store shelves. Expect to learn pc architecture, graphics architecture, laboratory methodologies, lab experimentation and measurement techniques.
Hardware Qualification -- Working along side the chip & board designers, you will verify new NVIDIA hardware meets design objectives and is ready for mass production. It is here that you will learn state of the art techniques for ensuring hardware designs meet specification and the highest quality standards.
Design Review -- Participate in the design reviews of new products to provide feedback to designers and to better understand the product before prototypes are built. Here you will learn about schematic circuit design as well as high-speed PCB layout techniques.
Troubleshoot -- When NVIDIA HW design or product issue is encountered, your task will be to understand the problem and work on innovative solutions to reach resolution. This involves working with the various organizations within NVIDIA to learn more details about the product and working in the lab to test and prove hypothesis.
This position provides excellent exposure to the many engineering activities required to design and deliver world-class graphics products. It is especially beneficial to Co-op and interns who desire to become hardware design engineers. Systems Engineers are exposed to a wide range of engineering activities and is an excellent way to help determine the engineering path that is right for you.
The ideal candidate will be working towards a degree in EE, CE, CS, Systems Engineering or Engineering Science/Physics, with an emphasis in computer architecture, digital design, circuit analysis, and device physics.
CIRCUIT DESIGNER (Santa Clara, Ca; Beaverton, Or) Implement all circuits from RTL Verilog to layout.
Transistor-level circuit design of very high speed embedded SRAM macros.
Circuit simulation, layout extraction, timing characterization, and timing model generation.
Layout floor-planning and layout supervision.
Circuit-level logical functional verification.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
BSEE; MSEE or PhD preferred.
Prior internship experience with strong background in dynamic circuit design.
Prior design experience in single-port, dual-port, multi-port, or register file SRAM-based macros required.
Successful track record of delivering products to production is a must.
Self-motivated, good communication and teamwork skills are a must.
PHYSICAL DESIGN ENGINEER (Santa Clara, Ca) Responsible for all aspects of physical design and implementation of Graphics processors, integrated chipsets and other ASICs targeted at the desktop, laptop, workstation, set-top box and home networking markets. Responsibilities include participating in the efforts in establishing CAD and physical design methodologies (flow and tools development), chip floor plan, power/clock distribution, chip assembly and P&R, timing closure, power and noise analysis and back-end verification across multiple projects.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Currently enrolled in BSEE, MSEE or PhD
Candidate should possess a strong understanding of static timing analysis, clock/power distribution and analysis, RC Extraction and correlation, place and route, circuit design and analysis.
Scripting and programming experience using several of the following: Perl, C, C++, TCL, Scheme, Skill, and Make.
Previous experience in VLSI physical design implementation is a plus.
Knowledge of EDA vendor (Synopsys, Cadence, Magma, Mentor, etc.) tools suite like Apollo, Astro, Physical Compiler, PrimeTime, dc_shell, Silicon Ensemble, First Encounter, PKS, Nanoroute, is a plus.
SYSTEM SOFTWARE ENGINEER (Santa Clara, CA; Austin, Tx) NVIDIA is hiring engineers to work in our system software engineering groups. The best candidates will have strong C programming skills, a thorough understanding of operating systems and kernel programming, a good understanding of hardware architecture, and excellent communication and planning skills. You will work closely with both hardware engineers and other software engineers to design, develop, and debug many functional aspects of our multimedia accelerator devices. You will also be heavily involved with the early modeling and simulation required to produce our world-class accelerators, and will follow the devices all the way through the development process to the customer desktops, notebooks, workstations, and gaming console products that are used throughout the world.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Pursuing BS or MS degree in Electrical Engineering, Computer Science, or related degree
Excellent C programming skills
Familiarity with computer system architectures and the hardware/software interface layer models
Interest in low-level operating system knowledge, specifically memory/resource management, scheduling and process control, and hardware virtualization
Experience with complex system-level debugging is invaluable
COMPILER SOFTWARE ENGINEER (Santa Clara, CA & Austin, Tx) NVIDIA is looking to hire smart engineers to work in our compiler team. The compiler team develops several exciting products that are used for improving the performance of 3D games, including building Cg and OpenGL Shading language compilers used for realistic movie-like effects, and running high performance applications through NVIDIA GPGPU products. Users of these products include game developers, enthusiastic gamers, Hollywood production studios, educational institutes and high performance computing users. Successful candidates will be enthusiastic and interested in solving exciting complex problems, and ideally would have some course work and/or implementation projects in compiler design and theory. Candidates will work on several aspects of compiler optimizations and code generation.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Pursuing BS or higher degree in Computer Science, or related degree (MS/PhD strongly preferred)
Strong C/C++ programming skills
Some background in compilers either through coursework or projects
Good software engineering skills. Experience in working on large software projects is highly preferred
GRAPHICS SOFTWARE ENGINEER (Santa Clara, CA; Austin, Tx) NVIDIA is searching for talented engineers to help us design, implement, and optimize graphics rendering drivers for our world-class graphics processors. We work on creating and optimizing the features that are used in all of the latest games and multimedia applications, and we work closely with many of those same developers as they create their products. You will also be exposed to new processor development and verification as we introduce faster and faster media accelerators. Specific areas of focus are OpenGL 3D rendering, DirectX 3D rendering, and 2D graphics acceleration. Our rendering code is cross-platform and highly efficient, and we've shipped our software to hundreds of millions of users around the world. We are looking for people who are passionate about creating leading edge graphics software.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Pursuing BS or higher degree in Computer Science, or related degree
Strong programming skills in C and C++
Excellent math skills and theory knowledge is invaluable
Experience writing low level software and familiarity with 3D/2D graphics theory, implementation, and optimizations; operating system and compilation theory is also very useful
Strong communication skills and ability to take initiative, especially acting as a strong team player
Excellent debugging skills
EMBEDDED SOFTWARE ENGINEER (Santa Clara, CA) NVIDIA is looking for engineers to design, implement, and optimize display and system software for embedded applications. Our systems range from handheld wireless devices up to high end entertainment systems. We work closely with hardware engineers and customers to provide customized hardware/software solutions to bring embedded graphics to the next level. Specific areas include device drivers, graphics and multimedia libraries, and kernel work. We use multiple embedded OSs, including Linux, on devices ranging from arcade gaming systems to automobile navigation and entertainment systems. We are looking for people who are excited about introducing NVIDIA quality graphics and multimedia into embedded devices for the first time, and who love coding to the metal.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Pursuing BS or higher degree in Computer or Electrical Engineering, or related degree
Knowledge and interest in graphics and operating system programming
A solid engineering background and understanding of good code methodology
Strong C programming skills with some assembly experience.
Initiative in pursuing independent coding projects, including open source projects
Experience with writing code, including assembly, to directly control hardware is highly useful
DIAGNOSTIC SOFTWARE ENGINEER (Santa Clara, CA) NVIDIA is looking for software engineers to help validate the various functional aspects of our GPUs and Tegra SOCs. Help develop new functionality for a software infrastructure used to run tests on GPUs and GPU simulations, and add software features to verify correctness of architectural features for devices still in hardware development. Implement and support software for chip bring-up, screening, manufacturing diagnostics, and failure analysis. Drive diagnosis of chip and board issues with hardware, software, and operations engineering. Analyze chip failures and tune software required for chip screening.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
Pursuing BS or higher degree in Computer or Electrical Engineering, or related degree
Strong C/C++ programming skills
Excellent understanding of PC or SOC architectures and system software experience
Very strong problem solving and debugging skills
Ability to self-manage, show leadership, and have good communication skills
Previous experience of working on a large system software code base is preferable
CUDA SOFTWARE ENGINEER - (Santa Clara, Ca) NVIDIA is looking for multiple software engineers to join the CUDA Developer Tools team. CUDA is NVIDIA's revolutionizing new technology that is helping move thousands of new applications to run on the GPU instead of the CPU. Important part of this role is to build a world class GPU debugger architecture that can help developers run and debug these applications on the GPU. This role requires interaction with CUDA driver and compiler teams within NVIDIA, and other developer teams within and outside of NVIDIA.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
BS or higher degree in Computer Science/Engineering.
Minimum 3 years of industry or academic experience (or equivalent) in a related field.
Strong knowledge of C and programming techniques.
Familiar with CPU/GPU System architecture and OS fundamentals especially linux.
Good communication skills required.
Prior experience building user mode or kernel mode debuggers is a plus.
Familiarity with Windows and/or Mac OS X is a plus.
Experience with C++, OpenMP, and any parallel programming is a plus.
A strong team player that is self motivated.
NEW COLLEGE GRADS (NCG’s) only
PLATFORM ARCHITECTURE ENGINEER (Santa Clara, CA) In this key role, you will be responsible for system performance and power debug, tuning, and analysis of NVIDIA's mobile and desktop platform products. You will be part of the platform architecture team, working with all aspects of the NVIDIA organization - ASIC, systems engineering, SW, and marketing - to validate, fix performance issues against product requirements. You will also be responsible for doing careful studies that involve performance simulations, benchmarking, competitive analysis, and/or power measurements aimed to help drive the architecture of next generation platform products.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
MS in EE/CS/ECS or related technical field or equivalent. Ideal focus on computer architecture
Candidate should have good understanding of PC system architecture and operating system concepts.
Ideally candidate would be familiar w/performance benchmarking and/or power measurements in a lab environment.
Experience with architectural simulation, verification, and exposure to bring-up.
Excellent verbal and written communication skills, with attention to detail.
Strong multi-tasking skills with ability to effectively organize and present large data sets.
Strong programming skills and/or scripting experience a big plus.
GRAPHICS ARCHITECTURE ENGINEER (Santa Clara, CA; Austin, Tx; Beaverton, Or) Roles include some or all of the below:
Develop algorithms and design hardware extending the state of the art in hardware support for computer graphics. Working within a team, graphics architects documents, design, develop functional and performance simulators, validate, and verify each new chip.
Develop tests, testplans, and testing infrastructure for new graphics architectures. Develop methodologies and tools for validating test results. Design and implement automated testing strategies. Test and debug CMODELs, RTL simulation and real silicon.
Write and run low-level graphics tests which expose architectural performance characteristics of competitors' graphics chips. Compare results with nVidia graphics chips. Find shortcomings and strong points of each. Work with architects to determine underlying causes. Publish and maintain results.
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
MS in EE/CS/EECS or related technical field. Ideal focus on computer architecture and graphics
Degree in relevant discipline (CS, EE, Math). Pursuing advanced degrees helpful.
Relevant industrial experience preferred. Relevant industries include PC or workstation graphics hardware or software development, digital video or image processing, video game software development, rendering software or tools development.
Strong programming ability: C, C++ and Perl preferred.
VERIFICATION / VALIDATION ENGINEER (Santa Clara, CA; Beaverton, Oregon) NVIDIA's GPUs are among the most advanced and complex single-chip processors in the world, and require cutting edge validation methodology. In this key role, you will be instrumental in the development of a validation suite of future GPU architectures and verification of hardware implementation.
Responsibilities:
Development of directed or random diagnostics to validate the processor Instruction Set Architecture (ISA), reference models, C simulation models, RTL models, HW emulators and real hardware.
Writing and reviewing validation test plans
Debug of diagnostics on various platforms
Minimum Requirements:
Minimum GPA: 3.5 or CGPA: 80
BS or MS in Computer Science or Electrical Engineering
Internship or Lab Experience with GPU or Processor verification / validation and software programming.
Requires strong programming experience in C/C++ and assembly
Good debug skills
Desirable Experience/Knowledge (should include, however not limited to):
Low level software experience like BIOS, device drivers
Experience with HW/SW interactions
Experience with directed and Random functional testing including writing test plans and directed or random diagnostics
Software infrastructure for validation of architecture correctness
DFT ENGINEER (Santa Clara, Ca) Design and implement test methodologies for large, complex, high-volume Digital IC's. Work with logic designers to review and analyze IC designs and apply test techniques as necessary. Develop software to automate test logic insertion, timing analysis, vector generation and validation. Continual optimization of production test cost and quality.
Requirements:
MS or PhD with focus in DFT.
In-depth knowledge of techniques for the automated testing of complex semiconductors, including JTAG, BIST, and ATPG.
Programming skills in C++ and Perl5.
CUDA HPC DEVTECH ENGINEER (Santa Clara, Ca) NVIDIA is searching for world-class software engineers for an exciting role in Developer Technology. Work on top High-Performance Computing applications, on cutting-edge computational systems, with developers throughout the world. Interact closely with the architecture and software teams at NVIDIA to ensure the best possible performance and results. Work to help influence the developer experience with current-generation hardware as well as determine trends and features for next-generation architectures.
You will work on paralleling software algorithms for HPC applications used in a variety of industries and fields including oil & gas, computational fluid dynamics, computational finance, computer-aided engineering, research, etc.
An important part of this role is to support, evangelize, and influence the use of NVIDIA GPUs in general purpose computing technologies to developers. You will develop and implement new data-parallel algorithms and systems, create technical demos, write whitepapers, and present your work at conferences. Through collaboration with external software developers, you will help to optimize their products using NVIDIA technology.
Minimum Requirements:
BSCS/MSCS, Mathematical or equivalent
Minimum 3 years of industry or academic experience (or equivalent) in a related field.
Strong knowledge of C/C++ and programming techniques
Strong mathematical fundamentals, including linear algebra and numerical methods.
Travel for on-site visits with developers and to conferences will be required. Good communication skills required.
Ideal candidates will have experience with parallel programming, especially data-parallel and/or GPU.
Experience with OpenMP, MPI, Fortran, and parallel programming is a plus
Experience with CUDA, DirectX, or OpenGL is a plus.
Experience in benchmarking is a plus.
Familiar with CPU System architecture and OS fundamentals.