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…