Senior Software Engineer, CAD Interoperability
About The Role
We're looking for a Senior Software Engineer, CAD Interoperability, who can help build the systems that convert native and proprietary CAD formats into Zoo's KCL, our new programming language for 3D design. You'll work at the intersection of CAD data extraction, geometry processing, and code generation, turning models from third-party CAD systems into structured KCL representations. This role is for someone who enjoys digging into complex CAD systems, working with CAD SDKs and APIs, and building robust import pipelines that preserve model structure and design intent as much as possible.
What You’ll Do
Design, implement, and maintain import pipelines that convert native and proprietary CAD formats into Zoo's KCL.
Build systems for extracting feature information from CAD files and applications, including sketches, dimensions, constraints, parameters, feature trees, assemblies, metadata, PMI, and related design intent.
Develop extractors using native CAD application APIs and toolkits where interoperability SDKs are insufficient.
Translate extracted CAD structure, geometry, parameters, and feature information into KCL that faithfully represents the original model.
Build validation, testing, and comparison tools to measure conversion quality across geometry, topology, feature information, assemblies, and generated KCL output.
Handle edge cases across proprietary formats, CAD versions, modeling kernels, malformed files, incomplete metadata, and inconsistent vendor API behavior.
Collaborate with the file format, modeling, and product teams to improve Zoo's CAD import experience and expand support for real-world customer files.
What You’ll Need
B.S. in Computer Science, Mechanical Engineering, or a related field, or equivalent experience.
Strong professional experience in software engineering, ideally involving CAD, geometry, file formats, code generation, or data extraction systems.
Experience working with complex technical data formats, application APIs, SDKs, or translation pipelines.
Proficiency in a systems programming language such as Rust or C++, with comfort working across language boundaries and vendor SDKs.
Experience building automated tests, validation tools, and debugging workflows for complex technical systems.
Ability to work autonomously, investigate unfamiliar systems, and make pragmatic technical decisions in a fast-moving environment.
Nice to Have
Strong understanding of CAD model structure, including parts, assemblies, sketches, constraints, dimensions, features, parameters, B-rep geometry, and tessellated representations.
Experience with CAD interoperability SDKs such as HOOPS Exchange, CoreTechnologie 3D_Kernel_IO, Open Design Alliance, CAD Exchanger, Datakit, or similar tools.
Experience with native CAD APIs such as SOLIDWORKS API, Creo TOOLKIT, NX Open, CATIA CAA/API, Inventor API, or similar.
Experience with STEP, IGES, Parasolid, ACIS, JT, glTF, STL, or other CAD and 3D exchange formats.
Experience generating structured source code from model data, especially for DSLs or domain-specific modeling languages.
Familiarity with KCL or other programmatic CAD workflows.
The salary range for this role is provided below. The final offer will depend on multiple factors including candidate experience, skills, expertise, and market data. Compensation may vary by geography. In addition to salary, we offer competitive equity as well as a full benefits package which may vary by geography as well.
Salary Range
$145,000—$195,000 USD