Our US-based client is the leading provider of Asset Liability Management (ALM) solutions for banks and credit unions.
Strong C# and .NET skills, with the judgment to work in an existing codebase – read it, understand the patterns, and improve it rather than paving over it
Solid experience with a modern SPA framework and TypeScript (Angular preferred; React/Vue transfers), plus comfort with HTML/CSS and a utility-first approach like Tailwind
Proven experience building and consuming RESTful web services in the cloud (Azure preferred)
Range across the stack – you have a home layer, but you’ll follow a problem from the UI through the API into a calculation or a query
Comfort reasoning about correctness: where a bug should have been caught, and how to verify numerical output (tolerances, expected values, regression of calculated results) rather than just HTTP 200s
Working knowledge of relational and/or document databases – schema design, writing queries, and knowing when the query is the bottleneck
Excellent communication in a distributed team – strong written English, and the ability to defend a design in review, ask hard questions in grooming, and explain tradeoffs to business stakeholders who aren’t engineers
5+ years of relevant experience, and a bachelor’s degree in Computer Science, Mathematics, or a related discipline – or equivalent practical experience
Design and build features end-to-end – C# APIs and Azure Functions on the backend, Angular and TypeScript on the frontend – and own them from design through production
Work in the numbers, not just around them: extend and maintain the financial calculation engines at the heart of platform
Build out new UI, wired to the API – and help establish the patterns the frontend will scale on
Extend and debug our event-driven Azure architecture: Service Bus, queue workers, blob storage, App Configuration, and Key Vault
Model and query data in MongoDB, and push work to the right layer when a query or a calc-heavy path gets slow
Write tests as you build – unit, integration, and end-to-end – with a clear opinion on where each layer earns its keep, especially for calculated output
Treat performance and reliability as features: catch slowdowns the same week they’re introduced, not the quarter a client notices
Close the loop with production – monitor Azure alerts, logs, and traces (Application Insights), diagnose escaped defects across the stack, and feed what you learn back into the code and the tests
Use AI tools like Claude Code daily – to explore unfamiliar code, scaffold features, generate tests, and sharpen how the whole team ships
Raise the floor for the team: review PRs with substance, partner on testable design, and make good practice shared practice
Refine requirements with business analysts before they become code – and push back when a requirement doesn’t hold together
Serve as second-level support for internal user questions and issues