Vinci combines a foundation model for physics with GPU-native solvers to deliver unprecedented simulation speed and accuracy. There’s no meshing, no approximations, and customer data is not required to train the model: it simply works out of the box. Vinci enables engineers to run thousands of simulations seamlessly, transforming how complex physical systems are designed and optimized.
Requirements
- Strong production experience in modern C++ (C++14+) including templates, RAII, move semantics, and modern idioms.
- Proven experience implementing non-trivial application logic (parsers, algorithms, data structures), not just micro-optimizations.
- Deep understanding of Linux internals: processes, threads, scheduling, signals, memory management, and syscalls.
- Expertise in concurrency: threads, mutexes, atomics, memory model, condition variables, and designing safe concurrent systems.
- Hands-on experience with debugging and profiling tools (perf, gdb, sanitizers, profilers).
- Experience working in large-scale codebases: modular design, safe refactors, cross-module interfaces, and collaborative development.
- Familiarity with EDA/layout file formats (OAS, GDS, ECXML, STL, STEP) and domain XML schemas.
Responsibilities
- Implement and maintain production C++ application code (C++14/17/20) across parsing, simulation, and inference pipelines.
- Build robust file parsers and import pipelines for formats such as OAS, GDS, ECXML, STL, STEP, and other domain formats used in hardware/layout tooling.
- Design and implement algorithms and data structures for large datasets: streaming parsing, memory-efficient representations, and zero-copy APIs where appropriate.
- Improve inference and simulation performance end-to-end: profiling, algorithmic improvements, vectorization, multi-threading, and selective use of accelerators.
- Architect and implement distributed execution of simulation/compute workloads that can scale across many CPUs and hosts — job partitioning, scheduling, fault tolerance, and results aggregation — ensuring the work integrates cleanly with application-level APIs.
- Integrate native C++ components with higher-level services (Python bindings, gRPC APIs, protobufs) so features are consumable by customers and downstream systems.
- Own the full lifecycle of features: design, implementation, testing, CI/CD, packaging, documentation, and production rollout.
Other
- Minimum 5+ years professional software engineering experience, with a strong focus on C++.
- Strong engineering discipline: testing, CI/CD, clear documentation, and reliable release practices.
- Excellent communication skills and demonstrated ownership of end-to-end features.
- Collaborate with product and customer success teams to ensure features meet customer needs and are easy to consume.
- Engineers who take ownership, ship features that customers can use, and follow through on operational responsibilities.