# Full Stack Developer

> Control Risks · Madrid, Spain (Hybrid) · Full-time · Posted 2026-06-02

**Workplace:** hybrid

**Department:** Confidere

## Description

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.

## Apply

[Apply at Control Risks](https://apply.workable.com/control-risks-6/j/D6866BFAF0/apply)

---
Powered by [Workable](https://www.workable.com)
