Talent · Payments · USA · 6 min read

Product engineer for banking-API integration

Payments startup needed a product engineer with deep banking-API knowledge. We sourced from 1,178 applicants.

Applicants screened
1,178
Shortlisted
6
Time to offer
12 days
Banking integrations
8+
What they needed

The brief.

A US payments-infrastructure startup, post-Series A, needed a product engineer who could own banking-API integrations end-to-end. Their roadmap included eight separate integrations over six months — Plaid for bank account verification, Stripe Treasury for stored balance, Modern Treasury for ACH routing, plus five smaller niche providers. They wanted someone who'd already shipped integrations with at least three of these in production, not someone who would learn on their dime. The role was product-engineer in the truest sense: spec, design, build, ship, and own ongoing maintenance per integration.

Must-haves
  • TypeScript + Node (production at scale)
  • Plaid integration experience (verified)
  • Stripe Connect or Treasury (verified)
  • Modern Treasury or similar ACH provider (bonus)
  • Product-engineer mindset (owns shipping, not just coding)
  • Comfort with banking-API quirks (return codes, retry semantics, reconciliation)
Sourcing & screening

The funnel.

Applicants sourced
1,178
100.0%
AI-scored above 70/100 + banking-API signal
412
35.0%
Resume review by senior recruiter
88
7.5%
Written assignment (banking integration)
30
2.5%
Live coding
14
1.2%
Cultural + product-engineer interview
8
0.7%
Final round (with founders)
6
0.5%
Reference check
3
0.3%
Hired
1
0.1%
Challenge

The problem.

Banking-API integration is one of those skills where the production scars matter more than the codebase familiarity. The APIs themselves (Plaid, Stripe Treasury, Modern Treasury) are well-documented; the challenge is the edge cases that only surface under production load. Account-verification webhooks that arrive out of order. ACH return codes that mean different things at different banks. Reconciliation when the bank's settlement file disagrees with your transaction log. An engineer can pass a generic integration interview but ship code that gets reconciliation wrong by 0.005% — which on a payments-infrastructure product is a regulatory event. Most engineers who claim banking-API experience on their resume have built a Plaid Quickstart and shipped to a sandbox — they've never had the 3am Slack message about a stuck ACH return at month-end. The client had been searching for 8 weeks via internal recruiting and one external agency, with two offer rejections and one ghosted offer. Their CTO was getting frustrated; the eight-integration roadmap was already slipping.

Solution

What we did.

The AI scoring rubric was the most aggressive we've ever shipped: any candidate whose resume mentioned banking integrations got cross-referenced against verifiable employer metadata. If they claimed Plaid experience but worked at a firm without verifiable Plaid in their stack (we maintain a public-stack registry), they were downweighted to near-zero. That filter alone took 1,178 to 412 — most banking-API-mentioning resumes failed the verification step. Senior recruiter screen cut to 88, focused on the 'has been on the 3am stuck-ACH Slack thread' signal that emerges from reference calls more than resumes. 30 of the 88 completed a 4-hour written assignment: design a Plaid-to-Stripe-Treasury integration with proper retry semantics on the bank-account-verification step, including handling for out-of-order webhooks and partial-success scenarios. 14 cleared (most failed on the webhook ordering — they assumed in-order delivery, which is wrong). Live coding (90-minute) cut to 8. The founders ran 90-minute product-engineer final-rounds with the top 6 — explicitly testing judgment calls (what do you ship vs defer? where do you cut scope when the roadmap slips?). The winning candidate (Hyderabad-based, 7 years experience, previously at a Singapore-based payments-infrastructure firm) had shipped eight banking integrations himself and walked through the founders' roadmap with specific concerns flagged on three of the eight — exactly the product-engineer judgment they wanted.

Outcome

What changed.

