The Role
We are rebuilding the MyHome.ie backend as a .NET 8 microservices platform on Azure Kubernetes, and migrating a large legacy .NET Framework / ServiceStack estate onto it service by service — with no downtime on a live, revenue-generating platform. Several new services are already in production; more are queued to follow.
The successful candidate will join a small team working exclusively on the new platform, own services end-to-end, and be trusted to ship without close supervision. This is a hands-on delivery role: we need code in production, not a discovery phase.
Key Responsibilities
- Designing, building and shipping .NET 8 microservices behind our API gateway — from data model to deployed pods.
- Migrating capabilities off the legacy estate onto the new platform (strangler-fig style), including the integration layer that keeps old and new consistent while both run in parallel.
- Building event-driven flows with MassTransit and Azure Service Bus, with the idempotency and eventual-consistency handling that actually survives production.
- Working across Azure SQL, Elasticsearch and Redis — schema design, query performance, index and cache strategy.
- Writing the unit and integration tests that prove your change works, and diagnosing issues in production via App Insights.
- Owning your slice of the delivery pipeline: Dockerfiles, Kubernetes manifests, Azure Pipelines.
- Reviewing peers' code, and reviewing and steering output from our AI-assisted development pipeline.
How we work
- Small team, short feedback loops, sprint-based delivery tracked in Jira.
- Every change goes through pull-request review — by humans and by our AI reviewer, which runs automatically on open PRs. Some tickets arrive with an AI-generated first draft; reviewing and correcting that is part of the job, and we treat it as a skill.
- Feature branches off development, PR back into development; release branches are cut from there.
- Documentation lives with the code and is expected to be kept current.
Requirements & Experience for the role
- 6+ years commercial backend development, at least 2 at senior level, delivering production systems.
- C# and .NET 8 (or 6/7 with recent 8 work) — modern ASP.NET Core, DI, async/await, structured concurrency.
- Production microservices at real scale — API gateway patterns, service-to-service auth, resilience/retry (Polly or equivalent), timeouts, idempotent handlers.
- Azure hands-on: Kubernetes/AKS, Container Registry, Service Bus, App Service, Key Vault, Application Insights.
- Docker and Kubernetes day-to-day — reading and writing manifests, debugging a failing pod without help.
- Relational data — solid SQL Server / Azure SQL modelling and query tuning; EF Core and/or a micro-ORM.
- Asynchronous messaging — MassTransit, Azure Service Bus, or a close equivalent.
- Automated testing you wrote yourself — unit and integration, against real dependencies where it matters.
- Brownfield migration experience — extracting capabilities from a legacy monolith or older service estate while both generations run live.
- CI/CD ownership (Azure DevOps Pipelines ideally), disciplined Git branching, Jira.
- Genuine autonomy: able to pick up a ticket with gaps in it, ask the right three questions, and deliver.
Desirable
- Elasticsearch — index design, relevance tuning, zero-downtime reindexing.
- Redis caching and invalidation at scale.
- Microsoft Entra ID — OIDC/OAuth2, machine-to-machine client credentials, consumer identity (CIAM/B2C-style).
- Ocelot, YARP, or another .NET gateway.
- ServiceStack or .NET Framework maintenance — you will occasionally need to read and touch legacy services.
- High-traffic public web concerns: CDN, Azure Front Door, SSR and SEO-sensitive rendering.
- Enough Angular / TypeScript to trace a bug from the API into the frontend.
- Working with AI coding agents (Claude Code, Codex, Copilot) as part of normal delivery.