About the role:
We are building a greenfield, document-driven lending platform that automates the full lifecycle of a loan application — from document intake and OCR-based extraction, through human-in-the-loop review, to final approval and downstream submission. The system is a modular monolith with a clear separation between backend services and multiple trust-boundaried web front ends, deployed natively on Azure.
We're looking for a senior full-stack engineer who is equally comfortable designing clean, testable back-end architecture in C#/.NET and building modern, production-grade UI in React/Next.js. You'll work across the stack: domain modeling, API design, background/async processing, and customer- and operations-facing web applications.
Responsibilities
- Design and build business logic and domain modules in an ASP.NET Core API following Clean Architecture principles (Domain, Application, Infrastructure, API layers).
- Build and maintain asynchronous background processing services (a .NET worker) for document-heavy workflows, coordinated through message queues.
- Develop and maintain multiple Next.js/React applications serving different user populations (internal operations/back-office tooling and external/customer-facing portals), sharing a common package layer.
- Design relational data models and write efficient data access code (EF Core / PostgreSQL).
- Integrate with cloud-native infrastructure: message queues, blob storage, secrets management, and managed identity providers.
- Implement authentication and authorization across multiple identity boundaries (workforce vs. external/customer identity).
- Collaborate on API contracts and shared TypeScript types consumed by front-end applications.
- Participate in architectural decisions that keep a growing monolith modular, maintainable, and well-tested (unit, integration, contract, and architecture tests).
- Work within a human-in-the-loop product model: build tooling that lets operators review, correct, and approve AI-assisted extraction results, with full traceability of how each data point changed from raw intake to final approval.
- Write and maintain automated tests across the stack and participate in CI/CD pipeline health.
- Participate in code review, technical design discussions, and mentor less experienced engineers.
Requirements
- 8+ years of professional software development experience, with deep expertise in C# / .NET (ASP.NET Core).
- 4+ years building production front-end applications with React, including Next.js (App Router, server components/actions, route handlers).
- Strong understanding of Clean/Layered Architecture, domain modeling, and separation of concerns in non-trivial back-end systems.
- Experience with relational databases and ORMs (EF Core or equivalent), including migrations and query performance.
- Solid TypeScript skills and comfort working in a monorepo with shared, versioned internal packages.
- Experience with cloud infrastructure (Azure preferred; AWS/GCP equivalents considered) — messaging/queues, object storage, secrets management.
- Experience implementing or integrating OAuth2/OIDC-based authentication, ideally with enterprise identity providers (e.g., Microsoft Entra ID or similar).
- Strong automated testing discipline: unit, integration, and contract testing on both back end and front end.
- Comfortable working across the full stack without hand-offs — from database schema to API to UI.
- Excellent communication skills and experience working in a small, senior, high-autonomy engineering team.