We build incentive compensation software - the system that works out what a salesperson is actually owed. Commission plans, quotas, rate curves, crediting rules, payouts. The numbers have to be exactly right, and every one of them has to be explainable months later.
We're a small team building the whole thing ourselves: a .NET calculation engine on Azure, a large React front end, and the infrastructure under both. You'd be the next engineer on it - not on a slice of it.
Essential
- Serious backend experience in C# / .NET. You've designed and run production services, not just added endpoints to someone else's.
- Real front-end ability in TypeScript and React. Enough to own a feature end to end. "I can read it" isn't enough - a good half of the product lives there.
- SQL beyond an ORM. Schema design, indexing, query plans, transactions and isolation levels are things you have opinions about.
- Cloud experience. Azure is what we run; strong AWS or GCP background transfers fine.
- You look after your own infrastructure and pipelines. Infrastructure as code and CI/CD are part of your job, not another team's.
- You use AI tools every day, and you've formed a view about them. More on that below - it matters a lot here.
- Fluent English, spoken and written. It's the team's working language - calls, pull requests, specs and chat are all in English.
- You write clearly. Decisions get written down here, in plain language, for people who weren't in the room.
- A working day that overlaps US business hours by 3–4 hours. We're fully remote and mostly asynchronous, but that daily window is where things get unblocked.
Helpful, not required
- Terraform, and Azure Functions specifically
- Multi-tenant SaaS - per-tenant databases, tenant isolation, onboarding
- Identity work: Entra ID, OAuth2 flows, token validation, CIAM
- Any domain where the numbers must be exactly right and auditable - payroll, billing, fintech, accounting
- Parsers, compilers, expression languages, or spreadsheet-style calculation engines
- Event-driven or queue-based processing at scale
- Data-heavy UI: large grids, virtualisation, browser-side compute
- Sales compensation or ICM domain knowledge (genuinely rare - we don't expect it)
How we work
Read this part properly. It's where most of the fit is decided, and it's the part we won't compromise on.
AI is part of the daily loop
Not as a novelty, and not as a replacement for thinking. Coding agents run real tasks here, against written specifications, behind review gates we designed. We want someone who has already worked this way and has a considered view on it - where it earns its keep, where it quietly produces plausible rubbish, and how you check. Both extremes are a poor fit: the person who ships whatever the model wrote, and the person who refuses to touch it.
Startup pace, startup ownership
Small team, very little process, decisions made in hours rather than sprints. That cuts both ways: nobody will hand you a fully specified ticket, and nobody will stop you fixing something that's wrong. You need to be comfortable with that, and honest when you'd rather not be.
Care past your own task
"My ticket is done, not my problem if the rest doesn't work" doesn't survive here. We want someone who notices that the API shape they just shipped is awkward for whoever consumes it, and says so - or fixes it.
Decisions get written down
Architecture decisions live in versioned records, tasks in a catalogue, and every pull request opens with a plain-terms summary anyone non-technical can follow. It's more writing than most places. It's also why a small team can move this fast without losing the thread.
Quality is not a phase
Integration tests run against real Postgres in containers. A curated corpus of worked examples gates changes to the calculation engine. Static analysis findings get fixed, not filed. This is money software - a rounding error is somebody's paycheque.
Location
This is a fully remote position, but candidates must be based in Poland.
The contractWe start with a short contract so both sides can find out whether this works before committing to more.
- First 3 months
- A fixed 3-month contract. Real work on the real product from week one - not a trial project on the side.
- After that
- If it's going well for both of us, you can extend the contract or convert it to a full-time B2B contract.
- Where & when
- Fully remote, no office. At least 3–4 hours a day overlapping US business hours.
,[] Requirements: .NET, Azure Functions, Clean Architecture, PostgreSQL, CQRS, Cosmos DB, Tailwind, TypeScript, Azure, Terraform, React, xUnit, AI, Blob Storage, JSON, OAuth, Key Vault, Docker, CSS Tools: Sonar, GIT.