> Markdown version of [/jobs/ext/3603214-senior-ai-software-engineer](https://www.wearedevelopers.com/jobs/ext/3603214-senior-ai-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior AI Software Engineer - **Company:** ExTrac AI - **Location:** London, UK - **Experience:** Expert - **Salary:** £66,416.0 - **Contract:** Permanent contract - **Skills:** Application Programming Interfaces (APIs), Artificial Intelligence, Automated Storage and Retrieval Systems, Network Analysis, Cloud Computing, Code Coverage, Databases, Distributed Systems, Intelligence Analysis, Python (Programming Language), Search Technologies, Service Design, Software Engineering, Management of Software Versions, Data Ingestion, Delivery Pipeline, Large Language Models, Multi-Agent Systems, Database Performance, Agentic-AI, SC Clearance, Artificial Intelligence Governance, Data Pipelines - **Published:** October 7, 2026 - **Apply:** https://www.adzuna.co.uk/jobs/details/5907658160 ## About the Role Due to the nature of our work and the clients we support, applicants must be eligible to obtain UK security clearance. We are currently only able to consider applicants who are nationals of a NATO member state, Australia, or New Zealand. * 4+ years of professional software engineering experience, with demonstrated ability to stand up production-grade services with comprehensive test coverage, and experience owning features end to end. * Proficiency in building services in Python, with working knowledge of Go or the ability to pick it up quickly. * Experience building and operating agentic systems, LLM applications, or production retrieval that real users depend on. * Solid understanding of distributed systems, databases, and software engineering patterns. * Experience writing performant asynchronous code that scales under real workloads. * Experience with cloud infrastructure and infrastructure as code, and with the CI/CD pipelines around them. * Experience with feature flags and trunk-based deployment. * Comfortable being handed a symptom rather than a diagnosis. Given a suspected memory leak, you would profile it, find the cause, and fix it. * Able to take a PRD and scope a technical design from it, pushing back where the proposed approach does not hold up. Equally, you look for a way through rather than concluding something cannot be done. * Strong communication and collaboration skills. Comfortable writing clear technical documentation and discussing requirements with colleagues from engineering and the wider team. * Breadth across the stack: improving deployment pipelines, understanding database behaviour, and a genuine interest in security and AI guardrails. You pick up unfamiliar tools quickly rather than needing prior expertise in a specific one. * An interest in validating analytical outputs and in taking analyst feedback into requirements discussions, rather than treating requirements as someone else's problem. Desirable * Experience with retrieval systems and large-scale vector database performance (Elastic). * Experience with graph or network analysis at scale. * Experience building retrieval or analysis that works across multiple languages. * Experience with streaming pipelines and search infrastructure. * Experience operating multi-tenant systems where data isolation is a hard requirement. * Experience working in compliance-constrained environments. A significant upcoming project is making our systems work within FedRAMP environments. ## Description We are looking for a Senior Software Engineer to join ExTrac's AI team, building Co-Analyst and the analytical AI features around it. Co-Analyst is a user-facing multi-agent system that works alongside intelligence analysts to research and write reports. A planning loop decomposes an analyst's question, fans work out to sub-agents, and assembles the results into a report where every claim traces back to the chunk of source it came from. Underneath sits vector search over a large unstructured corpus, across multiple languages and media types. The agent work is the centrepiece but not the whole job. In a single quarter the work spans agent orchestration, retrieval, graph analytics, and long-running streaming pipelines, alongside the services and databases underneath them. You will own services end to end across a Python and Go codebase, working alongside the data team who own the ingestion pipelines and a research-focused ML team who train and evaluate the models we integrate and serve. The loop is short: product brings an idea, often recent and unproven, and our job is to spike an implementation and take it to a production feature. New features land close to weekly. This hire exists to raise the AI team's throughput on hard problems, with an engineer who brings the systems depth to take an AI capability from something that works to something analysts can rely on. Agentic and analytical AI features * Build and improve the agent loop itself: context assembly, tool selection, and sub-agent orchestration. * Build the analytical AI features that sit alongside it, from network construction through to the summaries analysts read. * Prove that changes are improvements, running experiments against live analyst traffic behind feature flags. * Agree what "better" means for a capability before shipping it, and make the call honestly when the evidence says a promising approach is not working. * Find workable approaches where no established pattern fits, on a dataset that rarely arrives clean. * Work with embeddings as more than a retrieval concern. The same vectors drive network construction and community detection. * Work within a model-agnostic design, swapping models and embeddings on the back of the ML team's evaluations rather than being locked to one. Service design and delivery * Take an ambiguous problem, gather requirements, write a technical design, and ship to production with minimal oversight. * Own services end to end, including consolidating or decommissioning what they replace. * Design APIs used by both internal teams and customers, and hold them to clear contracts and sensible versioning as the number of consumers grows. * Treat the storage layer as a design concern rather than an implementation detail: schema, indexing strategy, and access patterns, across relational, document, and vector stores. * Contribute to and lead system design and architecture decisions. Production engineering * Own supporting services end to end across Python and Go: design, build, deploy, operate. * Hold agent workflows to production standards for latency, cost, and reliability, in a system where non-determinism is a given. * Build and operate long-running streaming pipelines, including the caching and recovery behaviour that makes them survivable. Working with analysts, product, and the ML team * Work directly with the analysts who use our products, turning what they hit in practice into changes in the system. * Iterate quickly against a live stream of product requests, flagging where they collide with longer-horizon capability work. * Partner with the ML team on agentic approaches, taking proven concepts to production and solving the engineering, performance, and reliability problems a research implementation does not have to. * Integrate and serve the models they train, and build the production infrastructure their evaluation frameworks run on.