[Remote] Senior Software Engineer - Machine Learning
Note: The job is a remote job and is open to candidates in USA. Ocient runs machine learning where the data lives. They are hiring a Senior Software Engineer to help build and implement new model types, close feature gaps, and improve performance at scale for in-database machine learning.
Responsibilities
- Framework parity and behavioral correctness. Help close feature and semantic gaps against scikit-learn and Spark ML across the model catalog so our models behave the way users coming from those frameworks expect
- New model types and capabilities. Expand the model catalog across classification, regression, time series, and automated model selection, including loss functions and objectives we don't support today
- Performance at scale. Make training and inference fast on datasets that don't fit anywhere else. Approximate nearest-neighbor acceleration, distributed optimizer tuning, and algorithmic work on the hot paths
- Numerical and linear-algebra foundations. Help expand the SQL-level linear algebra surface (SVD, eigenvalues, matrix inverse and solve, sparse matrices) and spectral transforms, the substrate under PCS, regression, and optimization
- Architecture. Our models are compiled into the query plan and execute as a native part of it, rather than running in a separate ML runtime. You'll work inside that architecture and help improve it
- Collaboration and craft. Write clear design docs, tests, and documentation; investigate issues where behavior diverges from user expectations; and partner with Product, architects, and customer-facing teams to identify gaps before customers hit them
Skills
- 5+ years building production software systems, including solid experience in C++ (or comparable systems-level work in Java/Scala with a willingness to work primarily in C++)
- Hands-on experience implementing or integrating machine learning models in production. You have written the training loop, not just called into a library
- Working knowledge of numerical methods: gradient-based optimization, loss functions and their gradients, numerical stability, feature scaling, convergence behavior
- Familiarity with scikit-learn, Spark ML, XGBoost, or comparable frameworks, and awareness of where their defaults and semantics matter
- Strong instincts around correctness, edge cases, and behavioral consistency – and the discipline to encode them in tests and documentation
- Ability to work across teams and codebases and turn ambiguous requirements into concrete solutions
- Experience comparing or validating model behavior across multiple ML frameworks
- Experience with large-scale data systems, analytical databases, query planners, or distributed execution engines
- Exposure to optimization (LP/QP/SOCP), spectral methods (FFT/DCT/DWT), causal inference, or probabilistic modeling for the in-database research surface we are building next
- Experience with automatic differentiation or symbolic gradient generation
- Familiarity with SQL internals like AST manipulation, expression rewriting, or planner integration
Company Overview