Open role
Senior Software Engineer - Machine Learning
About Ocient:Ocient is building OcientAIQ™ – a complete ecosystem for delivering trusted agentic AI solutions at petabyte scale, for the organizations that can't afford to get AI wrong. Our customers protect networks, secure nations, and power the global economy. The problems we solve are genuinely hard, and the work matters. Founded in 2016 by the team that built Cleversafe (acquired by IBM in 2015), Ocient is headquartered in Chicago with a remote-first global team. We are a carbon-neutral company backed by leading investors including Greycroft, OCA Ventures, In-Q-Tel, and Buoyant Ventures.
Do not contact Ocient directly to apply for a role. For security purposes, any applications received via email will be deleted.
Job Title: Senior Software Engineer - Machine LearningLocation: 100% Remote (US Based Only)- We cannot sponsor or transfer any visas, of any kind, at this time*
- The salary offered for this position will be based on a candidate’s experience and skill demonstrated during interviews and other evaluations
- 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.
- 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.
- Customers see fewer surprises. Our models behave the way someone coming from scikit-learn or Spark ML expects, and where they differ, the difference is intentional and documented.
- Roadmap items such as ARIMA, quantile regression, AutoML, option parity, land with validated correctness against reference implementations.
- Feature gaps are identified from benchmarks and product analysis early, not discovered under customer pressure.
- You deliver across both parity work and broader ML initiatives, balancing short-term needs with long-term quality.
5+ years building production software, strong C++ or comparable Java/Scala systems experience, production ML model implementation, numerical methods, and familiarity with scikit-learn, Spark ML, or XGBoost.
Key Responsibilities
- implementing models
- tuning optimizers
- writing documentation
Skills & Tools
C++, Java, Scala, scikit-learn, Spark ML, XGBoost, SQL, SVD, FFT, DCT, DWT, ARIMA, AutoML
Job Details
- Category: Software Development
- Seniority: Senior Level
- Commitment: Full Time
- Workplace: Remote — United States
- Salary: USD 165,000 – 190,000 / year
- Languages: English
About Ocient
A technology company building in-database machine learning and analytical database solutions. — Industry: Information Technology