Backend Developer (.NET)

Company: Appnovation Technologies

Location: Vancouver, British Columbia, Canada

Work arrangement: On-site

Employment type: Full-time

Experience: 5-10 years

Posted: 2026-10-16

Responsibilities

You will build and maintain .NET services, REST APIs, and worker services for a SaaS platform while participating in a cross-functional scrum team. Responsibilities include modeling relational data, enforcing authorization policies, and ensuring high-quality code through testing and documentation.

Requirements

Candidates must have 5-7 years of professional backend development experience with C# and .NET in production environments. Strong proficiency in relational data modeling, asynchronous processing, and API development is required, along with a disciplined approach to automated testing.

Skills

  • C#
  • .NET Core
  • ASP.NET Core
  • Entity Framework Core
  • PostgreSQL
  • REST APIs
  • SQL
  • Asynchronous processing
  • Message queues
  • OAuth 2.0
  • OpenID Connect
  • Git
  • CI/CD
  • Automated testing
  • ClickHouse
  • Keycloak

About this role

About us
Appnovation is the AI Product Company. Headquartered in Vancouver, Canada, with teams around the world, Appnovation builds AI products, delivers enterprise AI and digital solutions, and co-invests with clients to bring new AI products to market.
Open source has been the foundation of Appnovation's work since 2007, and it remains the foundation underneath every AI product the company builds today. Appnovation teams work with organizations in highly regulated industries, including global leaders such as Pfizer, Google and AstraZeneca, to help them adopt AI they can govern and own.
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
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 API calls 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 Vancouver, British Columbia, Canada
Technologies
Languages/Frameworks: C#, .NET Core, ASP.NET Core, Entity Framework Core
APIs: REST, OpenAPI/Swagger, API versioning
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:
Exposure to ClickHouse or another columnar/OLAP store for reporti...

About Appnovation Technologies

Business Consulting and Services · 201-500 employees · headquartered in Vancouver, BC · founded 2007

Create Your Job Alert

Other Backend Jobs

Other Jobs in Vancouver