{"id":2119865,"url":"https://alion.io/job/extrac-ai-software-engineer","title":"AI Software Engineer","company":{"id":4333564,"name":"ExTrac","domain":"extrac.ai","url":"https://alion.io/company/extrac","size_band":"51-200","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Ashby","truth_index":null},"role":"AI/ML","role_family":"AI/ML","seniority":"junior","employment_type":"full_time","work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["London, United Kingdom"],"countries":["GB"],"hiring_countries":[],"hiring_countries_total":0,"salary":{"min":75000,"max":80000,"currency":"GBP","period":"year","gross":null,"usd_annual":105728},"salary_estimate":null,"experience_years_min":2,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"AI Agents","optional":false},{"name":"CI/CD","optional":false},{"name":"Embeddings","optional":false},{"name":"FedRAMP","optional":false},{"name":"Go","optional":false},{"name":"LLM","optional":false},{"name":"LLM Guardrails","optional":false},{"name":"Multi-Agent Systems","optional":false},{"name":"Python","optional":false},{"name":"Trunk-Based Development","optional":false}],"status":"live","first_seen_at":"2026-09-30T10:14:52Z","employer_posted_date":"2026-09-30","last_verified_at":"2026-10-11T18:29:24Z","board_verified":true,"closed_at":null,"days_open":11,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":11},"description":"About ExTrac\nExTrac is a decision intelligence company used by governments, defence organisations, financial institutions, and corporates operating in complex, fast-moving environments. Our capabilities fuse curated data sources, domain-specific AI, and deep human expertise to transform information overload into clear, actionable foresight.\nOur ambition is to become the analytical backbone that organisations rely on when geopolitical uncertainty becomes an opportunity or a strategic risk. More at extrac.ai.\nThe Role\nWe are looking for a Software Engineer to join ExTrac's AI team, building Co-Analyst and the analytical AI features around it.\nCo-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 hybrid retrieval over a large unstructured corpus: analyst intent translated into structured filters, combined with keyword and dense vector search, across multiple languages and media types.\nThe 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 well-defined features and components end to end across a Python and Go codebase, working alongside senior engineers who set technical direction, 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.\nThis hire exists to add capacity on the AI team's hard problems: an engineer who can independently deliver well-scoped features and components, and who is building towards owning more of the system end to end.\nWhat the job involves\nAgentic and analytical AI features\nBuild and improve components of the agent loop itself: context assembly, tool selection, and sub-agent orchestration, with guidance from senior engineers on the team.\n\nBuild the analytical AI features that sit alongside it, from network construction through to the summaries analysts read.\n\nHelp prove that changes are improvements, running experiments against live analyst traffic behind feature flags.\n\nContribute to agreeing what \"better\" means for a capability, and flag honestly when the evidence says a promising approach is not working.\n\nWork with embeddings as more than a retrieval concern. The same vectors drive network construction and community detection.\n\nWork within a model-agnostic design, swapping models and embeddings on the back of the ML team's evaluations rather than being locked to one.\n\nService design and delivery\nTake a well-defined problem, clarify requirements with your lead or a senior engineer, and ship it to production with regular check-ins rather than close oversight.\n\nOwn features and components end to end within a single system, contributing to system design and architecture discussions and taking on more of the design work as you build context.\n\nBuild and maintain APIs used by internal teams and customers, following established contracts and versioning conventions.\n\nWork with the storage layer as a design concern rather than an implementation detail: schema, indexing strategy, and access patterns, across relational, document, and vector stores.\n\nProduction engineering\nBuild and operate supporting services across Python and Go, with growing ownership of design, deployment, and operations as you build track record.\n\nHelp hold agent workflows to production standards for latency, cost, and reliability, in a system where non-determinism is a given.\n\nBuild and operate long-running streaming pipelines, including the caching and recovery behaviour that makes them survivable.\n\nWorking with analysts, product, and the ML team\nWork directly with the analysts who use our products, turning what they hit in practice into changes in the system.\n\nIterate quickly against a live stream of product requests, flagging where they collide with longer-horizon capability work.\n\nPartner with the ML team on agentic approaches, helping take proven concepts to production and working through the engineering, performance, and reliability problems a research implementation does not have to.\n\nHelp integrate and serve the models they train, and contribute to the production infrastructure their evaluation frameworks run on.\n\nYou should apply if\nYou have built and worked on production backend systems, and you want to keep doing that. You will spend more of your time in Python and Go services, databases, and APIs than in a prompt file, and you know the difference between something that demos well and something that holds up under production load, latency, and cost.\n\nYou can work independently on well-defined problems, and know when to flag ambiguity or ask for input rather than guessing. When the obvious approach fails, you look for another one before escalating.\n\nYou are curious about agentic frameworks and comfortable working without one. Experience with them is useful, but we build most of our own orchestration, because off-the-shelf abstractions have not survived our requirements around evaluation, control, and production performance.\n\nYou can take a recent technique or paper, help spike an implementation, and reason clearly about whether it is worth taking further.\n\nYou do not trust a change until you have measured it. Reaching for the evaluation is instinct rather than afterthought.\n\nYou actively seek feedback and act on it, and you look for opportunities to pair with and learn from the engineers around you.\n\nYou want to work on things that matter. Our software sits underneath decisions taken by governments, defence organisations, and institutions operating where being wrong or late carries real consequences.\n\nWhere this role can take you\nGrow into full ownership. Strong performance means owning larger features and whole services end to end, writing the technical designs others build on, and leading reviews rather than only taking part in them. That is the path to Senior, and it is a path we will actively work with you on.\n\nBreadth rather than a narrow track. The work follows the problem, which means agent orchestration one month and pipeline, retrieval, or infrastructure work the next. Engineers here have the opportunity to build depth across several areas rather than being funnelled into one.\n\nWork on a class of system nobody has settled yet. There are established patterns for running web services and for training models. There are none yet for operating agentic systems in production: controlling cost and latency, making non-deterministic behaviour dependable, and knowing when a change is genuinely an improvement. You will be helping work those out, and that experience is still rare.\n\nTake on a different class of problem. Making our systems work inside FedRAMP environments is a major upcoming project, and engineering under that kind of constraint is a skill set that stays with you.\n\nRequirements\nDue 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.\n2+ years of professional software engineering experience, with demonstrated ability to build and ship production-grade services with solid test coverage, and experience owning features or components end to end within a larger system.\n\nProficiency in building services in Python, with working knowledge of Go or the ability to pick it up quickly.\n\nSome exposure to agentic systems, LLM applications, or retrieval running in production, or clear evidence you would pick them up fast.\n\nA good understanding of distributed systems and databases, including writing asynchronous code that performs under load.\n\nExperience with cloud infrastructure and the CI/CD pipelines around it.\n\nComfortable working with trunk-based deployment.\n\nComfortable being handed a symptom rather than a diagnosis. Given a suspected memory leak, you would profile it, find the cause, and fix it, asking for support when you get stuck.\n\nAble to take a well-defined requirement and scope a technical approach from it, asking clarifying questions up front rather than assuming. You communicate clearly in writing and can produce documentation colleagues can follow, and you look for a way through rather than concluding something cannot be done.\n\nBreadth and curiosity across the stack: an interest in deployment pipelines, database behaviour, security and AI guardrails, and in validating analytical outputs and feeding analyst feedback into requirements. You pick up unfamiliar tools quickly rather than needing prior expertise in a specific one.\n\nDesirable\nExperience with retrieval systems and large-scale vector database performance (Elastic).\n\nExperience with graph or network analysis at scale.\n\nExperience building retrieval or analysis that works across multiple languages.\n\nExperience with infrastructure as code, streaming pipelines, and search infrastructure.\n\nExperience operating multi-tenant systems where data isolation is a hard requirement.\n\nExperience working in compliance-constrained environments. A significant upcoming project is making our systems work within FedRAMP environments.\n\nInterview Process\nInitial Intro Interview with Hiring Manager - 30 Minutes\n\nTechnical Assessment - 1 hour\n\nCompetency-based Interview - 1 hour\n\nFounder interview - 30 Minutes\n\nBenefits\nCompetitive salary based on skills and experience.\n\nA generous benefits package, including Private Medical Health Insurance and enhanced pension contributions.\n\nEnhanced parental leave and a workplace nursery scheme.\n\n£500/year education budget with more expensive items (like conferences) covered with manager approval.\n\n33 days of leave across the year inclusive of bank holidays.\n\nFlexible working. The team is typically in our central London office two days a week, and you are welcome to come in up to five.\n\nExTrac AI provides equal employment opportunities (EEO) to all employees and applicants for employment without regard to race, colour, religion, sex, national origin, age, disability, genetic information, sexual orientation, gender identity, or gender expression. We are committed to a diverse and inclusive workforce and welcome people from all backgrounds, experiences, perspectives, and abilities.\nExTrac AI is committed to a fair and transparent hiring process. We confirm that this advertisement is for an active, existing open role within our organisation. Please be advised that we may use artificial intelligence-driven tools to assist our recruitment team in screening, assessing, and selecting candidates for this position but all hiring decisions will be made by a member of our team.","description_format":"text","description_chars":11140,"description_truncated":false,"requirements":{"experience_years_min":2,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":["Flexible schedule","Health insurance","Parental leave","Workplace nursery"],"hiring_locations":[{"name":"United Kingdom","iso":"GB","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":[],"lifecycle":[{"event":"open","at":"2026-10-08T23:54:59Z"}],"visa":[],"liveness":{"score":84,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.839,"p_room":1,"age_days":9,"expected_fill_days":30,"reasons":["conf:0","velocity","win:early","comp:junior"],"computed_at":"2026-10-10T05:45:15Z"},"pay":{"stated_usd_annual":105728,"is_top_pay":false},"html_url":"https://alion.io/job/extrac-ai-software-engineer","json_url":"https://alion.io/job/extrac-ai-software-engineer.json","meta":{"generated_at":"2026-10-11T19:06:06Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":5597,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-12T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":4333564},"rest":"https://alion.io/mcp/rest/get_company?id=4333564"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fextrac-ai-software-engineer"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fextrac-ai-software-engineer"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fextrac-ai-software-engineer"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/extrac-ai-software-engineer\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fextrac-ai-software-engineer"}]}