Writing a Requirements Profile for Tech Roles (Template Included)

The requirements profile is the document every tech search stands or falls on. Here is the exact structure, a filled-in example, and the discipline that keeps it from turning into a unicorn wish list.

Elena Voss·Head of AI Delivery, Aiporate··8 min read·Share on XLinkedIn

Key takeaways

  • A requirements profile is a decision document, not a wish list: it defines what the hire must be able to deliver, so sourcing, screening and interviews all score against the same target.
  • Separate must-haves from nice-to-haves ruthlessly, and cap the must-haves: if more than about seven requirements are truly non-negotiable, you have written two roles into one profile.
  • Write requirements as outcomes ("can take a model from notebook to monitored production service") rather than tool lists ("Python, Docker, Kubernetes, MLflow"), because tools are learnable and outcomes are the actual job.
  • Calibrate seniority against what the role decides, not years of experience: scope of ownership and ambiguity handled are far better level signals than a number of years.
  • The anti-unicorn rule: every additional must-have shrinks the candidate pool multiplicatively, so each one has to buy its place by being genuinely deal-breaking.

Most failed tech searches fail before the first candidate is ever contacted, in a document almost nobody treats as important: the requirements profile. When it is a copy-pasted list of every tool the team has ever touched, sourcing targets the wrong people, interviewers score against different imaginary roles, and the offer goes to whoever happened to survive the noise. A good requirements profile is short, brutally prioritized, and written in outcomes rather than tool names. This article gives you the exact structure, section by section, plus a filled-in miniature example you can adapt.

What goes wrong without a real requirements profile

Skipping the requirements profile does not save time, it moves the cost downstream, where it is far more expensive. The typical failure modes are predictable enough to list.

Failure modeWhat it looks likeWhat it costs
Unicorn profileFifteen "required" skills spanning three real jobsNear-empty pipeline; strong candidates self-select out
Interviewer driftEach interviewer tests their own imagined version of the roleContradictory feedback, decisions made on gut feel
Keyword sourcingSourcing matches tool names instead of capabilityFluent talkers pass, builders get filtered out
Level mismatchSenior title, mid-level scope and salary bandOffer-stage rejections after weeks of process
Scope creepRole redefined mid-search as stakeholders weigh inSearch restarts; candidates in process are lost
Failure modes of a search without a requirements profile

The template: eight sections, one to two pages

A requirements profile should fit on one to two pages. Longer documents are not more thorough, they are less prioritized. Copy this structure.

  1. 1Role context (3-4 sentences): why this role exists now, what changes in the business if it is filled well, who it reports to.
  2. 2Mission of the role (1 sentence): the single outcome this person owns, e.g. "own the path from ML prototype to reliable production service."
  3. 3Top 3 outcomes for the first 12 months: concrete, verifiable results, each with a rough success signal.
  4. 4Must-have capabilities (max 7): outcome-phrased abilities that are genuinely deal-breaking, each with an evidence hint (what proof would look like).
  5. 5Nice-to-have capabilities (max 5): explicitly labeled as tie-breakers, never used to reject.
  6. 6Seniority calibration: what the person decides alone, decides with others, and escalates, plus the ambiguity level they must handle.
  7. 7Working context: team setup, stack (as context, not requirements), remote/on-site reality, on-call or travel expectations.
  8. 8Explicit non-requirements: things people will assume are required but are not (e.g. a PhD, a specific framework), to widen the pool deliberately.

Must vs. nice-to-have, and outcomes over tool lists

The two disciplines that separate a working profile from a wish list: every requirement earns its place as a genuine deal-breaker, and every requirement is phrased as something the person can do, not something they have used. A tool can be learned in weeks; the outcome behind it takes years. The table shows the rewrite.

Tool-list version (weak)Outcome version (strong)Evidence to ask for
5+ years Python, pandas, scikit-learnCan frame a fuzzy business question as a modeling task and ship a first useful model in weeksWalk-through of a past project from question to shipped result
Kubernetes, Docker, Terraform, MLflowCan take a model from notebook to monitored, rollback-safe production serviceArchitecture discussion of a system they ran in production
Experience with LLMs, RAG, LangChainCan design and evaluate an LLM feature against quality, cost and latency budgetsA concrete eval setup they built, with its failure cases
Strong communication skillsCan get a skeptical domain expert to trust and adopt a model's outputA story of adoption resistance and how they resolved it
Tool-list requirements rewritten as outcome-based requirements

