## Required qualifications
PhD in Mechanical / Civil / Aerospace Engineering, Computational Mechanics,
Applied Mathematics, or a related field** (new graduates welcome), **or an MS in a
related field with 2+ years of relevant industry or research experience.**
Solid grounding in **continuum mechanics and the finite element method**: 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** —
thermal eigenstrain, CTE mismatch, and the behaviour of layered structures.
Strong C++ (C++11 or later)**: you can read and safely extend a large existing
codebase, not just write greenfield code. Comfortable with pointers, memory
ownership, templates, and a debugger.
Familiarity with **sparse linear algebra** and at least one sparse solver or
library.
Ability to validate your own work: you reach for an analytical solution, a refined
mesh, or a patch test before you claim something is correct.
Clear written and spoken English, and a genuine willingness to work as part of a
team — asking for review, giving it, and sharing what you learn.
## Preferred qualifications
Experience with a commercial or open-source FEA code (Abaqus, ANSYS, LS-DYNA,
COMSOL, Code_Aster, FEniCS, deal.II, MOOSE) — as a developer, not only a user.
Nonlinear FEA: large deformation, contact, plasticity, creep, or viscoplasticity.
Parallel programming: OpenMP, MPI, or multithreaded C++.
Direct and iterative sparse solvers (MUMPS, PARDISO, SuperLU, hypre/BoomerAMG,
PETSc) and graph partitioning (METIS/ParMETIS).
Mesh generation, mesh quality metrics, or computational geometry.
Semiconductor packaging or PCB background: 3D-IC, HBM stacks, solder reliability,
warpage.
Development on Windows, and on Linux; Git or Perforce.
We’re doing work that matters. Help us solve what others can’t.