Senior Technical Lead (.NET)

Appnovation

Vancouver

Hybrid

CAD 120,000 - 160,000

Full time

2 days ago
Be an early applicant

Get more replies from employers

Send a job-specific resume in minutes.

Benefits offered by this job

Hybrid working model
Growth opportunities
Inclusive culture

Job summary

Appnovation seeks a Senior Technical Lead to own a modern operational SaaS platform for K-12 education. You will lead a cross-functional team of developers, BAs, and QA, delivering end-to-end features within an embedded client context in the Vancouver area.

You will write and review production C#/.NET Core code daily, design Temporal workflows, and implement secure multi-tenant authentication using OAuth 2.0/OpenID Connect.

Qualifications

  • 8+ years of professional software engineering experience, with the majority in C# and .NET in production environments.
  • Recognised depth in .NET Core and ASP.NET Core - you have owned non-trivial services end to end and can reason about the runtime, not just the framework surface.
  • Expert-level Entity Framework Core, including migrations, query performance tuning, and knowing when to drop to raw SQL
  • Deep understanding of asynchronous and concurrent programming in .NET, including async/await pitfalls, cancellation, and thread-pool behaviour
  • At least 2 years leading engineering teams, with direct experience managing, mentoring, and developing engineers
  • Demonstrated ability to design and deliver within an existing architecture, including reading unfamiliar codebases quickly and respecting established patterns
  • Experience leading a dedicated or embedded delivery team inside a client's environment, processes, and repositories
  • Track record running sprint delivery without a separate delivery manager - refinement through retrospective
  • Production experience with a workflow orchestration engine (Temporal strongly preferred; Cadence, Camunda, or Step Functions considered)
  • Strong grasp of event-driven architecture and pub/sub messaging patterns
  • Practical experience implementing authentication and authorization for multi-tenant or role-sensitive applications using OAuth 2.0 and OpenID Connect
  • Strong relational data modelling skills in PostgreSQL, with an understanding of when analytical workloads justify a separate store
  • Experience with CI/CD pipelines and release process, ideally in GitLab
  • Confidence communicating technical decisions directly to non-technical client stakeholders
  • Must be located in British Columbia, Canada
  • Technologies Core: C#, .NET Core, ASP.NET Core, Entity Framework Core, worker services, asynchronous processing APIs: REST, OpenAPI/Swagger, API versioning strategies Orchestration and Integration: Temporal workflows, integration services, event-driven pub/sub
  • Data: PostgreSQL, ClickHouse, relational data modelling, reporting and analytics data
  • Identity and Authorization: Keycloak, OpenFGA, OAuth 2.0, OpenID Connect, SSO, role- and policy-based authorization
  • Testing: xUnit/NUnit, Moq, Testcontainers, unit, integration and API testing, Playwright end-to-end testing
  • Engineering and Collaboration: GitLab, GitLab CI/CD, CodeRabbit automated code review, Jira, Jira Product Discovery, Jira Service Management, Confluence
  • Frontend context: Next.js, React, TypeScript, Tailwind CSS, Shadcn/UI, component-driven development

Responsibilities

  • Lead a cross-functional Scrum team end-to-end for assigned product services and feature areas.
  • Writing and reviewing production C# and .NET Core code daily, and setting the standard for code quality.
  • Producing technical analysis and implementation plans for significant changes.
  • Owning sprint delivery - refinement, planning, review, and retrospective.
  • Mentor engineers and line-manage team members; partner with client stakeholders on trade-offs.
  • Escalate risks, dependencies, and missing business decisions early
  • Partnering with client product and engineering stakeholders on sequencing and feasibility

Skills

C#
.NET Core
ASP.NET Core
Entity Framework Core
Temporal workflows
Event-driven architecture
OAuth 2.0 / OpenID Connect
PostgreSQL
ClickHouse
Leadership
CI/CD (GitLab)
Jira
Confluence
CodeRabbit
Playwright

Tools

GitLab
GitLab CI/CD
CodeRabbit
Jira
Confluence
Playwright

Job description

About us

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 Technical Lead, you will be the senior .NET authority on a dedicated, cross-functional scrum team building a modern operational SaaS platform for K-12 education. The platform helps school divisions automate administrative workflows, manage information across their organization, and surface operational insight - which in practice means long-running, multi-step business processes, heavy integration between systems, and reporting that has to hold up under scrutiny from district administrators. Your team operates as an embedded extension of the client's product and engineering organization, not as an external group receiving isolated tickets. It owns assigned product services end-to-end: analysis, planning, implementation, quality assurance, documentation, and release readiness. The client sets product direction and owns architecture and engineering standards; your team is accountable for converting prioritized objectives into production-ready functionality without needing day-to-day coordination. That means you will be working inside an established codebase and an established set of standards, influencing them through implementation plans and evidence rather than unilateral redesign. This is a manager-level role. Alongside deep technical ownership, you will lead a team that includes embedded business analysis and QA capability - setting expectations, developing people, running sprint delivery, and representing the technical position directly to client stakeholders.