Seniority calibration and the anti-unicorn rule

Years of experience is the weakest seniority signal in tech. Calibrate on scope and ambiguity instead: what does this person decide without asking, and how underspecified can a problem be before they stall? Then apply the anti-unicorn rule as a hard check on the finished draft.

  1. 1Count the must-haves. More than seven: split the role or demote requirements to nice-to-have.
  2. 2Check for role mixing: if the must-haves span two distinct jobs (e.g. research-grade modeling AND platform engineering), you are describing two hires.
  3. 3For each must-have, ask "would we really reject an otherwise excellent candidate over this?" If the honest answer is no, it is a nice-to-have.
  4. 4Match level to decisions: a senior profile should name decisions the person owns alone; if every decision routes through a lead, the role is mid-level regardless of the title.
  5. 5Sanity-check the market: if fewer than a few hundred people plausibly match the profile in your hiring geography, either the salary band or the profile has to change.

A filled-in miniature example

An illustrative excerpt for a fictional mid-size company hiring its first ML engineer, condensed to the core sections. It is deliberately short; a real profile would add working context and non-requirements.

SectionContent (condensed)
MissionTake our two validated ML prototypes into reliable production and establish how we ship models from now on
Top outcome, year 1Demand-forecast model live in the ordering workflow, with monitoring and a documented retraining path
Must-have 1Has taken at least one model from prototype to production and operated it (evidence: system walk-through)
Must-have 2Can build pragmatic data pipelines on a cloud stack without a platform team behind them
Must-have 3Can explain model limits to non-technical planners and design the workflow around them
Nice-to-haveRetail or supply-chain domain exposure; experience choosing build-vs-buy for ML tooling
SeniorityDecides architecture and tooling alone within budget; escalates scope changes to Head of Data
Illustrative excerpt: requirements profile, ML Engineer (fictional example)

Common mistakes to avoid

  1. 1Copying requirements from other companies' job ads, which imports their org structure and their mistakes into your profile.
  2. 2Letting every stakeholder add a requirement without forcing a trade: additions are free for them and fatal for the pipeline.
  3. 3Using the profile only for the job ad, then interviewing against memory: the profile should generate the scorecard every interviewer uses.
  4. 4Writing the profile after sourcing has started, so it justifies the candidates already found instead of defining who to find.
  5. 5Treating the stack section as requirements: the stack is context; forcing tool-for-tool matches filters out exactly the adaptable seniors you want.

Frequently asked questions

How is a requirements profile different from a job description?

The requirements profile is the internal decision document: prioritized capabilities, seniority calibration, evidence standards. The job description is the external marketing artifact derived from it. Writing the ad first and reverse-engineering requirements from it is how unicorn profiles happen.

How many must-have requirements should a tech role have?

Five to seven at most. Every must-have multiplies against the others in shrinking the candidate pool, so each one has to be a genuine deal-breaker. Everything else is a nice-to-have used to break ties, never to reject.

Should years of experience appear in the profile at all?

As a rough market-calibration signal at most, never as a must-have. Scope of ownership and the ambiguity level a person can handle predict performance far better than a year count, and hard year cutoffs illegally narrow the pool in some jurisdictions and needlessly narrow it everywhere.

Who should own the requirements profile?

One person, usually the hiring manager, owns the document; stakeholders give input against a draft. Committee-written profiles converge on union-of-all-wishes unicorns. If you work with Aiporate, we draft it from structured intake interviews and the hiring manager approves it.

Head of AI Delivery, Aiporate

Elena has spent 12 years building and embedding AI and data teams inside B2B SaaS companies, from first pilot to enterprise-wide platform. At Aiporate she leads how forward-deployed talent is matched, onboarded and shipped to production.

Need the team to make this real?

Describe your need in plain English, get the exact hire, forward-deployed talent or a fractional leader, vetted and matched in 72 hours.

Scope your need →

Keep reading

The Weekly Brief

Intelligence for building AI-native organizations.

One email a week: the sharpest thinking on AI hiring, infrastructure, teams and strategy, for the people building the future of work.

Join operators, founders and CTOs. No spam, unsubscribe anytime.