Test-Driven Development (TDD) Coach – .NET & React Applications
About the Role
The TDD Coach will be responsible for coaching and enabling development teams to adopt test-driven development practices across backend (.NET) and frontend (React) applications. The role requires hands-on expertise in designing, implementing, and guiding teams on unit testing, mocking, and contract testing frameworks, ensuring code quality, maintainability, and continuous feedback as part of the shift-left quality transformation.
Responsibilities
- Coach and Mentor Developers on TDD principles, unit test design patterns, and refactoring techniques across both backend (.NET) and frontend (React) codebases.
- Establish and enforce TDD discipline within development sprints to ensure code quality and test coverage goals are met before integration.
- Develop and standardize unit testing frameworks and templates using NUnit (for .NET) and Jest (for React), integrating them into the CI / CD pipelines.
- Guide teams on effective mocking strategies using Moq or NSubstitute (.NET) and Axios mocking (React) to isolate dependencies and validate code behavior.
- Enable Contract Testing adoption using suitable frameworks (e.g., Pact, WireMock) to ensure reliable integration between microservices and APIs.
- Collaborate with Solution Architects and DevOps Engineers to embed quality gates and TDD compliance within automated build and deployment workflows.
- Review existing unit and integration test suites, identify technical debt, and provide actionable refactoring recommendations.
- Provide hands-on support to developers during pairing sessions to implement test-first approaches and build a quality-first engineering culture.
- Track TDD adoption metrics (e.g., test coverage, defect leakage, build quality) and present progress to engineering leadership.
- Continuously research and recommend emerging tools and frameworks in the testing ecosystem to enhance productivity and maintainability.
Qualifications
10+ years of experience in software engineering or test automation with deep understanding of TDD and unit testing practices.Strong command of C#, .NET Core, and React frameworks, including modern application architectures (microservices, RESTful APIs).Proven experience in establishing TDD adoption frameworks, conducting workshops, and mentoring developers on test-first design.Hands-on experience in contract testing and API mocking for service-level validation.Ability to analyze and refactor legacy applications to become testable and maintainable under modern design principles.Excellent communication, facilitation, and leadership skills to drive cultural and technical transformation.Familiarity with DevSecOps and CI / CD practices, ensuring early and automated validation of code quality.Required Skills
Backend (.NET).NET Framework (for legacy apps) and .NET 8 (LTS)Language : C#API Development : ASP.NET Core Web APIORM : Entity Framework Core 8NoSQL Databases : MongoDB, Redis (for caching)Architecture : Clean Architecture and MicroservicesDependency Injection : Built-in with .NET CoreFrontend (UI)Frameworks : React (preferred) / Angular / BlazorUI Libraries : Material UITesting Frameworks : Jest, React Testing LibraryTesting & Quality EngineeringUnit Testing : NUnit (for .NET), Jest (for React)Contract Testing : Pact, WireMock (preferred)Test Management : Azure DevOps Test Plans / Zephyr for JiraCI / CD Integration : GitHub Actions, Azure Pipelines, or JenkinsPreferred Skills
Experience in agile development environments with in-sprint testing and continuous integration practices.Prior exposure to Clean Code, SOLID principles, and refactoring techniques.Knowledge of cloud-native architectures (Azure / OCI) and containerization (Docker, Kubernetes).