Job Description
This job was posted over 30 days ago, so it has most likely closed. See newer jobs like it.
Written by AI from the job title and company, not by NVIDIA, so some details may not match this job. The employer's own page has the real description.
Job Overview
As a Senior System Software Engineer focused on Microcontroller Development at NVIDIA, you will be responsible for designing, implementing, and optimizing software systems for state-of-the-art microcontroller platforms. Your role will entail collaborating with cross-functional teams to drive innovative solutions that enhance product performance and functionality. You will leverage your expertise to tackle complex engineering challenges in embedded systems, ensuring the software meets the highest standards of quality and efficiency.
Job Responsibilities
- Design, develop, and maintain system software for microcontroller units, ensuring robust performance.
- Collaborate with hardware engineers to optimize software-hardware integration for various applications.
- Conduct code reviews and implement best practices for software development and testing.
- Debug and troubleshoot software issues in complex embedded systems.
- Perform performance analysis and optimization of existing software to enhance efficiency.
- Participate in the development of software architecture and design documentation.
- Stay updated with trends and technologies in the field of embedded systems and microcontrollers.
Qualifications
- Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- 5+ years of experience in embedded software development, specifically with microcontroller architectures.
- Proficiency in programming languages such as C/C++, and experience with assembly language is a plus.
- Strong knowledge of real-time operating systems and embedded software architectures.
- Experience with debugging tools and techniques for embedded systems.
- Understanding of hardware design and interfacing, including I2C, SPI, and UART protocols.
- Excellent problem-solving skills and the ability to work collaboratively in a team environment.
Technologies & Tools
The Senior System Software Engineer role involves working with a range of technologies and tools including but not limited to C/C++, real-time operating systems, embedded development environments, and debugging tools such as GDB and JTAG. Familiarity with version control systems like Git, as well as simulation tools for embedded systems, is essential. Knowledge of microcontroller families such as ARM Cortex-M, PIC, or AVR will be beneficial, along with experience using scripting languages for automation (e.g., Python).
Ideal Candidates
The ideal candidate for this position will possess a strong analytical mindset and a passion for embedded systems engineering. They should demonstrate a proactive approach to problem-solving, with a keen attention to detail and the ability to work effectively under pressure. Effective communication skills are essential to facilitate collaboration with team members across diverse technical disciplines. A drive for innovation and a commitment to maintaining high-quality standards in software development will further distinguish successful candidates.
Unemployment does not last the same number of weeks everywhere. In Idaho it is paid for 10 to 26 weeks, depending on your wages and the state's unemployment rate. How it works there →
View Similar Jobs
Similar jobs which you may be interested in. Typically using your existing skillset.