Senior Backend Developer (.NET / Azure)

You will be responsible for designing, developing and maintaining scalable backend services and APIs, while contributing to architectural decisions, technical standards and the continuous improvement of our development practices.

This role requires someone who can operate independently, take ownership of complex

technical problems, and provide technical guidance and mentorship to other developers.

Key Responsibilities:

  • Design, develop and maintain scalable .NET backend services and microservices.
  • Develop robust, secure and well-documented REST APIs.
  • Design and implement event-driven and distributed systems.
  • Work extensively with Microsoft Azure cloud services and cloud-native
  • Design and maintain integrations using Azure Service Bus and other messaging
  • Develop efficient data access solutions using Entity Framework.
  • Work with SQL Server and PostgreSQL databases.
  • Implement search and data solutions using Elasticsearch.
  • Participate in architectural design and technical decision-making.
  • Apply Domain-Driven Design, SOLID principles, Clean Architecture and
  • established design patterns.
  • Write clean, maintainable, testable and production-ready code.
  • Use AI-assisted development tools, including Claude, to improve development
  • productivity, code quality and problem-solving.
  • Effectively review, validate, test and refine AI-generated code, ensuring that all code
  • meets the team's architectural, security, performance and coding standards.
  • Participate in code reviews and maintain high engineering standards.
  • Develop and maintain automated unit and integration tests.
  • Work with Git and CI/CD pipelines to support reliable software delivery.
  • Investigate and resolve complex production and performance issues.
  • Mentor and provide technical guidance to junior and intermediate developers.
  • Take ownership of technical deliverables from design through development,
  • deployment and support.

Qualifications:

  • A relevant degree, diploma or equivalent experience in Computer Science, Software Engineering or a related field is advantageous.
  • 10–15 years of relevant professional software development experience is essential.

Essential Technical Experience:

  • C# / .NET
  • NET Core / REST API development
  • Azure Cloud
  • Microservices architecture
  • Event-driven architecture
  • Distributed systems
  • Azure Service Bus
  • Elasticsearch
  • SQL Server
  • PostgreSQL
  • Entity Framework
  • Git
  • CI/CD
  • Unit and integration testing
  • AI-assisted software development
  • Architecture & Engineering

Strong practical understanding and experience with:

  • Domain-Driven Design (DDD)
  • SOLID principles
  • Clean Architecture
  • Design patterns and architectural best practices
  • Distributed systems and asynchronous processing
  • Scalable and highly available applications
  • API design and integration patterns
  • Performance optimisation and troubleshooting
  • Secure software development practices
  • Azure Experience
  • Practical experience with Azure services including:
  • Azure Functions
  • Azure App Services / Container Apps
  • Azure Service Bus
  • Azure DevOps
  • Azure Storage
  • Azure Key Vault
  • Application Insights
  • Azure API Management
  • Azure Kubernetes Service (AKS)
  • AI-Assisted Development
  • We actively use AI-assisted development as part of our software engineering workflow.

The successful candidate should be comfortable using tools such as Claude for Code to:

  • Accelerate software development and problem-solving.
  • Generate and refactor code.
  • Assist with debugging and technical investigation.
  • Generate unit and integration tests.
  • Understand and work with existing codebases.
  • Improve documentation and development productivity.
  • AI-generated code must be reviewed, understood, tested and validated by the
  • The candidate remains responsible for the quality, security, maintainability and correctness of the code they produce.

The successful candidate will be:

  • A strong hands-on software engineer, not just a technical manager.
  • Comfortable taking ownership of complex technical problems.
  • Able to make sound architectural and technology decisions.
  • Passionate about writing clean, maintainable and high-quality code.
  • Comfortable working in a fast-paced development environment.
  • A strong problem solver with excellent analytical skills.
  • Able to communicate technical concepts clearly.
  • Willing and able to mentor and develop other developers.
  • Proactive in identifying opportunities to improve systems, processes and engineering standards.
  • Comfortable embracing AI-assisted development and modern software
  • engineering practices.