Skip to main content

Member of the Technical Staff - Machine Learning

Two Dots
San Francisco HQ
Full Time
Compensation
$350,000–$400,000/year

Job Description

Company Mission / Why This Matters

Two Dots builds verification and risk infrastructure for housing to help solve the housing crisis.

Housing is too expensive because America created a single family mortgage machine to cut average people into home price inflation fueled by soft bans on new development. That worked for many decades, but when a small single family home costs several million dollars, it stops being an engine of opportunity and becomes a source of the very resentment modern mortgages were originally created to solve.

Housing supply has been restricted so much that people have started fabricating documentation or relying on bypasses and overrides to sign up for a payment they can’t really afford. That conceals the problem instead of solving it.

We believe that public and private policy has to change, and that involves breaking the system that conceals our affordability crisis and leaves people without the disposable income required to live satisfying lives, fueling resentment and political instability that turns problems at home into problems for the world.

The Role

Two Dots is hiring a Machine Learning Engineer for a low-headcount, high-impact role focused on technically difficult applied ML problems in housing verification, underwriting, fraud detection, and document understanding.

This is not a research role, although the right person has the depth to develop models from scratch end-to-end. Some of the problems we are facing are genuinely hard: detecting whether a PDF was forged or edited, inferring latent financial profiles from messy payment data, extracting information from noisy documents with very high reliability, and solving chatbot or agent quality problems that big foundation models do not solve out of the box.

They should be math literate, comfortable with PyTorch, evaluation, model deployment, quality management, metrics-driven evaluation, and data warehouse-oriented SQL such as BigQuery.

What You’ll Work On

  • Document forensics and detecting fraudulent or edited PDFs
  • Cash flow underwriting: inferring a latent financial profile from paystubs, bank statements, business data, or other payment data
  • Extracting information from unstructured or noisy sources with very high reliability
  • Solving chatbot and agent quality problems that are too hard for others to solve
  • Developing models, evaluation systems, and quality management processes from scratch
  • Creating broad-based, systemic improvements in ML, LLM, and agent performance
  • Educating the team on how to evaluate ML pipelines and workflows, including workflows that involve prompting foundation models

The Team

Henson (CEO) started his career selling FX derivatives to hedge funds at Goldman, then worked at a real estate tech startup for several years leading sales. This enables him to engage with the largest institutional property managers and real estate investors in the country and create value through those relationships.

Max (CTO) started out as a software engineer at Blend, a mortgage application company that went public, and went on to work on the search team at Google. That combination of specific consumer fintech experience and knowledge of how sophisticated ML products succeed in production made big enterprise deals work from day 1.

We met in middle school and created a media website together where people could watch and post their flash games and animations. We learned to code, source talent, and forge partnerships - and had 500 active users. Although a tragic addiction to World of Warcraft interrupted work on the website, we got back together to start Two Dots.

Other team members include: Meta ML alumnus with decades of experience, a 21 year old UMich grad who was a top 2,000 LoL player (he is no longer playing the game, thank god), and a former agave farmer who started a shipping and logistics company while at Stanford.

What We’re Looking For

You should be able to take an ambiguous problem, like PDF fraud detection, and turn it into a reasonable technical plan without needing a well-defined box. You should understand the company strategy well enough to know what is more and less likely to be valuable in ML without escalating every decision or planning process to the most senior levels of management.

You should have a strong command of:

  • Tensors, PyTorch, training loops, and model deployment
  • Metrics-driven evaluation and rigorous quality management
  • Statistics, regularization, overfitting, training schedules, and GPU memory management
  • Computer vision, NLP, and multimodal understanding problems
  • Data warehouse-oriented SQL, especially BigQuery
  • Explore-vs-exploit tradeoffs in applied ML work

You should be interested in the company mission through a technical lens: consumer underwriting, document understanding, fraud detection, multimodal understanding, and systems that reveal rather than conceal the real affordability crisis in housing.

Despite the more cerebral nature of the role, this is an applied and impact-focused position. The work requires patience with exploration, but also the judgment to know when a good-enough solution under time pressure is better than searching for a global optimum.


Interview Process

  1. ML phone screen
    If you do not know how PyTorch, training, and evaluation work, and cannot talk about real modeling work you have done, we will filter you out at this stage.
  2. Behavioral interview
    We will assess whether you are actually interested in working at a startup, whether you can deal with ambiguity, and whether you are more of a pure researcher than an applied builder.
  3. ML foundations interview
    We will test rigorous knowledge of math, statistics, ML foundations, metrics and evaluation, tensors, regularization, overfitting, training schedules, and GPU memory management.
  4. Ambiguous problem design
    We will ask you to convert a hard, ambiguous problem into a reasonable plan.
  5. Explore-vs-exploit judgment
    We will construct a scenario where you need to choose a good-enough solution under time pressure instead of searching for a global optimum.

Optimize Your Resume for This Job

Get a match score and see exactly which keywords you're missing

Optimize Resume

Job Details

Category
Software
Employment Type
Full Time
Location
San Francisco HQ
Posted
Last updated
May 28, 2026, 09:40 PM
Compensation
$350,000 - $400,000 per year

About Two Dots

AI fraud prevention and underwriting agent

Found this role interesting?

Member of the Technical Staff - Machine Learning
Two Dots
Apply