Principal Software Engineer (Preprocessing)

Cadence•Published 15 hours ago•First seen 4 hours ago

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 to provide deep technical leadership in CAE pre-processing for MSC Apex. This role is responsible for designing, developing, and guiding advanced capabilities for model setup, entity management, attributes, materials, properties, connections, loads, boundary conditions, solver deck preparation, validation, and workflow automation. The successful candidate will act as a senior individual contributor and technical authority, partnering across engineering, architecture, QA, and product teams to deliver robust, scalable, and maintainable pre-processing solutions aligned with customer and product needs.
Key Responsibilities
  • Architect, design, and develop advanced CAE pre-processing capabilities for engineering simulation products, ensuring robustness, scalability, performance, and maintainability.
  • Provide technical leadership for model setup workflows, entity organization, materials, properties, loads, boundary conditions, connections, coordinate systems, units, and solver-specific preparation.
  • Serve as a senior technical authority for 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 customer workflow needs into actionable technical solutions.
  • Guide and mentor engineers on CAE data models, solver workflow concepts, design patterns, code quality, testing strategy, and engineering best practices.
  • Investigate complex workflow defects, solver setup issues, validation failures, data consistency problems, performance bottlenecks, and customer-reported pre-processing issues, driving them to resolution.
  • Contribute to technical roadmaps and communicate design tradeoffs, technical risks, and implementation plans clearly to stakeholders and 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
  • 12+ years of software engineering experience delivering commercial or enterprise engineering software, preferably in CAE, simulation, solver workflow, or scientific computing domains.
  • Deep expertise in CAE pre-processing workflows, including model organization, entity management, materials, properties, loads, boundary conditions, connections, contact definitions, coordinate systems, and solver setup.
  • Strong background in C++ software development for large-scale engineering, scientific, CAE, or data-intensive desktop applications.
  • Experience designing and implementing robust data models, workflow services, validation frameworks, solver interfaces, and production-quality software components used in CAE model preparation.
  • Working knowledge of solver input preparation, solver deck generation, model validation, result readiness checks, and customer-driven usability requirements.
  • Experience with CAE products or simulation platforms such as MSC Apex, Patran, Adams, Nastran, Marc, Abaqus, ANSYS, HyperWorks, or equivalent technologies.
  • Ability to guide architecture and implementation decisions while balancing innovation, quality, performance, robustness, maintainability, and delivery commitments.
  • 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++ for high-performance CAE pre-processing, simulation workflow, solver setup, or scientific computing applications.
  • Hands-on development experience on both Windows and Linux platforms, including platform-specific debugging, build, deployment, and runtime diagnostics.
  • Deep understanding of CAE model data structures, entity relationships, attributes, materials, properties, sets, groups, coordinate systems, units, and solver-specific abstractions.
  • Hands-on experience implementing workflows for loads, boundary conditions, constraints, contacts, connections, assemblies, part organization, and solver case definitions.
  • Experience building validation frameworks, dependency checks, data consistency rules, error reporting, and user guidance for simulation model readiness.
  • Strong debugging skills using tools such as Visual Studio Debugger, WinDbg, GDB, LLDB, core dump analysis, crash dump analysis, stack traces, logging frameworks, and diagnostic instrumentation.
  • Experience with memory, performance, and concurrency diagnostics using tools such as Valgrind, AddressSanitizer, ThreadSanitizer, UndefinedBehaviorSanitizer, Intel VTune, Windows Performance Analyzer, Linux perf, and similar profiling tools.
  • Ability to design robust APIs, reusable software components, scalable data services, and extensible workflow frameworks for complex engineering models.
  • Experience optimizing pre-processing operations for performance, memory usage, scalability, and responsiveness in large simulation models and automated workflows.
  • Familiarity with automated testing strategies for CAE workflows, including regression tests, data validation, solver export comparison, benchmark models, and customer model validation.
  • Working knowledge of Python or scripting tools for automation, diagnostics, workflow prototyping, validation, log analysis, and engineering productivity.
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.