C

Cadence Design Systems

Develops EDA software, IP, verification tools

Lead Software Engineer

Software EngineeringConfirmed live in the last 24 hours
Full-timeShanghai, ChinaNo salary listedIn-person

About the Job

Requirements

  • A PhD in Mechanical Engineering, Civil Engineering, Aerospace Engineering, Computational Mechanics, Applied Mathematics, or a related field, or an MS in a related field with at least 2 years of relevant industry or research experience.
  • Strong grounding in continuum mechanics and the finite element method, including weak forms, isoparametric elements, numerical integration, assembly, and the Newton–Raphson method for nonlinear problems.
  • Working knowledge of heat transfer and/or thermomechanical stress analysis, including thermal eigenstrain, coefficient of thermal expansion mismatch, and the behavior of layered structures.
  • Strong C++11 or later skills, including the ability to read and safely extend a large existing codebase and work with pointers, memory ownership, templates, and a debugger.
  • Familiarity with sparse linear algebra and at least one sparse solver or library.
  • Ability to validate work using an analytical solution, a refined mesh, or a patch test.
  • Clear written and spoken English and willingness to work collaboratively, request and provide reviews, and share learning.

Responsibilities

  • Derive, implement, and verify finite-element formulations in production C++.
  • Write unit and regression tests, including verification against analytical solutions and benchmark problems; treat a feature as unfinished until it is tested.
  • Profile and optimize solver and meshing code for large models, including runtime and memory.
  • Debug numerical issues on real customer cases, including non-convergence, mesh quality, ill-conditioning, and accuracy loss.
  • Document formulations, assumptions, and validation results clearly enough for a colleague to reproduce them.
  • Work with application engineers, quality assurance, and product management to deliver features to customers and respond to feedback.

Desired Qualifications

  • Experience developing with a commercial or open-source finite-element analysis code, such as Abaqus, ANSYS, LS-DYNA, COMSOL, Code_Aster, FEniCS, deal.II, or MOOSE.
  • Experience with nonlinear finite-element analysis, including large deformation, contact, plasticity, creep, or viscoplasticity.
  • Parallel programming experience using OpenMP, MPI, or multithreaded C++.
  • Experience with direct and iterative sparse solvers such as MUMPS, PARDISO, SuperLU, hypre/BoomerAMG, or PETSc, and graph partitioning with METIS or ParMETIS.
  • Experience with mesh generation, mesh quality metrics, or computational geometry.
  • Semiconductor packaging or PCB experience, including 3D-IC, high-bandwidth memory stacks, solder reliability, or warpage.
  • Development experience on Windows and Linux, and use of Git or Perforce.

About the Company

Cadence Design Systems

Develops EDA software, IP, verification tools

Cadence Design Systems supplies software, hardware, and IP for electronic design automation (EDA) to help customers create advanced semiconductor chips and electronic systems. Its tools handle system design, verification, digital and analog IC design, and custom flows, while IP such as Tensilica processors and DSP cores can be licensed for integration into customer products. The offerings are delivered as software licenses with maintenance and support, plus IP licensing and occasional hardware-accelerated options. The company differentiates itself with a broad, end-to-end EDA portfolio and close collaboration with industry leaders to streamline the path from concept to silicon, aiming to help customers bring sophisticated silicon and electronics to market faster with lower risk and higher productivity.

Company size
10,001+
Company stage
IPO
Headquarters
San Jose, CA
Founded
1988

Recently Posted Jobs

Explore more opportunities at Cadence Design Systems

See more jobs