Full Stack Engineer
About Kolo
Kolo builds financial products for businesses: accounts, cards, payments and the tooling around them, as our own products and as white-label platforms for partners.
We build settlement layer between crypto and the real economy: business cards, multi-currency payouts across 40+ countries, and the API that autonomous AI agents will use to spend stablecoins at fiat-only merchants once agent-driven commerce hits scale.
40 people. AI-native end to end. The infrastructure works, unit economics are proven
About the role
The Engineering team builds the systems that move our customers’ money. We are looking for a Senior or Staff Engineer who joins the company rather than a single product and works where the leverage is highest at the time: a new product line, a hard integration, a capability every product needs.
This is a role for someone who starts from the problem, not the tool. You will be given outcomes and a spec that is never finished, and you decide what gets built, how, and what the spec got wrong. The stack is what we use today, not what we will use forever, and we expect you to pick up whatever the next problem needs.
The work is the kind where a bug costs money. Problems the team has solved recently:
- Settling payments in real time: ledger events arrive over a durable queue, are verified by signature, projected idempotently and broadcast to every member of the organization over WebSockets
- Running payroll-style batches of payouts as one job that pays row by row with claim-based idempotency and is finalised by webhooks, so a pod crash mid-run resumes without paying anyone twice
- Revealing card numbers in the browser through isolated-origin iframes, single-use 60-second tokens and per-field RSA encryption to a non-extractable browser key, so a compromised main app still cannot read a PAN
- Deploying with zero dropped requests: shutdown is phased so queue workers finish their active jobs and database connections close only after the HTTP drain
What you’ll be doing
- Owning outcomes end to end, from the problem statement through the spec, the API, the data model, the UI, the tests and the release
- Designing money-correct behaviour: amounts, fees, idempotency, status machines, and the event paths that keep systems consistent
- Working across several products and a shared platform in a small senior team, with a direct line to the people who decide what gets built
- Reading specs critically and pushing back with evidence when the code or the data says the spec is wrong
- Learning whatever the next problem needs, from a new provider’s API to a new language
- Directing AI agents on implementation work and verifying their output with the same rigour as your own
What you’ll need
- Experience operating a production system where correctness had financial consequences: payments, ledgers, cards, trading or similar, and an incident you owned that you can walk us through
- Depth in at least one typed language, with code you wrote that shows it, and a track record of learning a new stack in production rather than in a side project
- The habit of asking what the user is trying to do before asking what the ticket says, and examples of products you changed because of it
- Relational data modelling under real constraints: migrations on live data, idempotent writes, state machines, concurrency
- The ability to take an ambiguous problem, work alone on it for a week, and come back with the right thing built
- Written English good enough that other engineers learn from your reviews
Nice to have
- Shipped several brands from one codebase, with per-tenant theming and configuration rather than forks
- Taken a system through a security or compliance audit and owned the findings
- Integrated a card issuer, a banking-as-a-service provider or a payment processor, including the webhook and reconciliation side
Hiring process
Intro call, a technical conversation over a real problem from our backlog, a conversation with the founders, offer.
What we use today
TypeScript across the stack: NestJS and Prisma on Postgres, Redis, BullMQ and RabbitMQ; React, Vite, TanStack Query and Tailwind; Vitest, Playwright and mutation testing; GKE and GitLab CI. Experience with any of it is useful, none of it is required.
Відгукнутись на вакансію