Principal Software Engineer; Framework
Listed on 2026-10-17
-
Software Development
Software Architect, Software Engineer, Senior Developer, Full Stack Developer
HOME CHINA
SHANGHAI
Full time
R56777
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology. Position Summary We are seeking a Principal Software Engineer with deep expertise in UI Framework, Application Framework, and reusable desktop application infrastructure to provide technical leadership for MSC Apex and related engineering software platforms. This role is responsible for designing, developing, and guiding framework-level capabilities including application architecture, UI composition, component integration, charting and plotting frameworks, performance, extensibility, reliability, and developer productivity.
The successful candidate will act as a senior individual contributor and technical authority, partnering across product, architecture, and engineering teams to deliver robust framework components.
- Architect, design, and develop reusable UI Framework and Application Framework capabilities for engineering desktop applications, ensuring scalability, maintainability, responsiveness, and long-term extensibility.
- Provide technical leadership for application shell architecture, UI composition, command frameworks, docking/layout systems, state management, data binding, component integration, and framework service layers.
- Design and guide implementation of charting and plotting components, including integration or customization of commercial charting libraries such as Sci Chart, Gigasoft, or equivalent technologies.
- Serve as a senior technical authority for framework design reviews, feasibility analysis, risk assessment, debugging, performance optimization, and long-term architecture decisions.
- Collaborate with product management, architecture, QA, program management, and engineering teams to translate product workflow needs into reusable framework capabilities.
- Guide and mentor engineers on framework architecture, UI patterns, C++ and C# design practices, component ownership, testing strategy, and engineering best practices.
- Contribute to technical roadmaps and communicate design tradeoffs, technical risks, and implementation plans clearly to stakeholders and leadership.
Bachelor’s or Master’s degree in Computer Science, Mechanical Engineering, Computational Engineering, Computer-Aided Engineering, Applied Mathematics, or a related engineering discipline.
Experience- 12+ years of software engineering experience delivering commercial or enterprise desktop applications, preferably in engineering, CAD/CAE, scientific, visualization, or data-intensive software domains.
- Deep expertise in UI Framework and Application Framework architecture, including reusable component design, application shell design, command frameworks, layout/docking systems, UI state management, and extensible framework services.
- Strong hands‑on experience with C++ and C# in large-scale, production-quality desktop application development.
- Experience designing and implementing framework-level components that support multiple product workflows, teams, and application modules.
- Experience with charting, plotting, or data visualization components, including commercial libraries such as Sci Chart, Gigasoft, or equivalent charting technologies.
- Strong background in UI architecture patterns such as MVVM, MVC, MVP, data binding, event routing, command patterns, dependency injection, and modular application design.
- Experience diagnosing UI responsiveness issues, memory leaks, threading problems, rendering defects, framework integration issues, and performance bottlenecks in complex desktop applications.
- Experience with Windows desktop application development and cross‑platform UI considerations.
- Avalonia experience is a significant plus,…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).