C

Cadence Design Systems

Develops EDA software, IP, verification tools

Lead Software Engineer - Framework

Desktop Application DevelopmentConfirmed live in the last 24 hours
Full-timeShanghai, ChinaNo salary listedIn-person

About the Job

Requirements

  • A Bachelor's or Master's degree in Computer Science, Mechanical Engineering, Computational Engineering, Computer-Aided Engineering, Applied Mathematics, or a related engineering discipline.
  • At least 10 years of software engineering experience delivering commercial or enterprise desktop applications.
  • Strong experience 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 SciChart, Gigasoft, or equivalent 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.
  • Strong proficiency in C++ and C# for framework-level desktop application development.
  • Experience designing reusable UI Framework and Application Framework components, including application shell services, command systems, layout managers, docking frameworks, property grids, toolbars, menus, dialogs, view models, and shared UI infrastructure.
  • Hands-on experience with charting and plotting frameworks, including SciChart, Gigasoft, or comparable commercial or open-source charting components.
  • Strong understanding of desktop UI patterns, asynchronous programming, threading models, event-driven architecture, data binding, rendering/update cycles, and responsive UI design.
  • Experience with WPF, WinForms, Qt, Avalonia, or equivalent desktop UI frameworks.
  • Strong debugging skills using tools such as Visual Studio Debugger, WinDbg, GDB, LLDB, crash dump analysis, stack traces, logging frameworks, and diagnostic instrumentation.
  • Experience with memory, performance, and concurrency diagnostics using tools such as Valgrind, AddressSanitizer, ThreadSanitizer, Intel VTune, Windows Performance Analyzer, Linux perf, and similar profiling tools.
  • Familiarity with automated testing strategies for framework components, including unit testing, integration testing, UI automation, regression testing, and API compatibility validation.

Responsibilities

  • Design and develop reusable UI Framework and Application Framework capabilities for engineering desktop applications, ensuring scalability, maintainability, responsiveness, and 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 SciChart, Gigasoft, or equivalent technologies.
  • Lead framework design reviews, feasibility analysis, risk assessment, debugging, performance optimization, and implementation decisions in alignment with the product architecture.
  • 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, progress, and implementation plans to stakeholders and engineering leadership.

Desired Qualifications

  • Experience in engineering, CAD/CAE, scientific, visualization, or data-intensive software domains.
  • Avalonia experience, especially for modern cross-platform desktop UI development using C# and XAML-style UI patterns.
  • Practical experience using AI-assisted software development tools such as GitHub Copilot, Cursor, or similar tools to improve coding productivity, code review efficiency, documentation, and engineering workflows.
  • Strong communication and collaboration skills.
  • Problem-solving and analytical thinking.
  • Ability to work independently and in a team environment.
  • Strong organizational and time-management skills.

About the Company

Cadence Design Systems

Develops EDA software, IP, verification tools

Cadence Design Systems supplies software, hardware, and IP for electronic design automation (EDA) to help customers create advanced semiconductor chips and electronic systems. Its tools handle system design, verification, digital and analog IC design, and custom flows, while IP such as Tensilica processors and DSP cores can be licensed for integration into customer products. The offerings are delivered as software licenses with maintenance and support, plus IP licensing and occasional hardware-accelerated options. The company differentiates itself with a broad, end-to-end EDA portfolio and close collaboration with industry leaders to streamline the path from concept to silicon, aiming to help customers bring sophisticated silicon and electronics to market faster with lower risk and higher productivity.

Company size
10,001+
Company stage
IPO
Headquarters
San Jose, CA
Founded
1988

Recently Posted Jobs

Explore more opportunities at Cadence Design Systems

See more jobs