Senior Principal Design Engineer

cadence

📍 shanghai china🕐 28d ago🔗 workday

Job Description

**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. **We’re doing work that matters. Help us solve what others can’t.** -------------------------------------------------------------------
Senior Principal Design Engineer at cadence | MergeJobs