Software Engineering Evaluation Specialist
Mindrift connects specialists with project-based AI opportunities for leading tech companies, focused on testing, evaluating, and improving AI systems. Participation is project-based, not permanent employment.
About The Role
You'll design coding tasks that challenge frontier AI coding agents. Each task is a self-contained Docker environment with a broken piece of software; an AI agent attempts the fix; automated tests verify the outcome. Your deliverable is the full task package: broken code, tests, instructions, and a reference solution proving the task is solvable.
Responsibilities
- Invent a realistic developer scenario — a real bug, a broken ETL, a missing feature — not a toy problem
- Build a reproducible Docker environment with pinned dependencies
- Write a pytest that verifies outcomes, not specific commands — deterministic, non-flaky, and does not leak the fix
- Write an instruction.md that reads like a Jira ticket a developer would receive
- Write a reference solve.sh proving the task is solvable
- Calibrate difficulty so current state-of-the-art agents solve the task 20-60% of the time
- Iterate based on feedback from expert QA reviewers
- Later: review other authors' tasks as a QA reviewer
Not in scope: Data labeling, prompt engineering, production code to ship, or Leetcode puzzles. Scenarios must look like real developer work. Not every candidate task ships — quality over quantity.
Requirements
- 3+ years of production software development in one backend stack — Python, Go, Node.js, Java, or Rust. Depth in one stack beats breadth
- Python + pytest fluency — required regardless of primary stack. The task harness is pytest-based even when the broken app is in another language. Fixtures, parametrize, monkeypatch, timeouts, conftest.py
- Docker authoring — reproducible Dockerfiles, pinned dependencies, multi-stage builds when needed, non-root user
- Linux & Bash — comfort debugging inside containers (strace, lsof, journalctl); shell beyond set -euo pipefail
- AI coding agent experience — Claude Code, Cursor, Roo Code, or similar, on non-trivial work. You can cite a specific time the AI was confidently wrong and how you caught it
- English — B2+ written
Not a fit: Data Science, ML, or Computer Vision engineers without backend-engineering output; manual QA testers without automation or test authoring; frontend-only, low-code/no-code, IT Support, or Business Analysts; engineers who have never written pytest from scratch; junior, intern, or assistant as the most recent role.
Preferred Qualifications
- Domain depth in Security, System Administration (nginx / systemd / cron), Scientific Computing (NumPy / PyTorch / SciPy), DevOps, or Git internals
- Modern Python tooling (uv, poetry, pyproject.toml)
- Coverage tooling (pytest-cov, coverage.py, gcov, llvm-cov, kcov)
- Fuzzing or property-based testing (Hypothesis)
- Prior contribution to agent-evaluation benchmarks or related frameworks
Process
Apply → Pass qualification (90-minute sample-task screen + short behavioral interview) → Join a project → Complete tasks → Get paid.
Time commitment
- Onboarding: ~10 hours per first task
- Steady state: ~5 hours per task, 2-4 parallel tasks per author
- Realistic weekly load: 8-20 hours. Higher volume available for top performers
You choose when and how to contribute; tasks must be submitted by the deadline and meet acceptance criteria.
Compensation
- Paid contributions, rates up to $35/hour*
- Task-based compensation equivalent to hourly rate, depending on performance and volume
- Some projects include incentive payments
- Rates vary based on expertise, skills assessment, location, project needs, and other factors. Higher rates may be provided to highly specialized experts. Lower rates may apply during onboarding or non-core project phases.
Payment details are shared per project.