Key responsibilities
Take part in development and optimization of a large neural network-based tabular model implemented in Python
Profile training and inference pipelines to identify performance bottlenecks
Rewrite critical components in Rust (via PyO3 or custom extensions) where Python limits us, with C++ (via PyBind11 or custom extensions) as a secondary option where appropriate
Improve memory efficiency, latency, and throughput across model pipelines
Ensure correctness, numerical stability, and reproducibility as the model evolves
Collaborate with ML researchers on productionizing new capabilities
Maintain clean abstractions, comprehensive tests, and clear documentation
Shape architectural decisions for our ML systems handling tabular data
Must have
Strong software engineering fundamentals with expert-level Python and Rust
Hands-on experience bridging Python and Rust (PyO3, maturin, or custom extensions)
Experience developing and maintaining ML models in production
Strong understanding of neural networks
Track record of optimizing performance-critical code
Strong profiling and debugging skills (CPU, memory, latency)
Nice to have
Experience with tabular ML approaches (transformers, tree/NN hybrids, learned embeddings)
Working proficiency in C++ and experience bridging Python and C++ (PyBind11, Cython, or custom extensions)
Familiarity with PyTorch internals or writing custom ops (Rust or C++)
Experience optimizing training loops, data pipelines, or inference engines
Background in numerical computing or systems programming
Experience with the Rust async ecosystem (tokio) or SIMD/parallelism crates (rayon, ndarray)
Benefits
Competitive compensation with salary and equity
Comprehensive health coverage for you and your dependents
Paid parental leave for all new parents, inclusive of adoptive and surrogate journeys
Relocation support for employees moving to join the team in one of our office locations
A mission-driven, low-ego culture that values diversity of thought, ownership, and bias toward action