Backend Developer (.NET)

Appnovation-Technologies

Vancouver

On-site

CAD 110,000 - 150,000

Full time

22 hours ago
Be an early applicant

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Challenging and rewarding work with a
Direct Access to Cutting-Edge AI_Pl at
Diverse and Inclusive Culture
Growth opportunities

Job summary

Appnovation Technologies in Vancouver, BC is seeking a Senior Software Engineer - Backend to build .NET services powering a modern SaaS platform for K-12 education. You will deliver REST APIs, implement Temporal workflows, and own significant slices of the backend with minimal supervision.

Join a cross-functional scrum team that leverages PostgreSQL and ClickHouse, and integrates with Keycloak and OpenFGA for secure multi-tenant data.

Qualifications

  • At least 5-7 years of professional backend development experience with C# and .NET.
  • Strong command of .NET Core, ASP.NET Core Web API, and Entity Framework Core.
  • Demonstrated experience building RESTful APIs consumed by real frontend or third-party clients.
  • Solid relational data modelling and SQL skills in PostgreSQL or an equivalent RDBMS.
  • Practical experience with asynchronous processing - background workers, message queues, or scheduled jobs.
  • Working understanding of async/await in .NET and the failure modes that come with it.
  • Understanding of event-driven and pub/sub patterns, including at-least-once delivery and idempotent consumers.
  • Experience integrating with an identity provider using OAuth 2.0 and OpenID Connect.
  • Comfortable working inside an existing codebase and an established set of engineering standards.
  • Disciplined approach to automated testing across unit, integration, and API layers.
  • Understanding of durable tests and avoiding brittle tests.
  • Git-based workflow with CI/CD and peer code review.
  • Must be located in British Columbia, Canada.

Responsibilities

  • Developing and maintaining .NET Core REST APIs, including versioning, validation, error semantics, and Swagger/OpenAPI documentation.
  • Implementing Temporal workflows and activities for long-running, multi-step business processes with correct retry and compensation behaviour.
  • Building worker services for background, scheduled, and queue-driven asynchronous processing.
  • Writing integration services that publish and consume events over pub/sub, against clearly defined message contracts.
  • Modelling and querying relational data in PostgreSQL using Entity Framework Core, including migrations and query performance tuning.
  • Building and maintaining reporting and analytics data paths into ClickHouse.
  • Enforcing authorization in application code against OpenFGA policies, and integrating with Keycloak for OAuth 2.0 / OpenID Connect authentication and SSO.
  • Producing technical analysis and implementation plans for significant changes, and delivering work in small, reviewable merge requests.
  • Writing unit, integration, and API tests, and contributing to the Playwright end-to-end suite where backend behaviour is under test.
  • Participating in code review, responding to CodeRabbit findings, and keeping GitLab CI/CD pipelines green.
  • Instrumenting services with logging, metrics, and tracing to support production diagnosis.
  • Participating in refinement, planning, review, and retrospective as a member of a self-directed scrum team.
  • Taking ownership of feature areas end to end, from technical design through release and support.
  • Maintaining technical implementation and API documentation as part of the definition of done.
  • Resolving defects and supporting post-release stabilization of recently delivered functionality.
  • Mentoring less experienced engineers through code review and pairing.

Skills

C#
.NET Core
ASP.NET Core Web API
Entity Framework Core
REST APIs
PostgreSQL
ClickHouse
OAuth 2.0 / OpenID Connect
Temporal workflows
CI/CD (GitLab)
Docker

Tools

GitLab CI/CD
Docker
Jira
Confluence
Testcontainers

Job description

Appnovation is a global, full-service digital partner that combines Strategy, Experience & Design, Engineering and Managed Services. We build digital solutions that deliver real impact today and serve as foundations for future growth. Bold ambition. Practical action. Endless possibilities.

