We’re hiring an experienced Senior .NET Developer to help build and operate our platform. You’ll work on modular, high-quality services powered by .NET 8, CQRS, and robust integrations for auth, content, messaging, logging, and data.
Role Summary
Design, implement, and maintain .NET 8 services with a clean Controller → Validator → Handler → DB flow. Integrate Keycloak for authentication/authorization, Strapi for content, RabbitMQ/MassTransit for messaging, Graylog for centralized logging, and MySQL for persistence. Ensure reliability and testability with xUnit/Moq/AutoFixture/FluentAssertions. Manage background jobs with Hangfire and use Dapper where read-heavy performance matters. Run everything in Docker with environment-based configuration and proper reverse proxy/CORS/TLS handling.
Key Responsibilities
-
Build API, Command, and Query services in .NET 8 following a modular architecture.
-
Implement CQRS with MediatR and FluentValidation; deliver create/update/read flows end-to-end.
-
Develop typed HTTP clients using Refit to consume Strapi (REST/GraphQL), including webhook/lifecycle hook scenarios.
-
Integrate Keycloak (OIDC/OAuth2, JWT) and enforce role-/claim-based access.
-
Implement messaging with RabbitMQ/MassTransit, including durable queues, retry, and DLQ strategies.
-
Ship structured application logs to Graylog and support stream/index setups.
-
Create background jobs with Hangfire; apply Dapper where high-throughput reads are required.
-
Deliver notification integrations (MailJet and Firebase) with robust retry/error handling.
-
Write solid unit tests with xUnit, Moq, AutoFixture, and FluentAssertions; prefer in-memory/SQLite for isolated tests.
-
Containerize services with Docker; manage env vars, reverse proxy, CORS, and TLS settings.
Required Qualifications
-
5+ years of enterprise experience with ASP.NET Core Web API and .NET 7/8.
-
Hands-on CQRS, MediatR, FluentValidation, and a Controller → Validator → Handler workflow.
-
Strong MySQL skills (schema design, migrations, indexing, query optimization); comfortable using Dapper where appropriate.
-
Experience with Refit for typed HTTP clients and JSON/REST integrations.
-
Practical Keycloak integration (OIDC/OAuth2, JWT) and role-based authorization.
-
RabbitMQ/MassTransit proficiency (exchanges/queues/routing, retries, DLQ, durability).
-
Experience sending structured logs to Graylog and working with service-level streams/indexes.
-
Testing discipline with xUnit, Moq, AutoFixture, FluentAssertions.
-
Docker-based development and basic ops (env management, reverse proxy, CORS, TLS).
Nice to Have
-
Production experience with Hangfire job scheduling.
-
Experience with Strapi webhooks and lifecycle hooks to trigger business rules.
-
Prior work on notification pipelines using MailJet and Firebase.
How We Work
-
Modular architecture from API Host → Service → Data/Infrastructure → Integration.
-
Standardized request validation, handler logic, data access, and consistent error/response models.
-
Observability baked in: logging, exception middleware, traceability, and versioned APIs where needed.
-
CI-friendly, containerized development practices.