Principal Software Engineer, Cloud
Senior Full-Stack .NET Developer – AI-Forward Engineering
Type: Full-time
Level: Senior
About the Role
We’re looking for a senior full-stack .NET developer who treats AI tooling as a core part of their engineering practice. You’ll build and maintain a multi-service technology expense management platform built on .NET 8, working across both backend microservices and modern frontend applications. You should use AI coding assistants (Cursor, GitHub Copilot, Claude, ChatGPT, or similar) fluently, critically, and responsibly, reviewing generated code with the same rigor you’d apply to a junior developer’s PR.
What You’ll Do
1. Design and implement features across a distributed .NET 8 microservice platform (REST APIs, background workers, message bus handlers)
2. Build and maintain modern front-end applications using React and TypeScript
3. Apply Clean Architecture and CQRS patterns to backend services
4. Author and evolve EF Core database migrations in a shared schema model
5. Write unit, integration, and end-to-end tests
6. Use AI coding tools actively for scaffolding, refactoring, code review, and exploration while maintaining quality ownership
7. Participate in code review with a focus on patterns, correctness, and maintainability
8. Contribute to and uphold architectural standards and shared patterns across teams
What We’re Looking For
Must-Haves
9. 5+ years of professional C# / .NET development (.NET 6+ preferred)
10. Strong understanding of dependency injection, async/await patterns, and service lifetime management
11. Experience with front-end frameworks (React)
12. Experience with message-driven architecture (Rebus, MassTransit, NServiceBus, or similar)
13. Comfort working in multi-tenant SaaS environments
14. Solid SQL / EF Core skills and experience with schema migrations in production systems
15. Demonstrable experience using AI coding tools as a genuine productivity multiplier, with judgment to catch what they get wrong
Strong Differentiators
16. Experience with technology expense management, FinOps tooling, or cloud billing APIs (Azure/AWS/GCP)
17. Background in Clean Architecture / Domain-Driven Design
18. Experience with spec-driven development and code generation
19. Experience writing AI-assisted code at scale and helping establish team norms around it
AI Fluency – What We Actually Mean
20. Use AI tools to accelerate first drafts of handlers, tests, UI components, and migrations
21. Critically review AI-generated code against architectural patterns and push back when it deviates
22. Leverage AI for codebase exploration, refactoring proposals, frontend+backend scaffolding, and documentation
23. Stay current with evolving AI tooling and bring useful techniques back to the team
Tech Stack
24. .NET 8, C#, ASP.NET Core
25. React / TypeScript / Blazor (front-end)
26. Message bus (Rebus, MassTransit, or similar), EF Core (SQL Server)
27. Azure (App Services, Service Bus, Application Insights)
28. xUnit, FluentAssertions, FakeItEasy
29. Cursor / GitHub Copilot (AI-assisted development)
30. Git, Azure DevOps, PowerShell
What Good Looks Like in This Role
31. You reach for AI to eliminate boilerplate and then own what it produces
32. You contribute well-structured backend handlers and clean, testable frontend components
33. You notice when a handler or UI module is growing unwieldy and extract without being asked
34. You read the patterns guide before introducing something new
35. You write backend and frontend tests that describe intent, not just coverage
36. You treat shared database migrations as carefully as production deployments