As a Senior Software Engineer - Backend, you will build the .NET services that carry the core business logic of a modern operational SaaS platform for K-12 education. The platform automates administrative processes for school divisions, so the backend work is workflow-heavy and integration-heavy: you will develop REST APIs consumed by a Next.js frontend, implement durable multi-step business processes as Temporal workflows, build worker services for asynchronous and scheduled processing, and write the integration services that publish and consume events across system boundaries.

You will work as part of a dedicated, cross-functional scrum team that operates as an embedded extension of the client's engineering organization. The team includes business analysis and QA capability and owns assigned product services end-to-end - from refinement through development, testing, documentation, and release readiness. You will work directly in the client's repositories, follow their established architecture and engineering standards, and deliver in small, reviewable increments.

The data layer spans a PostgreSQL transactional model and a ClickHouse analytics store, with authorization enforced through Keycloak and OpenFGA - a real requirement in a multi-tenant product where an administrator in one school division must never see another's data. The platform is moving from pilot deployments toward general availability, so this is a role for a senior engineer who cares about correctness in distributed systems - idempotency, retries, and what happens when the third call fails - and who is ready to own significant slices of the platform with minimal supervision.

Key Responsibilities:
  • Developing and maintaining .NET Core REST APIs, including versioning, validation, error semantics, and Swagger/OpenAPI documentation
  • Implementing Temporal workflows and activities for long-running, multi-step business processes with correct retry and compensation behaviour
  • Building worker services for background, scheduled, and queue-driven asynchronous processing
  • Writing integration services that publish and consume events over pub/sub, against clearly defined message contracts
  • Modelling and querying relational data in PostgreSQL using Entity Framework Core, including migrations and query performance tuning
  • Building and maintaining reporting and analytics data paths into ClickHouse
  • Enforcing authorization in application code against OpenFGA policies, and integrating with Keycloak for OAuth 2.0 / OpenID Connect authentication and SSO
  • Producing technical analysis and implementation plans for significant changes, and delivering work in small, reviewable merge requests
  • Writing unit, integration, and API tests, and contributing to the Playwright end-to-end suite where backend behaviour is under test
  • Participating in code review, responding to CodeRabbit findings, and keeping GitLab CI/CD pipelines green
  • Instrumenting services with logging, metrics, and tracing to support production diagnosis
  • Participating in refinement, planning, review, and retrospective as a member of a self-directed scrum team, and raising missing business decisions early
  • Taking ownership of feature areas end to end, from technical design through release and support
  • Maintaining technical implementation and API documentation as part of the definition of done, not after it
  • Resolving defects and supporting post-release stabilization of recently delivered functionality
  • Mentoring less experienced engineers through code review and pairing
What we are looking for
Must-Have:
  • At least 5-7 years of professional backend development experience with C# and .NET in production environments
  • Strong command of .NET Core, ASP.NET Core Web API, and Entity Framework Core
  • Demonstrated experience building RESTful APIs consumed by real frontend or third-party clients
  • Solid relational data modelling and SQL skills in PostgreSQL or an equivalent RDBMS, including query performance tuning
  • Practical experience with asynchronous processing - background workers, message queues, or scheduled jobs
  • Working understanding of async/await in .NET and the failure modes that come with it
  • Understanding of event-driven and pub/sub patterns, including at-least-once delivery and idempotent consumers
  • Experience integrating with an identity provider using OAuth 2.0 and OpenID Connect
  • Comfortable working inside an existing codebase and an established set of engineering standards, rather than setting your own
  • Disciplined approach to automated testing across unit, integration, and API layers
  • Understanding of what makes automated tests durable - avoiding hard-coded waits, brittle selectors, shared test state, and environment-specific assumptions
  • Comfortable working in a Git-based workflow with CI/CD and peer code review
  • Must be located in British Columbia, Canada

Technologies

  • Languages/Frameworks: C#, .NET Core, ASP.NET Core, Entity Framework Core
  • Workflow and Async: Temporal workflows, worker services, asynchronous processing, event-driven pub/sub, integration services
  • Databases: PostgreSQL, ClickHouse, EF Core migrations, query optimization
  • Identity and Authorization: Keycloak, OpenFGA, OAuth 2.0, OpenID Connect, role- and policy-based authorization
  • Testing: xUnit/NUnit, Moq, Testcontainers, unit, integration and API testing, Playwright end-to-end testing
  • Build/Deploy/Tooling: GitLab, GitLab CI/CD, CodeRabbit automated code review, Docker, Jira, Confluence
