Careers Contact
Research Boston / Novi Sad / Remote Full-time

ML Research Engineer.

Train differentiable models that discover exact discrete programs and circuits from examples, not approximations.

Apply All open roles
§ 00About

Learn exact programs, not approximate functions.

We train models that learn the exact discrete program behind a set of examples, until the model itself converges into an exact digital circuit. This is not predictive ML. There is no acceptable error bar. A model that's 99% right is wrong, because the goal is a circuit that computes the function, not one that approximates it. (Mapping that converged circuit onto real FPGA fabric is the compiler team's job; you get it to converge.)

You'll work where deep learning, program synthesis, and logic meet: differentiable relaxations of discrete program search, optimization methods that drive a soft model toward a hard one (hardening, sparsification, generalization), and recurrent or stateful architectures that learn exact update rules and collapse cleanly into discrete logic.

The research question is sharp and wide open: can a network be trained until it doesn't approximate a circuit, but becomes one?

§ 01Scope

What you'll do.

  • Design sharp experiments and run rigorous ablations.
  • Diagnose whether failures come from architecture, objective, optimization, or data generation.
  • Build minimal tasks that isolate missing primitives or missing inductive bias.
  • Implement new training methods for discrete and near-discrete models.
  • Analyze soft-vs-hard mismatches and propose ways to close them.
  • Shape architectures that are both trainable and that collapse into exact, discrete logic.
  • Maintain a high-quality experimental codebase in PyTorch.
§ 02Fit

What you'll bring.

  • Strong PyTorch and practical deep learning engineering.
  • Strong grasp of optimization, gradient flow, and training instability.
  • Strong experimental discipline: clean baselines, controlled ablations, reproducibility, and reading negative results honestly.
  • A bias toward small, decisive experiments over big, inconclusive ones.
  • Strong coding in Python, and comfort reading lower-level code when needed.
§ 03Nice to have

Bonus points.

  • Neural program synthesis or algorithmic reasoning.
  • Formalizing problems as search over discrete structures.
  • A feel for when reaching zero training loss really means the model has collapsed into an exact circuit, not a soft approximation that only looks discrete.
  • Designing synthetic tasks and curricula.
  • Sequence models, recurrent state, or memory-based models.
  • SAT/SMT, combinatorial optimization, or search.
  • Logic synthesis, circuits, compilers, or PL.
  • Differentiable relaxation methods for structured prediction.
  • A screenshot of your Factorio megabase
§ 04Apply

Send us your CV.

Email your CV with the subject line "ML Research Engineer Application," plus a couple of lines on what you'd want to work on. We review applications on a rolling basis and aim to reply within a week.

BoolSi is an equal opportunity employer. All qualified applicants will receive consideration without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.