<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hire on Metaheuristic - Applied AI partner</title><link>https://www.metaheuristic.co/hire/</link><description>Recent content in Hire on Metaheuristic - Applied AI partner</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://www.metaheuristic.co/hire/index.xml" rel="self" type="application/rss+xml"/><item><title>Agentic AI engineer</title><link>https://www.metaheuristic.co/hire/agentic-ai-engineer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/agentic-ai-engineer/</guid><description>&lt;p&gt;An agent is not a prompt. It is a control loop with money attached: a model
decides, a tool runs, state changes, and the loop goes around again. Everything
that makes agents hard is in that sentence - non-determinism at the decision
point, side effects at the tool boundary, and unbounded cost in the loop.&lt;/p&gt;
&lt;p&gt;Hiring an &lt;strong&gt;agentic AI engineer&lt;/strong&gt; means hiring someone who treats that loop as a
distributed system rather than a clever prompt.&lt;/p&gt;</description></item><item><title>AI agent developer</title><link>https://www.metaheuristic.co/hire/ai-agent-developer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/ai-agent-developer/</guid><description>&lt;p&gt;The demo took a weekend. The production version has been &amp;ldquo;two weeks away&amp;rdquo; for a
quarter. Between them sits work nobody demoed: authentication into six internal
systems, a queue that survives a deploy, an approval screen for the cases the
agent should not decide alone, and a test suite that catches the regression
before your customer does.&lt;/p&gt;
&lt;p&gt;An &lt;strong&gt;AI agent developer&lt;/strong&gt; is the person who does that work.&lt;/p&gt;
&lt;h2 id="what-gets-built"&gt;What gets built&lt;/h2&gt;
&lt;h3 id="the-agent"&gt;The agent&lt;/h3&gt;
&lt;p&gt;Planning and tool-calling loop, scoped to a task small enough to verify.
Budgets, retries, cutoffs, and an escalation path to a human when confidence or
permissions run out.&lt;/p&gt;</description></item><item><title>CV</title><link>https://www.metaheuristic.co/hire/cv/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/cv/</guid><description>&lt;p&gt;I build systems where a language model plans, calls tools, and acts - and I make
those systems measurable, safe and cheap enough to point at production traffic.&lt;/p&gt;
&lt;p&gt;The work is closer to distributed systems engineering than to modelling: control
flow with real budgets, tool contracts that survive an unreliable caller,
retrieval that respects your permission model, an eval harness that turns prompt
changes into diffs with numbers attached, and traces that make a 3am diagnosis
possible.&lt;/p&gt;</description></item><item><title>Job description template</title><link>https://www.metaheuristic.co/hire/agentic-ai-engineer-job-description/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/agentic-ai-engineer-job-description/</guid><description>&lt;p&gt;Most agentic AI engineer job descriptions are a list of framework names. That
screens for people who have read the documentation and against people who have
been paged at 3am by a loop that would not stop. Here is a version that does the
opposite.&lt;/p&gt;
&lt;h2 id="the-template"&gt;The template&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Agentic AI Engineer&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You will design and ship systems where a language model plans, calls tools, and
takes real actions against real data - and you will make those systems
measurable, safe and cheap enough to run at our volume.&lt;/p&gt;</description></item><item><title>LLM engineer</title><link>https://www.metaheuristic.co/hire/llm-engineer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/llm-engineer/</guid><description>&lt;p&gt;The model is the cheapest part of your system to change and the most expensive
part to change blindly. An &lt;strong&gt;LLM engineer&lt;/strong&gt; is the person who makes that change
measurable: prompts under version control, an eval suite that runs in CI, a cost
model per task, and a routing layer so no single vendor is load-bearing.&lt;/p&gt;
&lt;h2 id="the-work"&gt;The work&lt;/h2&gt;
&lt;h3 id="evals-first"&gt;Evals first&lt;/h3&gt;
&lt;p&gt;A golden set drawn from real traffic, pass criteria written by whoever owns the
outcome, and a regression gate in CI. Once that exists, prompt changes stop
being arguments and become diffs with numbers attached. Before it exists, every
release is a vibe.&lt;/p&gt;</description></item><item><title>RAG engineer</title><link>https://www.metaheuristic.co/hire/rag-engineer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/rag-engineer/</guid><description>&lt;p&gt;Retrieval-augmented generation is easy to demo and hard to run. The tutorial
version - split on 500 characters, embed, cosine similarity, top five - works
beautifully on a clean corpus with no access control and no deadlines. Your
corpus is not clean, your documents belong to different people, and half of them
were scanned in 2019.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;RAG engineer&lt;/strong&gt; is hired for the distance between those two situations.&lt;/p&gt;
&lt;h2 id="what-breaks-in-production-in-order-of-frequency"&gt;What breaks in production, in order of frequency&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Parsing.&lt;/strong&gt; The PDF pipeline drops table structure, so a number loses its column header and the model confidently misreads it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Chunking.&lt;/strong&gt; Fixed-size splits cut clauses in half. Contract language, policy documents and specifications are hierarchical, and the chunker should be too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Permissions.&lt;/strong&gt; The demo searched everything. Production must not, and post-filtering leaks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Freshness.&lt;/strong&gt; Nobody defined how stale is too stale, so the index quietly drifts a quarter behind the source of truth.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ranking.&lt;/strong&gt; Pure vector similarity retrieves topically related but useless passages. Hybrid search plus a reranker usually beats a better embedding model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No retrieval evals.&lt;/strong&gt; Quality is discussed rather than measured, so every change is a guess.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="what-gets-built"&gt;What gets built&lt;/h2&gt;
&lt;h3 id="ingestion"&gt;Ingestion&lt;/h3&gt;
&lt;p&gt;Layout-aware parsing, OCR where needed, table and structure extraction,
deduplication, and a pipeline that is re-runnable and incremental rather than a
one-off script someone ran in a notebook.&lt;/p&gt;</description></item><item><title>Rates &amp; engagement models</title><link>https://www.metaheuristic.co/hire/rates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.metaheuristic.co/hire/rates/</guid><description>&lt;h2 id="four-shapes"&gt;Four shapes&lt;/h2&gt;
&lt;h3 id="1-architecture-review---1-to-2-weeks"&gt;1. Architecture review - 1 to 2 weeks&lt;/h3&gt;
&lt;p&gt;For teams with something already running that is slow, expensive, unreliable, or
about to meet a security review. You get a written teardown: failure taxonomy
from your own traces, eval and guardrail gaps, a cost and latency model, and a
prioritised fix list with effort estimates. Fixed fee. No obligation to continue.&lt;/p&gt;
&lt;h3 id="2-discovery-sprint---2-to-4-weeks"&gt;2. Discovery Sprint - 2 to 4 weeks&lt;/h3&gt;
&lt;p&gt;For teams who know the outcome they want and not the path. You get a working
thin slice, an architecture your engineers can build against, an eval harness, a
security pre-check, a cost and latency model, and a roadmap your board can read.
Fixed fee, credited against a build.&lt;/p&gt;</description></item></channel></rss>