Skip to content
← Back to job listings

Backend Developer (.NET)

Appnovation · Vancouver, Canada

Imported listingfull-time18 days ago

About The Role

Join our team as a Senior Software Engineer - Backend, where you will develop the core business logic for a modern operational SaaS platform in the K-12 education sector. You will work as part of a dedicated, cross-functional scrum team and be responsible for building .NET services, implementing workflows, and writing integration services. This role requires a strong command of .NET Core, Core, and Entity Framework Core, as well as experience with PostgreSQL and ClickHouse. You must be located in British Columbia, Canada. - Concevoir et développer des services .NET qui portent la logique métier d'une plateforme SaaS moderne pour l'éducation K-12. - Développer des API REST consommées par un frontend Next.js, mettre en œuvre des workflows durables et construire des services de travail pour le traitement asynchrone. - Travailler en tant que membre d'une équipe Scrum cross-fonctionnelle, en prenant en charge des domaines fonctionnels de bout en bout, de la conception technique à la mise en production. - Strong command of .NET Core, Core Web API, and Entity Framework Core - At least 5-7 years of professional backend development experience with C# and .NET in production environments - Demonstrated experience building RESTful APIs consumed by real frontend or third-party clients - Must be located in British Columbia, Canada - Experience integrating with an identity provider using OAuth 2.0 and OpenID Connect - Comfortable working in a Git-based workflow with CI/CD and peer code review - Understanding of event-driven and pub/sub patterns, including at-least-once delivery and idempotent consumers - Practical experience with asynchronous processing - background workers, message queues, or scheduled jobs - Comfortable working inside an existing codebase and an established set of engineering standards, rather than setting your own - Understanding of what makes automated tests durable - avoiding hard-coded waits, brittle selectors, shared test state, and environment-specific assumptions - Solid relational data modelling and SQL skills in PostgreSQL or an equivalent RDBMS, including query performance tuning - Working understanding of async/await in .NET and the failure modes that come with it - Disciplined approach to automated testing across unit, integration, and API layers - Languages/Frameworks: C#, .NET Core, Core, Entity Framework Core - Databases: PostgreSQL, ClickHouse, EF Core migrations, query optimization - Testing: xUnit/NUnit, Moq, Testcontainers, unit, integration and API testing, Playwright end-to-end testing - Identity and Authorization: Keycloak, OpenFGA, OAuth 2.0, OpenID Connect, role- and policy-based authorization - Workflow and Async: Temporal workflows, worker services, asynchronous processing, event-driven pub/sub, integration services - APIs: REST, OpenAPI/Swagger, API versioning - Build/Deploy/Tooling: GitLab, GitLab CI/CD, CodeRabbit automated code review, Docker, Jira, Confluence - You ask questions early, communicate clearly when something is off track, and take testing seriously rather than treating it as a step after the work - You treat a feature as incomplete until it is tested, documented, and supportable - finishing the code is the middle of the job, not the end - You are a careful engineer who thinks about failure modes before writing the happy path, and who leaves code easier to change than you found it - Hands-on Temporal experience, including workflow versioning and testing strategies - Exposure to ClickHouse or another columnar/OLAP store for reporting workloads - Working knowledge of TypeScript and React, enough to trace an issue across the stack - Familiarity with fine-grained authorization models (OpenFGA, Zanzibar-style ReBAC) - Familiarity with Domain-Driven Design and CQRS patterns - Experience with distributed tracing and structured observability (OpenTelemetry) - SaaS product delivery experience, particularly through a pilot-to-GA transition - Experience with Canadian public-sector or education data privacy requirements (PIPEDA, provincial FIPPA), including data residency considerations - Experience in a consulting or client-facing delivery environment

This is an external listing. JobSpring does not represent or verify the employer. Report this listing