Most AI training platforms screen profiles using vector-embedding matching against active job listings. That changes what makes a good resume meaningfully — formatting matters less, specific stack and outcome words matter much more. Here's the structure that consistently passes screens at Outlier, Mercor, Surge, and Turing.
The 5-section structure
- Summary (2–3 sentences max). Specialty + years + named domain.
- Skills (concrete stack list). Languages + frameworks + tools, comma-separated.
- Experience (3–5 roles). Each with concrete outcomes and named tech.
- Open source / projects. 2–4 with links and one-line descriptions.
- Education (one line if relevant, omit if not).
Total length: 1 page. Two-page resumes consistently under-score on automated profile screens because the matcher weights early content higher.
Section 1: Summary
Two to three sentences, in this order: what you do, how long you've done it, and one named domain or specialty.
Strong example: "Senior backend engineer with 7 years in Python + distributed systems. Currently shipping payment infrastructure handling 5M txns/day. Open to AI training contracts in coding evaluation, agent task design, and Python-specific RLHF."
Weak example: "Passionate full-stack developer with experience across the entire web stack. Always learning new technologies. Looking for opportunities to grow."
The strong version names a specialty, gives a number, and explicitly tells the screener what tracks you're applying to. The weak version is generic boilerplate that matches every job listing equally — meaning it ranks below candidates who match specific listings well.
Section 2: Skills
List your stack as a comma-separated set, not as a paragraph. Group by category if you have many. The vector matcher reads each named technology as a separate signal.
Strong example:
- Languages: Python (expert), Go (proficient), TypeScript (working)
- Frameworks: Django, FastAPI, Pydantic, asyncio
- Infrastructure: Postgres, Redis, Docker, Kubernetes, AWS (EC2, RDS, S3)
- Testing: pytest, hypothesis, Locust
This produces 14 named skills. Each one is a separate vector dimension that can match a job listing. A paragraph saying "experienced with Python, web frameworks, and AWS" produces only 3 useful signals.
Section 3: Experience
Each role gets: company, role, dates, and 3–4 bullet points. Each bullet should:
- Lead with a verb. "Designed", "Shipped", "Owned", "Reduced", "Migrated".
- Include a named outcome. Numbers if possible: "cut p99 latency from 4.2s to 1.1s", "scaled service from 100 RPS to 8000 RPS", "reduced infra costs by 31%".
- Include named tech. "using async Python + Redis pub/sub" vs. "using modern tools".
- Stay under 25 words.
Example bullet:
Designed and shipped the payment retry pipeline (async Python + Redis exponential backoff) handling 3M txns/day; cut failed-retry latency from 4.2s to 1.1s.
That's 21 words and contains: a verb, a named outcome with numbers, named tech (async Python, Redis, exponential backoff), and a quantified domain (payment, 3M txns/day). It will match strongly against any listing for "Python backend with high-throughput experience."
Section 4: Open source / projects
List 2–4 with links. Outlier specifically pre-screens for GitHub activity in the last 90 days; Mercor weights public commits higher than private experience. If your GitHub is sparse, ship something small before applying.
Each entry: project name, one-line description, link, role.
Strong example:
- httpcache-py — Tiny HTTP cache library for Python; 2.4k GitHub stars, 12 contributors. Maintainer.
- django-payments — Payment processor abstraction. Contributed retry logic + 3 PRs to main.
Section 5: Education
One line if you have a strongly-recognized degree. Omit if not. Bootcamp graduates: list "graduated [bootcamp] 2022" with project links rather than nothing — but only if the projects are strong.
Don't list GPA. Don't list courses. The screener doesn't care.
What to omit
- Photo. Vector matcher ignores it; some screeners flag photos as bias signals.
- References. Outlier and Mercor request these separately if needed.
- Hobbies / interests. Unless directly relevant (e.g., competitive programming for coding tracks, chess for math reasoning).
- Generic objective. "Seeking opportunities to grow" — replace with your concrete summary.
- Visual flourishes. Sidebars, infographics, custom fonts. Plain markdown or simple PDF parses cleanly; designer resumes can confuse parsers.
Final check
Before submitting, do this 5-minute audit:
- Count named technologies in your skills section. Aim for 12+.
- Count quantified outcomes in your experience bullets. Aim for 1+ per bullet.
- Read the first 3 sentences. If they could describe any other developer, rewrite.
- Check your GitHub link is current and has commits in the last 90 days.
- Make sure the file is under 1 page and uses standard fonts.
Bottom line
The best AI training resume is specific to the point of being boring. Concrete tech names, specific numbers, named outcomes. Plain formatting. One page. The contractors who pass the profile screen consistently are the ones whose resumes read as "here's exactly what I do, here's exactly what I shipped" — not "here's a polished narrative about my career journey."