Senior Backend Engineer (Python + Kubernetes)
Remote — Eastern Europe · B2B or employment
We run GPU compute on machines that live in people's homes — behind ordinary household power and ordinary consumer broadband. We are hiring one senior backend engineer to own the services that make that work.
Two products share the same hardware: an inference API that turns "generate an image or video" into GPU work, and hourly rental of whole GPU virtual machines on those same machines. A cloud control plane schedules, meters and bills; the fleet is reachable only over a private mesh network. Very little of this is CRUD.
What you would own
- The scheduling and commerce backend — task decomposition, placement, reservations, billing and the ledger. Python, FastAPI, PostgreSQL, RabbitMQ, Redis.
- The VM provisioning service — an async worker that turns an approved reservation into a real virtual machine on a remote single-node Kubernetes cluster, and cleanly back again. A Postgres-backed state machine with a transactional outbox, driving KubeVirt.
- Over time, the delivery layer — Helm charts and GitOps across a fleet of clusters.
Problems actually on the roadmap
- Two services, two databases, joined only by a correlation ID. Making that boundary provably consistent.
- Placement is currently random. Making it resource-aware.
- Dispatchers that assume a single replica, and need not to.
- A node can disappear because someone's breaker tripped or their router moved. That is normal operation here, not an incident — and the system has to be designed for it.
What we need you to already have
- 5+ years of backend Python, comfortable with async and with a strict type checker as a merge gate rather than a suggestion.
- Real PostgreSQL depth: transaction boundaries, isolation levels, row locking (SELECT … FOR UPDATE SKIP LOCKED), compare-and-swap state transitions, and migrations that run as part of a deployment.
- Message-driven systems done properly: at-least-once delivery, idempotency, the transactional outbox pattern, dead-letter queues.
- Kubernetes as an API you write code against — a controller, an operator or a reconcile loop you have built yourself. Deploying to Kubernetes is not the same skill.
- Professional English, written and spoken. This is a hard requirement: English is our working language and there is no translation layer.
- The ability to work from a written design spec — ask your questions once, up front, then deliver without supervision.
Helpful, not required
- Helm chart authoring, a GitOps engine (Fleet, Argo or Flux), Rancher or another multi-cluster manager, FastAPI and Pydantic, GitHub Actions, Terraform, and a habit of noticing security problems before anyone asks you to look.
We do not expect you to know these — you will learn them here
- KubeVirt, the NVIDIA GPU Operator, Tailscale, Ray, k3s and RKE2.
Probably not a fit if
- You are an SRE who would rather not write product code — more than half this role is application backend.
- Kubernetes to you means kubectl apply.
- You are an ML engineer. The GPU work here is scheduling and driver state, not modelling or training.
- You need work broken down into small tickets before you can start.
How we work
- A small, senior team — an architect, an infrastructure engineer, a front-end lead, plus product and design. No layers and no ticket factory. You would work directly with the person who designed most of the system.
- Written design specs, real code review, conventional commits, static checks in CI.
Practical
- Fully remote from Eastern Europe, with at least three hours' overlap with New York mornings — roughly 15:00–18:00 CET / 16:00–19:00 EET.
- B2B contract or employment, depending on your country — we are flexible.
How to apply
Apply right here: the form asks for your details, a link to your CV, and a few sentences in English answering one question:
"A worker claims rows from an outbox table without using FOR UPDATE SKIP LOCKED. What has the author assumed, and what does that require of the consumer on the other end?"
We read those answers first. There is no wrong answer we are fishing for — we want to see how you reason.
Include your GitHub username: if you applied with ssh join.lektra.ai using the SSH key on your GitHub account, we verify it automatically. Prefer email? Send the same to join@lektra.ai.
Want GPUs? ssh try.lektra.ai