Reporting to the CTO, as a Full Stack Developer you will work across the full platform — a modular monolith built in .NET 10 on the backend and React on the frontend. You will own features from requirement to production, working in a small, high-trust team where your decisions have direct product impact.
Please submit your CV in English.
Requirements
What You’ll Work On
Backend (.NET / Modular Monolith)
- Build and extend modules within a clean modular monolith architecture — Domain, Application, Infrastructure, and API layers per module
- Implement message-based integrations over RabbitMQ and HTTP, with proper retry, dead-letter, and observability patterns
- Design and own PostgreSQL schemas, migrations (Liquibase), and query optimisation for compliance-grade data integrity
- Write code test-first — unit tests, integration tests with in-memory and real DB where appropriate, and end-to-end API tests
- Contribute to and enforce coding standards, PR reviews, and architectural decisions.
Frontend (React / TypeScript)
- Build complex, accessible UI components and multi-path forms for compliance workflows
- Maintain consistency with our design system and work closely with our UX designer on new feature implementation
- Integrate with the backend via typed API contracts, handling loading states, error boundaries, and optimistic updates correctly
AI-Augmented Development
- Use Claude Code as an active development tool — you will work with CLAUDE.md, SKILLS.md, and RULES.md context files to give the AI accurate codebase context
- Translate Jira requirements and Notion design documents into structured Claude Code prompts that produce high-quality, testable code
- Maintain and improve the Claude Code context layer as the codebase evolves, treating it as first-class documentation
- Evaluate AI-generated code with the same rigour as human-written code — you own the output
Platform & Deployment
- Build and maintain Docker images for all services, following security and size best practices
- Deploy and manage workloads on Kubernetes clusters — writing and reviewing manifests, Helm charts, and managing config/secrets
- Collaborate with DevOps on CI/CD pipelines, environment configuration, and production readiness
- Participate in on-call rotation for production incidents (light, given our scale).
What We’re Looking For
Must-have
- 4+ years of professional .NET development (C#), with strong understanding of clean architecture and SOLID principles
- Solid React and TypeScript experience — you write components that are readable, testable, and maintainable
- Genuine TDD discipline — you write tests before or alongside code, not as an afterthought; you understand the difference between unit, integration, and end-to-end tests
- Hands-on experience with RabbitMQ or similar message brokers in production systems
- PostgreSQL proficiency — schema design, migrations, query analysis, and indexing
- Practical Kubernetes experience — you can read and write manifests, understand pod scheduling, and debug deployment issues
- Docker fluency — you build lean, layered images and understand multi-stage builds
- Experience working in or contributing to a modular monolith or DDD-influenced codebase
- Strong English communication skills — written and verbal
Strong advantage
- Experience using Claude Code, GitHub Copilot, or similar AI coding assistants as a genuine productivity tool in a professional codebase
- Familiarity with structuring AI context files (CLAUDE.md-style) to guide code generation effectively
- Experience with GCP (Cloud Run, Cloud Storage, Pub/Sub, Vertex AI)
- Playwright or similar e2e test framework experience
- Exposure to knowledge graphs, Neo4j, or graph-based data modelling
Our Engineering Ethos
We are direct about what we expect. These are not aspirational values — they are how we work:
- Test coverage is a delivery requirement, not a nice-to-have. Core business logic ships with tests.
- PR reviews are substantive. We comment on architecture, not just typos.
- We use AI tooling to move faster, not to lower the quality bar. AI-generated code gets reviewed like any other code.
- We document decisions. ADRs, Notion pages, and Claude Code context files are part of the job.
- We raise issues early. A blocker surfaced on day one beats a missed deadline on day ten.