Full Stack Developer
Skills
About the role
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.
Questions about this role
How do I apply to this Full Stack Developer role at Control Risks?
Click "Apply with AI Applyd" above. We auto-fill the application from your resume and answer screening questions in seconds. No copy and paste, no juggling tabs.
What's the typical salary for Full-Stack Engineer in Spain?
Compensation for Full-Stack Engineer roles in Spain varies widely by seniority, employer size, and remote vs onsite arrangement. Check the salary range on this listing when published, or browse our Full-Stack Engineer hub for Spain medians across recent openings.
How fast does AI Applyd auto-apply?
Most applications complete in under 90 seconds. You can track the status in your dashboard and watch the screenshot proof land the moment the application submits.
What ATS does Control Risks use?
AI Applyd supports Greenhouse, Lever, Ashby, Workday, iCIMS, SmartRecruiters, LinkedIn Easy Apply, and most other ATS platforms. If we can submit through the platform, we do.
Want AI Applyd to auto-apply to roles like this?
We tailor your resume per posting, fill the forms, and track replies for you.