Nice-to-Have:
  • Hands-on Temporal experience, including workflow versioning and testing strategies
  • Exposure to ClickHouse or another columnar/OLAP store for reporting workloads
  • Familiarity with fine-grained authorization models (OpenFGA, Zanzibar-style ReBAC)
  • Working knowledge of TypeScript and React, enough to trace an issue across the stack
  • Experience with distributed tracing and structured observability (OpenTelemetry)
  • Familiarity with Domain-Driven Design and CQRS patterns
  • 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
Who you are
  • 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.
  • 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.
What Appnovation Offers
  • Challenging and rewarding work with real impact
  • Direct Access to Cutting-Edge AI Platforms
  • Diverse and Inclusive Culture
  • Growth opportunities for personal and professional development
  • A collaborative and innovative work environment where your ideas are valued
  • Exposure to exciting projects and high-profile clients
  • Supportive work environment with access to company leaders

Thank you for your interest in a career with Appnovation Technologies! Please note that only those selected for an interview will be contacted.

At Appnovation, we recognize that diverse teams are the strongest teams. Diversity, Equity & Inclusion is not only something that we embrace - we celebrate it! We are proud to be an Equal Opportunity Employer and we encourage applicants from all backgrounds, lived experiences and industries to apply. Come join us at Appnovation, and learn more about how we stay true to our company values as we build better lives through better digital. Accommodations are available upon request throughout the recruitment process.

This is a full-time role.

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Backend Developer (.NET)
Backend Developer (.NET)

Appnovation • Vancouver

Hybrid
CAD 120,000 - 150,000
Hybrid working model
Career growth opportunities
Diverse and Inclusive Culture
+1
Backend Developer (.NET)
Backend Developer (.NET)

Appnovation Technologies • Vancouver

On-site
CAD 110,000 - 150,000
Challenging projects
AI platforms access
Diverse culture
+2
Senior Technical Lead (.NET)
Senior Technical Lead (.NET)

Appnovation • Vancouver

Hybrid
CAD 120,000 - 160,000
Hybrid working model
Growth opportunities
Inclusive culture
Senior Technical Lead (.NET)
Senior Technical Lead (.NET)

Appnovation Technologies • Vancouver

On-site
CAD 120,000 - 180,000
Senior Technical Lead (.NET)
Senior Technical Lead (.NET)

Appnovation-Technologies • Vancouver

On-site
CAD 120,000 - 180,000
Direct Access to Cutting-Edge AI Plata
Diverse and Inclusive Culture
Growth opportunities
+3
Senior Developer, Fullstack - Python New Toronto
Senior Developer, Fullstack - Python New Toronto

Appnovation • Toronto

Hybrid
CAD 110,000 - 170,000
Sr. Full-Stack Developer, AI Design-to-Dev Toronto
Sr. Full-Stack Developer, AI Design-to-Dev Toronto

Appnovation • Toronto

On-site
CAD 120,000 - 180,000
Health Benefits
Growth Opportunities
Exposure to high-profile clients
+1
Full-Stack AI Engineer New Toronto
Full-Stack AI Engineer New Toronto

Appnovation • Toronto

Hybrid
CAD 100,000 - 150,000
Health Benefits Package
Mental Health Support
Personal Days Off
+3
Sr. Full-Stack Developer, AI Design-to-Dev
Sr. Full-Stack Developer, AI Design-to-Dev

Worky • Toronto

Hybrid
CAD 110,000 - 160,000
Hybrid work model
Growth opportunities
Health benefits
+5
Senior Developer, Fullstack - Python
Senior Developer, Fullstack - Python

appnovation • Toronto

On-site
CAD 110,000 - 150,000