Senior Machine Learning Engineer
This role focuses on designing and deploying autonomous AI agents for high-stakes insurance underwriting, leveraging LangChain and LLM-driven workflows to automate complex, multi-step decision-making. The engineer will collaborate on reimagining software delivery through agentic-first development, blending production ML with AI-assisted engineering practices.
Skills required
About this role
Insurance isn’t the first industry most engineers think of when they imagine cutting-edge AI work. That’s exactly why this role is interesting.
CFC’s Data & AI unit is building production agentic systems that automate complex underwriting decisions - not chatbots, not copilots bolted onto legacy workflows, but autonomous multi-step AI agents that reason over unstructured data, assess risk, and drive real business outcomes. We’re using frameworks like LangChain to orchestrate LLM-driven services that sit at the heart of how the business operates. The problems are genuinely hard: ambiguous inputs, high-stakes decisions, and the kind of domain complexity that makes for satisfying engineering.
We’re also fundamentally rethinking how we deliver software. We’re moving toward an agentic-first development model - using AI agents not just in what we build for the business, but in how we build it. The goal is to multiply engineering delivery by an order of magnitude: not by cutting corners or generating throwaway code, but by designing robust systems and processes that let agents handle well-defined work while engineers focus on architecture, design, and the problems that actually require human judgment. This is a deliberate, engineering-led approach. We care about code quality, testability, and maintainability - the agent-generated code meets the same standards as everything else. We expect that a successful candidate will be able to bring their expertise to help guide and refine our agentic development process as it matures - a meaningful opportunity to influence how we work as well as what we ship.
This is a Senior Machine Learning / AI Engineer role with genuine technical leadership scope. You’ll shape the architecture of AI-driven production microservices, own system design decisions, and work at the intersection of traditional software engineering and applied AI. You’ll collaborate closely with engineers, data scientists, and product managers in a team that’s small enough for your decisions to matter and ambitious enough for the work to stay interesting.
About the role
- Design, develop, and maintain business-critical AI agent services.
- Build tailored agent workflows and services from business requirements, using LangChain and related frameworks with reliable patterns for LLM-driven decision-making in production.
- Integrate tests and validation to improve AI agents through evals and monitoring.
- Work with software engineers and architects to lead system design and architectural decisions.
- Translate technical specifications into clean, testable, and scalable production code.
- Work closely with cross-functional teams - engineers, data scientists, product managers - to deliver features on time and to a high standard.
- Write unit and integration tests to maintain reliability and service correctness.
- Monitor, troubleshoot, and continuously improve production services.
- Produce clear, structured documentation for systems, architecture, and processes.
- Mentor junior engineers through code reviews, best-practice guidance, and knowledge sharing.
About you
We’re looking for an experienced AI or Machine Learning Engineer with strong software engineering fundamentals and a passion for building robust, production-ready AI systems. You’ll be someone who enjoys solving complex technical problems, making thoughtful architectural decisions and working on systems where quality, reliability and maintainability really matter.
You’ll have:
- Significant experience building production-grade AI agents or LLM-powered services.
- Strong Python development experience, ideally with 6+ years of professional software engineering experience.
- A track record of writing clean, maintainable and high-quality production code.
- Experience supporting business-critical systems in live production environments.
- Strong understanding of asynchronous programming, Docker, containerised deployments and modern service architectures.
- Experience designing distributed systems, asynchronous microservices and event-driven architectures.
- Confidence leading system design discussions and making pragmatic architectural trade-offs.
- Strong cloud experience, ideally within Azure.
- Experience deploying, monitoring and maintaining ML or LLM models in production.
- Familiarity with MLOps, LLMOps, evals, monitoring and lifecycle management.
- Hands-on experience orchestrating LLM workflows using frameworks such as LangChain.
- An interest in how agentic software development can improve engineering delivery without compromising code quality.
- Strong communication skills and the ability to collaborate effectively in remote or asynchronous environments.
- An ownership mindset, with the ability to work independently and contribute effectively to shared codebases.