Sr Principal Design Engineer
SHANGHAIFull-timePosted Aug 1, 2026
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
Joining our Palladium and Protium solution team, work with a group of advanced interface and memory protocol experts. In this role, you will design and develop low-level device drivers alongside robust GUI-based tools used for system configuration, validation, and real-time debugging.
You will work at the hardware-software boundary, focusing on software development, collaborating closely with hardware teams to bring advanced silicon architectures to life and enable seamless customer experiences.
Key Responsibilities
- Driver & Interface Development: Design, develop, and optimize software device drivers for high-speed hardware interfaces (such as PCIe and CXL) on Linux and/or Windows platforms.
- GUI & Tooling Architecture: Build, enhance, and maintain intuitive GUI-based software tools for device configuration, real-time telemetry monitoring, validation, and advanced debugging.
- Hardware-Software Integration: Partner closely with hardware engineers to analyze register maps, master complex communication protocols, and translate system requirements into high-performance software.
- System-Level Functionality: Implement critical low-level features including device enumeration, configuration handling, interrupt processing, DMA functionality, and hardware-to-GUI control loops.
- Automation & Validation: Architect automation frameworks and test utilities to accelerate hardware bring-up, streamline regression testing, and support field debugging.
- Root-Cause Debugging: Triage and resolve complex, systemic issues across the hardware/software boundary, optimizing driver behavior, protocol compliance, and overall system stability.
- Cross-Functional Collaboration: Partner with engineering and customer enablement teams to drive product bring-up, analyze field issues, and deliver top-tier support.
Required Qualifications
- Education: 10+ years of industry experience, BS degree Computer Science/Engineering, Electrical, Engineering, or related field
- Core Programming: Strong, production-grade programming skills in C/C++.
- Driver Development: Hands-on experience developing device drivers on Linux and/or Windows operating systems.
- Protocol Expertise: Solid, foundational understanding of advanced protocols like PCIE, Ethernet etc.
- System Triage: Proven debugging skills for complex system integration issues spanning both hardware and software layers.
Preferred Qualifications
- Multi-Language Systems: Experience working in multi-language environments combining SystemVerilog (SV), C/C++, and Python.
- GUI Frameworks: Experience with Qt, PyQt, or similar modern GUI development frameworks.
- Automation & Scripting: Proficiency in Python for test automation, validation scripting, or rapid GUI prototyping.
- Advanced Linux Kernel: Deep experience with Linux kernel driver development and memory management.
- User-Mode Access: Familiarity with user-mode hardware access methodologies, including VFIO, UIO, and PCIe BAR mapping.
- Lab Equipment: Experience utilizing hardware debug tools such as protocol analyzers, logic analyzers, and oscilloscopes.
- Innovative Methodologies: Exposure to applying AI/ML techniques to hardware verification, log analysis, or tooling automation.
- Soft Skills: Strong analytical problem-solving skills with the ability to work independently and drive projects to completion in a dynamic team environment.