Full Job Description
We are seeking a Senior Full Stack .NET Engineer to support the team with exciting growth. You'll build and maintain a variety of .NET Core applications-from WPF desktop clients to ASP .NET Core Web API/MVC backends and Minimal APIs-turning loosely defined product ideas into working software with a relentless focus on code quality. You'll own features end-to-end (design 10 code 10 tests 10 docs), champion best practices (code reviews, static analysis, refactoring), check in regularly with the team, and occasionally work directly with customers to troubleshoot or refine requirements.
In this role you will get to:
10 Develop .NET Core solutions across WPF, ASP .NET Core (Web API/MVC, Minimal APIs) and related technologies
10 Translate high-level product requirements into detailed technical designs and implementation plans
10 Write thorough unit & integration tests (MSTest, NUnit/xUnit) and leverage Docker/TestContainers for reliable testing
10 Collaborate with PMs, QA, DevOps, and occasionally customers-to review designs, demo progress, and iterate rapidly
10 Maintain clean code, clear documentation, and version control (Git/Azure DevOps)
We are looking for people who have 7+ years experience in C# / .NET Core along with 5+ years delivering production applications. Ideally with a degree in Computer Science or related engineering degree. You will be able to demonstrate advanced analytical skills with great attention to detail.
The key skills we are looking for:
10 Desktop & Web: Hands-on with WPF and ASP .NET Core (Web API, MVC, Minimal APIs)
10 Blazor: WebAssembly/Server component experience
10 Entity Framework Core: ORM usage, migrations, and performant data access
10 Testing: Solid experience with MSTest (or NUnit/xUnit) and writing reliable automated tests
10 Async Programming: Expert in async/await and task-based patterns
10 Key Design Patterns: MVVM, dependency injection, RESTful API best practices, CQRS
10 Visual Studio & Debugging: Proficient with the IDE, debugger, and related tooling
10 Autonomy: Able to take vague specs through design and delivery with minimal supervision
10 Code Quality: Strong commitment to writing quality code with a focus on domain best practices, codebase standards, with an excitement for code reviews, static analysis (e.g., SonarQube/FxCop), and refactoring
You may also have:
10 Database Skills: T-SQL querying, indexing, performance tuning
10 Docker & TestContainers: Containerizing apps and test environments
10 OpenTelemetry: Monitoring/tracing instrumentation
10 Cloud Infrastructure: Secure deployments on Azure/AWS/GCP
10 Security Best Practices: OWASP principles and secret management
10 CI/CD: Azure DevOps or GitHub Actions pipelines
Note - This position may include an in person interview
Total Rewards
Dotmatics utilises a national market-based approach to base pay benchmarking and pay band development. The candidate's final starting pay is based on job-related skills, experience, job specific qualifications & location. In addition to base salary, Dotmatics has implemented a total rewards strategy, which is the combination of compensation, benefits and recognition.
Certain positions are also eligible for variable pay; your recruiter will discuss the full compensation package details.
Other Total Rewards Offered
10 Private Healthcare
10 Company Pension Plan
10 Wellness Benefits (Mental Health Apps and Fitness Perks)
This is the range that we, in good faith, believe is the range of possible compensation for this role at the time of this posting. We may ultimately pay more or less than the posted range. This range may be modified in the future.
Base Pay Range
$112,000-$150,000 CAD
Research shows us the confidence gap and imposter syndrome can get in the way of meeting outstanding candidates, so please don't hesitate to apply - we'd love to hear from you.