Company
Grid
Annual salary
$120k – $220k/yr
Location
Seattle, WA
Listed
31d ago
- Experience:
- 1 to 6 years
- Workplace:
- 5 days in-office in Seattle, WA
- Equity:
- Competitive equity
On-site in Seattle, WA.
Send us your LinkedIn and CV. If your experience fits, we'll introduce you to the recruiter filling this role.
Apply for a referral →The recruiter emails you before anything happens and may suggest other jobs that suit you better.
About this Role
We are looking for a Machine Learning Engineer to own underwriting models at Grid, a Seattle fintech making 40,000 to 50,000 live credit decisions a month on a one to two second latency budget. You will read a user's bank transaction history, score the risk in their behavior, and ship the model that makes the call. Volume is growing fast as Grid scales ad spend, and the team is small enough that one person owns a model from ETL through deployment and monitoring.
What you need
- Models you trained and put into production yourself, not models you consulted on
- Experience with large-scale transaction or behavioral data
- At least one full-time role at a startup or small team
- Python and SQL, with a real training stack (XGBoost, PyTorch, or TensorFlow)
- Fintech underwriting, lending, or fraud experience is a strong plus, not a requirement
- On-site in Seattle five days a week
What will you be doing?
Train and deploy underwriting models that score risk from bank transaction and user behavior data
Own the full path: ETL, feature engineering, training, deployment, monitoring, and the next iteration
Ship live inference that returns a decision inside one to two seconds at growing volume
Work on fraud detection, risk underwriting, and predictive analytics for payouts and repayments
Help set the standard for ML practice at Grid as the team grows
Frequently Asked Questions
How do I apply for the Machine Learning Engineer (US) role at Grid? +
Use the Apply for a referral button on this page to send us your LinkedIn and CV. If your experience fits, we'll introduce you to the recruiter filling this role. They'll email you to check you're interested, then put you forward for this job or others that suit you better. It's free.
What does this Grid role pay? +
The listing gives $120k – $220k/yr.
Is this role remote? +
The listing gives the location as Seattle, WA. 5 days in-office in Seattle, WA.
Interview Prep
Sample questions for a Machine Learning Engineer role, written in-house to help you prepare.
How do you choose between a simpler interpretable model and a more complex model that performs marginally better?
The decision depends on how the model's output is used downstream. If a human needs to act on and justify individual predictions, like in lending or healthcare, interpretability often outweighs a small accuracy gain. If the model feeds an automated system where explainability isn't a hard requirement, I'll take the complexity if the performance gain is meaningful and validated, not just noise.
Explain how you would set up a proper train, validation, and test split for a time series problem.
Random splitting leaks future information into training for time series, so I split chronologically instead, training on the earliest period, validating on the next, and testing on the most recent. Any cross-validation also needs to respect time order, using something like rolling-origin validation, rather than standard k-fold, which would otherwise let the model see the future during validation.
What statistical test would you use to determine if an A/B test result is significant, and what assumptions does it rely on?
For a conversion-rate comparison, a two-proportion z-test or chi-squared test is standard, and it assumes independent observations and a large enough sample size for the normal approximation to hold. If the sample is small or the metric isn't binary, I'd switch to a more appropriate test, since applying the wrong test's assumptions is a common source of false confidence in A/B results.
How do you approach hyperparameter tuning efficiently when the model is expensive to train?
I use a coarse random search first to identify the promising region of the hyperparameter space, since grid search wastes compute on combinations unlikely to matter. From there, Bayesian optimization narrows in on the best configuration with far fewer expensive training runs than an exhaustive search would require, which matters a lot when each run is costly.
Related Roles
Browse all startup roles
Salaried roles at startups, AI companies and established businesses, all filled by referral. One application covers every role.
View all startup roles →