Senior System Software Engineer developing Microcontroller Firmware for GPU Server platforms at NVIDIA. Focusing on building and maintaining server manageability and embedded solutions.
Responsibilities
Design and implement Microcontroller Firmware for GPU Server platforms, focusing on but not limited to ARM M-class microcontrollers.
Develop C/C++ server manageability features in an RTOS embedded-optimized environment.
Perform hands-on work with microcontroller firmware bring-up, debugging, performance analysis, and coding manageability features for NVIDIA’s Server platforms.
Develop embedded management software to enable reporting and connectivity between server management devices.
Implement register-based communication and DMTF standard messaging protocols for seamless interaction between BMC, GPUs, switches, memory, I/O expanders, sensors, and local microcontroller peripherals.
Design a highly portable microcontroller framework that will be implemented across a wide variety of server management subsystems.
Develop and review code, write and review design documents, and collaborate with team members to meet product requirements.
Instrument code for maximum coverage, automate unit tests, maintain detailed test case reports, and provide software quality reports based on static analysis, code coverage, and microcontroller load.
Collaborate with security and hardware teams to ensure code aligns with security goals and influence hardware design and architecture review.
Develop performance-optimized active monitoring BMC solutions using DMTF Standards such as MCTP, Redfish, SPDM, and PLDM specifications.
Requirements
A Bachelor of Science Degree (or higher) in Electrical Engineering or Computer Science or equivalent experience.
12+ years of experience in low level microcontroller Firmware development on embedded microcontrollers using Zephyr or FreeRTOS.
Demonstrated experience in developing BMC and/or microcontroller firmware for managing CPU, GPU, Network and Storage Devices.
Experience with the following embedded interfaces - USB and I3C.
Sound experience working with ARM Integrated Development Environments (IDE), debuggers, logic and protocol analyzers, and oscilloscopes.
A deep understanding of interrupt schemes, multi-threading, DMA, memory management, and working in resource restricted embedded environments.
Strong embedded programming and scripting skills using C/C++, Bash, Python, Go, etc.
Experience reviewing and using hardware schematics, reference manuals, and datasheets for embedded development.
Expertise working with server manageability protocols such as MCTP, PLDM, SPDM, SMBUS, and OCP recovery.
Solid understanding of Linux fundamentals, various distributions, packages, upgrade mechanisms, and image building/deployment.
Benefits
equity
benefits
Job title
Senior System Software Engineer – Platform, Server, Embedded Firmware
Software Engineering Intern at Intapp working on AI - powered solutions and web applications. Collaborate with engineers, gain mentorship, and learn best practices in a hybrid environment.
Software Engineer Intern developing AI - powered solutions and collaborating within Scrum teams at Intapp. Focusing on web applications for leading professional service firms.
Principal Software Engineer at Clari + Salesloft focused on AI - driven revenue systems and application architecture. Collaborating with teams to innovate and enhance enterprise - grade applications.
Senior Software Developer Engineer leading AI compliance automation for Adobe’s Technology GRC group. Collaborating on innovative solutions and improving compliance reporting tools with AI technologies.
Lead Engineer managing internal QA platform for SaaS upgrades at Charles River Development. Collaborate with teams to troubleshoot issues, automate processes, and support platform transitions.
Staff Engineer - Mobile Platform at Blue Yonder, transforming supply chain intelligence with cross - platform mobile solutions. Design, build, and maintain mobile applications leveraging React Native and strong technical leadership.
Full Stack Developer creating web applications and visualising data for Vidoori. Collaborating with cross - functional teams to design and implement scalable and maintainable solutions.
Jira Tech Lead transforming business requirements into scalable solutions for Raiffeisen Bank. Leading technical improvements and handling Jira environment complexities.
Senior Engineer at Deutsche Bank designing scalable, resilient Java - based banking solutions. Leading engineering best practices and mentoring developers in a hybrid working environment.