C
Software Engineer II (Meshing)
Cadence
HOME CHINA · cn
23h ago
82%
Strong
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 Software Engineer II to contribute to the development and testing of meshing capabilities for MSC Apex. This is an early-career role suitable for a recent graduate with a master’s degree or a candidate with foundational software engineering experience. Working with guidance from senior engineers, the successful candidate will implement and improve software used in CAE preprocessing, model preparation, surface and volume meshing, mesh quality evaluation, sizing controls, and downstream simulation workflows. The role offers opportunities to build expertise in C++, meshing algorithms, engineering software development, and collaborative product delivery. Key Responsibilities • Design, implement, test, and maintain meshing software features for CAE products under the guidance of experienced engineers. • Contribute to surface meshing, volume meshing, mesh quality improvement, sizing controls, mesh cleanup, and related preprocessing workflows. • Translate clearly defined requirements and technical designs into reliable, maintainable C++ code. • Collaborate with senior engineers, QA, product, and other development teams to deliver features and resolve defects. • Write unit and regression tests, analyze test results, and help improve software quality and coverage. • Investigate meshing defects, quality issues, performance problems, and workflow failures using systematic debugging and diagnostic techniques. • Participate in design discussions, code reviews, agile planning, technical documentation, and continuous improvement of team engineering practices. 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 • Bachelor’s degree with approximately 2–4 years of relevant software engineering experience, or a relevant master’s degree with little to no professional experience. • Foundational understanding of data structures, algorithms, object-oriented design, and software development principles. • Academic or practical experience developing software in C++, preferably for engineering, scientific computing, geometry, graphics, simulation, or related applications. • Exposure to meshing, computational geometry, numerical methods, finite element analysis, or CAE preprocessing through coursework, research, internships, or projects is preferred. • Ability to understand technical requirements, implement well-scoped components, and seek guidance when requirements or technical tradeoffs are unclear. • Familiarity with software debugging, source control, build systems, automated testing, and common development workflows. • Exposure to CAD/CAE products or meshing tools such as MSC Apex, Patran, ANSA, HyperMesh, SimLab, ICEM CFD, Pointwise, Gmsh, or equivalent technologies is beneficial but not required. • Willingness to learn from code reviews, technical mentoring, product feedback, and customer-reported issues. • Familiarity with AI-assisted software development tools such as GitHub Copilot, Cursor, or similar tools for coding, testing, documentation, or learning is preferred. Technical Skills • Working proficiency in C++, including object-oriented programming, standard data structures, memory management concepts, and basic performance considerations. • Foundational knowledge of computational geometry or meshing concepts such as triangulation, surface discretization, volume discretization, and mesh optimization. • Familiarity with mesh quality concepts such as element validity, aspect ratio, skewness, warpage, Jacobian checks, smoothing, refinement, and repair. • Basic understanding of geometry-to-mesh workflows, CAD or boundary-representation inputs, feature preservation, and geometry cleanup dependencies. • Ability to implement and maintain well-defined APIs, reusable components, and data structures with guidance from senior engineers. • Developing debugging and problem-solving skills for identifying software defects, mesh generation failures, and numerical issues. • Familiarity with unit testing, regression testing, version control, code reviews, and continuous integration practices. • Ability to analyze basic performance and memory behavior and apply improvements with technical guidance. • Working knowledge of Python or another scripting language for automation, diagnostics, prototyping, validation, or engineering productivity is preferred. 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.