Cadence Design Systems

Principal Software Engineer (Framework)

Cadence Design Systems
Apply
3 days ago
Remote, China or Shanghai, ChinaStaff+

Responsibilities

  • Architect, design, and develop reusable UI Framework and Application Framework capabilities for engineering desktop applications.
  • Provide technical leadership for application shell architecture, UI composition, command frameworks, docking and layout systems, state management, data binding, component integration, and framework service layers.
  • Design and guide charting and plotting components using technologies such as SciChart, Gigasoft, or equivalent libraries.
  • Lead 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 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 practices.
  • Contribute to technical roadmaps and communicate design tradeoffs, risks, and implementation plans.
  • Diagnose responsiveness issues, memory leaks, threading problems, rendering defects, integration issues, and performance bottlenecks in complex desktop applications.

Requirements

  • Bachelor’s or Master’s degree in Computer Science, Mechanical Engineering, Computational Engineering, Computer-Aided Engineering, Applied Mathematics, or a related engineering discipline.
  • 12+ years of software engineering experience delivering commercial or enterprise desktop applications.
  • Deep expertise in UI Framework and Application Framework architecture, reusable components, application shells, command frameworks, layout and docking systems, UI state management, and extensible framework services.
  • Strong hands-on experience with C++ and C# in large-scale production desktop application development.
  • Experience designing framework components that support multiple product workflows, teams, and application modules.
  • Experience with charting, plotting, or data visualization components and commercial libraries such as SciChart or Gigasoft.
  • Strong knowledge of MVVM, MVC, MVP, data binding, event routing, command patterns, dependency injection, and modular application design.
  • Experience with Windows desktop application development and cross-platform UI considerations.
  • Experience with WPF, WinForms, Qt, Avalonia, or equivalent desktop UI frameworks; Avalonia experience is strongly preferred.
  • Strong debugging and diagnostic skills using debuggers, crash dump analysis, stack traces, logging frameworks, and diagnostic instrumentation.
  • Experience with memory, performance, and concurrency diagnostics and profiling tools.
  • Familiarity with unit testing, integration testing, UI automation, regression testing, and API compatibility validation.
  • Practical experience using AI-assisted software development tools such as GitHub Copilot or Cursor.
  • Strong communication, collaboration, problem-solving, analytical, organizational, and time-management skills.

Tech Stack

C#C++

Categories

Cadence Design Systems

About Cadence Design Systems

10,000+ employees

Cadence Design Systems builds electronic design automation (EDA) software, emulation/acceleration hardware, and reusable IP that help semiconductor and systems companies design, verify, and implement chips and electronic systems. It also develops computational engineering tools, including computational fluid dynamics and molecular modeling for drug discovery. Founded in 1988 and headquartered in San Jose, California, Cadence is a public company listed on NASDAQ under the ticker CDNS.

Contact me