Key Responsibilities
  • Leading a cross-functional scrum team - developers, business analysis, and QA - accountable end-to-end for assigned product services and feature areas
  • Writing and reviewing production C# and .NET Core code daily, and setting the standard for what good looks like in the codebase
  • Working within the client's established architecture and engineering standards, and influencing them through implementation plans and evidence rather than unilateral decisions
  • Producing technical analysis and implementation plans for significant changes, ahead of development starting
  • Designing Temporal workflow implementations - activity boundaries, retry and compensation strategy, idempotency, and workflow versioning
  • Implementing event-driven integration against defined pub/sub contracts, and flagging where contracts need to change
  • Implementing authorization against OpenFGA policies and Keycloak-backed OAuth 2.0 / OpenID Connect flows in a multi-tenant context
  • Working across PostgreSQL transactional models and ClickHouse reporting data within the client's data architecture
  • Diagnosing and resolving performance issues across the .NET stack - EF Core query plans, connection pooling, async/await misuse, memory and allocation behaviour
  • Owning the team's sprint delivery - refinement, planning, review, and retrospective - without the client needing to act as delivery coordinator
  • Ensuring merge requests are small and reviewable, peer review is substantive, and CodeRabbit and pipeline feedback is addressed rather than waved through
  • Holding the team to a definition of done that includes requirements validation, automated test coverage, documentation, release readiness, and supportability
  • Owning post-release stabilization and defect resolution for recently delivered work
  • Escalating risks, dependencies, and missing business decisions early
  • Line-managing and mentoring engineers - goal setting, performance feedback, career development, and technical onboarding
  • Partnering with client product and engineering stakeholders on trade-offs, sequencing, and feasibility
What we are looking for
Must-Have
  • At least 8 years of professional software engineering experience, with the majority in C# and .NET in production environments
  • Recognised depth in .NET Core and ASP.NET Core - you have owned non-trivial services end to end and can reason about the runtime, not just the framework surface
  • Expert-level Entity Framework Core, including migrations, query performance tuning, and knowing when to drop to raw SQL
  • Deep understanding of asynchronous and concurrent programming in .NET, including async/await pitfalls, cancellation, and thread-pool behaviour
  • At least 2 years leading engineering teams, with direct experience managing, mentoring, and developing engineers
  • Demonstrated ability to design and deliver within an existing architecture, including reading unfamiliar codebases quickly and respecting established patterns
  • Experience leading a dedicated or embedded delivery team inside a client's environment, processes, and repositories
  • Track record running sprint delivery without a separate delivery manager - refinement through retrospective
  • Production experience with a workflow orchestration engine (Temporal strongly preferred; Cadence, Camunda, or Step Functions considered)
  • Strong grasp of event-driven architecture and pub/sub messaging patterns
  • Practical experience implementing authentication and authorization for multi-tenant or role-sensitive applications using OAuth 2.0 and OpenID Connect
  • Strong relational data modelling skills in PostgreSQL, with an understanding of when analytical workloads justify a separate store
  • Experience with CI/CD pipelines and release process, ideally in GitLab
  • Confidence communicating technical decisions directly to non-technical client stakeholders
  • Must be located in British Columbia, Canada
  • Technologies Core: C#, .NET Core, ASP.NET Core, Entity Framework Core, worker services, asynchronous processing APIs: REST, OpenAPI/Swagger, API versioning strategies Orchestration and Integration: Temporal workflows, integration services, event-driven pub/sub
  • Data: PostgreSQL, ClickHouse, relational data modelling, reporting and analytics data
  • Identity and Authorization: Keycloak, OpenFGA, OAuth 2.0, OpenID Connect, SSO, role- and policy-based authorization
  • Testing: xUnit/NUnit, Moq, Testcontainers, unit, integration and API testing, Playwright end-to-end testing
  • Engineering and Collaboration: GitLab, GitLab CI/CD, CodeRabbit automated code review, Jira, Jira Product Discovery, Jira Service Management, Confluence
  • Frontend context: Next.js, React, TypeScript, Tailwind CSS, Shadcn/UI, component-driven development
Nice-to-Have
  • Working fluency in Next.js, React, and TypeScript - enough to review frontend code and unblock the team
  • Experience leading teams that include embedded BA and QA capability, rather than developers only
  • SaaS product delivery experience, particularly through a pilot-to-GA transition
  • Hands-on Temporal experience, including workflow versioning and testing strategies
  • Familiarity with fine-grained authorization models (Zanzibar-style / ReBAC) beyond OpenFGA specifically
  • Experience with ClickHouse schema design, materialized views, or high-cardinality analytics
  • Background in Domain-Driven Design and bounded context definition
  • Experience with CQRS and event sourcing patterns
  • Experience with Canadian public-sector or education data privacy requirements (PIPEDA, provincial FIPPA), including data residency considerations
  • Consulting or agency experience delivering to external clients
  • Experience running Jira Service Management as part of a support or run model
Who you are

You are a pragmatic engineer who makes decisions with incomplete information, documents the reasoning, and revisits them when the evidence changes. You lead by raising the capability of the people around you, and you would rather ship a well-understood system than a clever one nobody else can maintain. 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
  • Hybrid working model

Thank you for your interest in a career with Appnovation Technologies!

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.

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

Similar jobs worth comparing

Senior Technical Lead (.NET)
Senior Technical Lead (.NET)

Appnovation Technologies • Vancouver

On-site
CAD 120,000 - 180,000
Backend Developer (.NET)
Backend Developer (.NET)

Appnovation Technologies • Vancouver

On-site
CAD 110,000 - 150,000
Challenging projects
AI platforms access
Diverse culture
+2
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
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
Senior Developer, Fullstack - Python
Senior Developer, Fullstack - Python

appnovation • Toronto

On-site
CAD 110,000 - 150,000
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
Sr. Full-Stack Developer, AI Design-to-Dev

Worky • Toronto

Hybrid
CAD 110,000 - 160,000
Hybrid work model
Growth opportunities
Health benefits
+5
Data Architect / Engineer
Data Architect / Engineer

Appnovation • Montreal (administrative region)

On-site
CAD 90,000 - 130,000
Cloud Solutions Architect
Cloud Solutions Architect

Appnovation • Toronto

On-site
CAD 120,000 - 170,000
Cloud Solutions Architect
Cloud Solutions Architect

Appnovation Technologies • Montreal (administrative region)

On-site
CAD 110,000 - 160,000