Offer day 11 at top-of-band. Accepted within 36 hours. Started day 16 with onboarding compressed by pre-provisioning during offer acceptance. The engineer shipped his first integration (the Plaid bank-account-verification flow) to production in week three of the engagement. Over the next 12 weeks he shipped 7 more integrations on schedule — the eight-integration roadmap originally scoped for six months landed in four. Per-integration time fell from a baseline 5 weeks to 1.5 weeks as he established a reusable integration framework (retry semantics, webhook handling, reconciliation patterns) that the rest of the team could use for future integrations. Reconciliation accuracy on production transactions: 99.998% (one mis-reconciled transaction per ~50,000), well within the regulatory tolerance. The engineer is still with the team 12 months in; converted to full-time in month seven with a small equity grant. Client returned for two more roles (a senior data engineer and a Staff frontend) in the following six months.

Process

How we ran it.

01

Brief calibration

Two-hour call with both founders. Mapped the eight banking-API integrations they had on the roadmap, their order, and the production lessons from the two integrations they'd already shipped (so we could test for similar patterns).

02

Aggressive signal filtering

AI scoring downweighted any candidate who hadn't verifiably shipped a banking-API integration in production. The 1,178 applicants became 412 after this filter — most banking-domain candidates work in payments-firm full-time roles, not as freelancers.

03

Written assignment + live coding

30 candidates completed a 4-hour assignment: design a Plaid-to-Stripe-Treasury integration with proper retry semantics on the bank-account-verification step. 14 cleared. Top 8 went to live coding with our senior recruiter.

04

Founders' final + offer

Founders ran 90-minute product-engineer interviews with the top 6 — focused on judgment calls, not algorithms. Offer day 11. Started day 16.

Looking back

What made this work.

For niche domains where production scars matter more than framework familiarity, employer-metadata verification is more reliable than self-reported resume claims. We've built a public-stack registry of firms with verified production usage of major banking APIs — cross-referencing candidate employment against that registry catches 90% of the resume-inflation cases. The second lesson: product-engineer hires need a product-engineer final round, not a coding final round. Asking 'where would you cut scope?' surfaces the judgment that distinguishes shipping engineers from coders — and that judgment is what makes the difference on a roadmap with eight integrations and limited time.

Tech stack

What we built it with.

Banking APIs (verified production experience)
Plaid
Bank account verification, transaction history, balance checks. Engineer had shipped Plaid in production at his previous role.
Stripe Treasury
Stored balance + ACH routing. Engineer had production experience handling Treasury-specific edge cases (frozen funds, KYC holds).
Modern Treasury
ACH origination at scale. Bonus experience that we filtered for — most candidates had Plaid + Stripe but not Modern Treasury.
Required engineering stack
TypeScript + Node.js
Service layer. Engineer screened on production-grade error handling and structured logging.
PostgreSQL
Transaction storage. Engineer needed prior experience with idempotency keys and tamper-evident audit logs.
Redis
Idempotency cache + rate-limiting. Engineer tested on TTL discipline and key-design patterns.
Banking-domain patterns
Webhook handling
Out-of-order delivery, retry semantics, deduplication. Most candidates fail this — assumes in-order delivery.
ACH return codes
Different banks return slightly different codes for similar conditions. Engineer needed exposure to bank-specific quirks.
Reconciliation patterns
Settlement file matching against transaction log. Required understanding of split authorizations, partial captures, reversals.
Vetting
Employer-metadata verification
Cross-referenced claimed banking-API experience against public-stack registry of firms with verified production usage. Filtered out 90% of resume-inflation cases.
Webhook-ordering written assignment
Real Plaid integration scenario with intentional out-of-order webhook traps. Most submissions failed this.
Product-engineer final round
Founders asked 'where would you cut scope?' instead of coding questions. Surfaced judgment signal that distinguishes product engineers from coders.
More cases

Related stories

Fintech · USA
Senior Java engineer placed in 5 days
5x demo conversions post-hire
AI SaaS · USA
Senior full-stack engineer for AI CRM launch
Shipped AI CRM on schedule
Fintech · USA
Frontend ReactJS engineer for fintech contract
High-impact contract delivered