Senior Software Engineer (AI & ML)

Senior Software Engineer (AI & ML)

Full-Time 72000 - 88000 £ / year (est.) Hybrid
C

At a Glance

  • Tasks: Design and build AI agents for complex underwriting decisions using cutting-edge technology.
  • Company: Join a dynamic tech company revolutionising the insurance industry with AI.
  • Benefits: Enjoy competitive salary, health benefits, remote work options, and opportunities for professional growth.
  • Other info: Collaborative culture that values innovation, fun, and personal growth.
  • Why this job: Make a real impact by solving complex engineering challenges in AI and ML.
  • Qualifications: 5+ years in software development, experience with AI systems, and strong programming skills.

The predicted salary is between 72000 - 88000 £ per year.

We’re building AI systems that sit at the heart of how CFC makes complex underwriting decisions. Our Data & AI unit is developing autonomous, multi-step agents that reason over unstructured data, assess risk and deliver real business outcomes, creating the kind of complex engineering problems where great software engineering really matters.

Making agentic AI work reliably in production means solving challenges traditional software doesn’t always face: non-deterministic behaviour, tool failures, long-running workflows, high-stakes decisions and outputs that need to be observable and auditable. That’s where you come in.

As a Senior Software Engineer (AI & ML), you’ll help shape how these systems are designed and built, working across agent orchestration, APIs, tool integrations, durable state, guardrails, observability and cloud infrastructure. You’ll partner closely with Senior Machine Learning Engineers on the same agents, bringing the engineering depth needed to make them robust, testable and maintainable in production.

About the role

  • Design, build and run production AI agents that automate multi-step underwriting decisions over unstructured data.
  • Build the agent runtime, including orchestration, durable state, retries and long-running workflows that recover cleanly from failure.
  • Develop the tools, APIs and data services that agents call, creating clear contracts, predictable failure modes and full auditability.
  • Engineer guardrails, human-in-the-loop checkpoints and fallbacks for high-stakes automated decisions.
  • Instrument, monitor and troubleshoot agents and services in production, including tracing, cost, latency and decision logs, working with ML engineers to turn those insights into evaluations and improvements.
  • Help drive system design and architectural decisions for our agents and the services around them.
  • Design and evolve the data models and database schemas supporting submissions, agent runs, decisions and audit trails.
  • Provision and manage cloud infrastructure through Terraform and contribute to a high production standard across agent-generated code and tests.
  • Work closely with business, product and engineering teams to set delivery cadence, manage expectations and make pragmatic decisions about where additional engineering quality adds the most value.
  • Support the development of other engineers through code reviews, best-practice guidance and knowledge sharing.

About you

We’re looking for someone who combines strong software engineering fundamentals with hands‑on experience taking agentic AI beyond prototypes and into production.

You’ll bring:

  • Hands‑on experience building LLM‑based agents or agentic systems in production, ideally using orchestration frameworks such as LangGraph or LangChain, or equivalent systems you’ve built yourself.
  • A strong understanding of how agents fail in the real world, from non‑determinism and tool failures to runaway loops, cost and latency issues, and how to engineer around them.
  • 5+ years’ professional software development experience in Python or another backend language such as Go, Java or C#. Our stack is Python, so you’ll need enough working knowledge to transfer your skills quickly if it isn’t already your main language.
  • Strong experience with asynchronous and concurrent programming, alongside a rigorous approach to unit and integration testing.
  • Day‑to‑day experience delivering software with AI coding agents, while maintaining a high bar for the code they produce.
  • Experience designing systems end to end, including service boundaries, data flows and failure modes, with the judgement to make and explain architectural trade‑offs.
  • Strong relational database and data modelling experience. We use PostgreSQL, covering areas including schema design, query performance, transactions, concurrency and safe schema migrations.
  • Experience building distributed, asynchronous microservices using message brokers such as Azure Service Bus, with an understanding of at‑least‑once delivery, idempotency and dead‑letter handling.
  • Experience building clear, well‑documented RESTful APIs. We use FastAPI.
  • Strong cloud and infrastructure‑as‑code experience. Our environment uses Azure and Terraform, and hands‑on IaC experience is essential for this role.
  • Experience with Docker and production container platforms such as Azure Container Apps, Kubernetes GKE or ECS, alongside CI/CD workflows and YAML pipeline definitions.
  • Clear communication, pragmatic judgement and the confidence to work independently, influence technical decisions and mentor other engineers.
  • Experience building agents for high‑stakes or regulated decision‑making, working with data scientists on non‑deterministic systems, using Databricks, or working within insurance would be useful, but these are nice‑to‑haves rather than requirements.

Core Values

  • Love what you do: We show up each day ready to take on the world. Our passion and intensity set us apart and makes the difference to our colleagues, customers, brokers and carriers.
  • Challenge everything: We’re never afraid to question the way that things are done and we constantly challenge ourselves and others to makes things better.
  • Have fun, be good: Insurance is a serious business, but we don’t take ourselves too seriously. We make it fun to work at CFC, we welcome all viewpoints, and we treat everyone how we would expect to be treated.

Senior Software Engineer (AI & ML) employer: CFC Underwriting

CFC Underwriting is an exceptional employer that fosters a collaborative and innovative work culture in the heart of London. As a Finance Transformation Analyst, you will have access to extensive professional development opportunities, allowing you to enhance your skills while contributing to meaningful process changes that drive the company's success. With a focus on employee growth and a commitment to excellence, CFC Underwriting offers a dynamic environment where your contributions are valued and recognised.

C

Contact Details:

CFC Underwriting Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior Software Engineer (AI & ML)

✨Join Local Tech Meetups

Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at CFC Underwriting or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!

✨Contribute to Open Source Projects

Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to CFC Underwriting.

✨Tap into Online Developer Communities

Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like CFC Underwriting.

✨Explore Job Boards Specifically for Tech Roles

Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like CFC Underwriting that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!

We think you need these skills to ace Senior Software Engineer (AI & ML)

Python
Go
Java
C#
Asynchronous Programming
Concurrent Programming
Unit Testing

Some tips for your application 🫡

Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.

Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at CFC Underwriting.

Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at CFC Underwriting and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!

Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!

How to prepare for a job interview at CFC Underwriting

✨Brush Up on Your Coding Skills

For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.

✨Know Your Tools and Frameworks

Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If CFC Underwriting uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.

✨Showcase Your Projects

Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.

✨Prepare for Behavioural Questions

While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.