Back to all jobs
C

Principal Software Engineer (Postprocessing)

Cadence

HOME CHINA · cn 22h ago

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 Principal Software Engineer with deep expertise in CAE post-processing to provide technical leadership for MSC Apex and related simulation results workflows. This role is responsible for designing, developing, and guiding capabilities for result import, result case management, scalar/vector/tensor visualization, contouring, XY plotting, animation, result probing, derived calculations, min/max extraction, result comparison, reporting, and automated post-processing of large-scale engineering simulation data. The successful candidate will act as a senior individual contributor and technical authority, partnering across engineering, architecture, QA, and product teams to deliver accurate, scalable, performant, and maintainable post-processing solutions aligned with customer engineering workflows. Key Responsibilities • Architect, design, and develop CAE post-processing capabilities for engineering simulation products, ensuring accurate result interpretation, interactive performance, scalability, robustness, and maintainability. • Provide technical leadership for result readers, result data models, result case/load step/time step management, contour plots, XY plotting, animations, result probing, derived result calculations, reporting, and solver-specific result interpretation. • 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 post-processing architecture, results data models, solver output handling, visualization patterns, numerical validation, regression testing, design quality, and engineering best practices. • Investigate complex result interpretation issues, visualization defects, plotting errors, data synchronization problems, performance bottlenecks, and customer-reported post-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 results, post-processing, visualization, or scientific computing domains. • Deep expertise in CAE post-processing workflows, including result import, result case management, scalar/vector/tensor handling, contouring, XY plotting, animation, result probing, derived calculations, result comparison, report generation, and solver-specific result interpretation. • Deep understanding of CAE results data structures, result cases, load steps, time steps, modes, scalar/vector/tensor data, coordinate systems, units, result transformations, and result metadata. • Hands-on experience implementing workflows for contouring, XY plotting, animations, result probing, min/max extraction, derived result calculations, result comparison, report generation, and automated post-processing. • Strong background in C++ software development for large-scale engineering, scientific, CAE, graphics, visualization, or data-intensive desktop applications. • Experience designing and implementing post-processing services, result readers, result databases or data models, plotting frameworks, contouring workflows, animation workflows, report generation pipelines, and production-quality simulation results components. • Working knowledge of solver output formats, transient and frequency-domain results, scalar/vector/tensor result handling, result transformations, units, coordinate systems, and customer-driven usability requirements. • Experience with CAE products or simulation platforms such as MSC Apex, Patran, Adams, Nastran, Marc, Abaqus, ANSYS, HyperWorks, ParaView, Tecplot, or equivalent technologies. • Experience optimizing post-processing operations for performance, memory usage, scalability, responsiveness, and interactive visualization of large simulation result datasets. • 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 post-processing, simulation result handling, solver output interpretation, plotting, visualization, or scientific computing applications. • Required expertise in VTK and related visualization technologies, with practical experience applying rendering pipelines, actors/entities, scene graphs, cameras, picking/selection, overlays, and interaction models to CAE post-processing workflows. • Strong understanding of 3D graphics fundamentals, including transformations, coordinate systems, mesh topology, level of detail, culling, clipping, transparency, texture mapping, shader concepts, GPU memory usage, and frame-rate optimization. • Experience diagnosing graphics issues across Windows and Linux environments, including driver/runtime differences, GPU compatibility problems, rendering artifacts, memory leaks, crashes, and performance bottlenecks. • Hands-on development experience on both Windows and Linux platforms, including platform-specific debugging, build, deployment, graphics/runtime diagnostics, and performance analysis. • 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, graphics, and concurrency diagnostics using tools such as Valgrind, AddressSanitizer, ThreadSanitizer, UndefinedBehaviorSanitizer, Intel VTune, Windows Performance Analyzer, Linux perf, GPU/graphics profilers, and similar profiling tools. • Familiarity with automated testing strategies for post-processing workflows using Python, including regression tests, numerical result validation, visualization baselines, solver result comparison, benchmark models, and customer model 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.

Similar open jobs