C
Lead Software Engineer (Framework)
Cadence
HOME CHINA · cn
23h ago
67%
Good
Job description
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 Lead Software Engineer with strong experience in UI Framework, Application Framework, and reusable desktop application infrastructure to provide hands-on technical leadership for MSC Apex and related engineering software platforms. This role is responsible for designing, developing, and coordinating framework-level capabilities including application architecture, UI composition, component integration, charting and plotting frameworks, performance, extensibility, reliability, and developer productivity. The successful candidate will serve as a senior individual contributor, collaborating with product, architecture, and engineering teams to deliver robust framework components and guide implementation within established architectural direction. Key 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 clearly to stakeholders and engineering leadership. Required Qualifications Education • Bachelor’s or Master’s degree in Computer Science, Mechanical Engineering, Computational Engineering, Computer-Aided Engineering, Applied Mathematics, or a related engineering discipline. Experience • 10+ years of software engineering experience delivering commercial or enterprise desktop applications, preferably in engineering, CAD/CAE, scientific, visualization, or data-intensive software domains. • 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 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, 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. Technical Skills • Strong proficiency in C++ and C# for framework-level desktop application development. • Required 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/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; Avalonia experience is strongly preferred. • 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. Soft Skills • 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.N/A We’re doing work that matters. Help us solve what others can’t.