Backend Developer (.NET)
Senior backend engineer building .NET Core services — REST APIs, Temporal workflows, worker services, and event-driven integrations — for a multi-tenant K-12 education SaaS platform, delivered as an embedded team for a client. Stack: C#/.NET, PostgreSQL, ClickHouse, Keycloak/OpenFGA, GitLab CI. Must be based in Vancouver, BC.
- Compensation
- Not disclosed
- Location
- Vancouver, Canada
- Work setup
- Not specified
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Backend
- Posted
Skills
Must have
- 5-7+ years of professional backend development with C# and .NET in production
- Strong command of .NET Core, ASP.NET Core Web API, and Entity Framework Core
- Experience building RESTful APIs consumed by real frontend or third-party clients
- Solid relational data modelling and SQL skills in PostgreSQL or 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 its failure modes
- 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 established engineering standards
- Disciplined approach to automated testing across unit, integration, and API layers
- Understanding of what makes automated tests durable (no brittle selectors, shared state, hard-coded waits)
- Comfortable with Git-based workflow, CI/CD, and peer code review
- Must be located in Vancouver, British Columbia, Canada
Nice to have
- Exposure to ClickHouse or another columnar/OLAP store
- Familiarity with fine-grained authorization models (OpenFGA, Zanzibar-style ReBAC)
- Hands-on Temporal experience, including workflow versioning and testing strategies
- Working knowledge of TypeScript and React
- Experience with distributed tracing and structured observability (OpenTelemetry)
- Familiarity with Domain-Driven Design and CQRS patterns
- SaaS product delivery experience, particularly pilot-to-GA transition
- Experience with Canadian public-sector or education data privacy requirements (PIPEDA, provincial FIPPA)
- Experience in a consulting or client-facing delivery environment
Full description
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.
Senior Software Engineer - Backend
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