{
  "source": "Cooked Index — occupational AI risk register",
  "page": "https://cookedindex.com/jobs/computer-numerically-controlled-tool-programmers/",
  "methodology": "https://cookedindex.com/methodology",
  "notice": "Verdicts are re-examined as evidence accumulates. Re-fetch before relying on this; the page above always carries the current score.",
  "scored_at": "2026-08-11",
  "model": "claude-opus-5",
  "occupation": {
    "title": "Computer Numerically Controlled Tool Programmers",
    "soc_code": "51-9162",
    "category": "Production",
    "us_employment": 28500,
    "median_annual_wage": 68120
  },
  "verdict": "EXPOSED",
  "risk_resistance": 35,
  "contested": false,
  "near_boundary": false,
  "dimensions": {
    "task_resistance": 8,
    "embodiment": 10,
    "liability_shield": 2,
    "trust_premium": 5,
    "judgment_accountability": 10
  },
  "reasoning": {
    "task_resistance": "Feature recognition in Mastercam/Fusion already generates roughing and finishing passes from a solid model and pulls speeds from a tool library, so the programming half of the job is largely pattern-matching — the 8 rather than a 4 reflects the proveout half: deciding how a thin-wall part will be held across three ops, dialing back a pass because the spindle is loading up, and editing G-code at the control when the fixture sits 0.015 off nominal.",
    "embodiment": "You are at the machine for setup sheets, tool presetting, touching off work offsets, single-blocking the first article and listening for chatter — but it's a climate-controlled shop with the part clamped in a known fixture, not field work, which is why this lands at 10 and not with the millwrights and riggers.",
    "liability_shield": "No license, no stamp, no certification anyone checks — an AS9100 or ISO audit trail names the shop and the inspector, and when a program crashes a spindle the exposure is scrap and downtime absorbed by the employer, not a personal legal claim against you.",
    "trust_premium": "Output is a program file and a setup sheet judged by whether the part passes CMM inspection; the machinists and engineers you work with daily give you some standing, but a customer buying the part never learns your name and the work transfers to another programmer without renegotiation.",
    "judgment_accountability": "You own real calls — op sequencing to control distortion, where to leave stock for finish, whether to trust a 3-plus-2 approach over full 5-axis on a tight-tolerance feature — but they land inside a print with stated tolerances and a first-article inspection that catches you before anything ships, capping this below the ambiguous-stakes band."
  },
  "rationale": "The core of this job — translating a CAD model into toolpaths, picking feeds and speeds, generating and post-processing G-code — is exactly the pattern work CAM vendors are already automating with feature recognition, tool libraries, and automated roughing/finishing strategies. What resists is the part that happens at the machine: fixturing and workholding decisions, dry runs and first-article proveout, reading chatter and tool wear, and rescuing a program when the setup doesn't match the model. There is no license here and no signature requirement, so the only durable moat is shop-floor judgment that the programmer personally owns.",
  "outlook": "Expect programming headcount per shop to fall as CAM automation absorbs routine toolpath generation, with the remaining roles consolidating into setup-and-proveout specialists who live on the floor rather than at a seat.",
  "what_would_raise_it": {
    "levers": [
      {
        "dimension": "task_resistance",
        "change": "As CAM feature recognition and automated toolpath generation absorb the routine 2.5D/prismatic tier, the remaining programming work concentrates on 5-axis simultaneous, thin-wall and exotic-alloy work, deburring-free finishing, and multi-op fixture strategy where the model does not encode the setup. Watch for shops where the programmer title merges with 'manufacturing engineer' or 'process owner' — the job that remains is proveout, fixture design and process qualification, not code generation.",
        "plausibility": "already happening",
        "would_add": 4
      },
      {
        "dimension": "embodiment",
        "change": "If shops keep pushing high-mix low-volume and one-off/repair work (aerospace MRO, medical implants, defense spares), the programmer stays at the machine doing workholding, indicator setup, first-article dial-in and chatter diagnosis — tasks that require hands on the spindle. Conversely a shift to long-run production with pallet pools and automated probing lowers this.",
        "plausibility": "plausible",
        "would_add": 3
      },
      {
        "dimension": "liability_shield",
        "change": "AS9100 / NADCAP and ITAR-adjacent regimes already require named-person process qualification records and first-article inspection sign-off (AS9102 FAI forms). If primes tighten this so that the person who authored or approved the machining program must personally sign the FAI and the process qualification — rather than a QA generalist — a genuine named-signature requirement attaches. Watch for prime-contractor supplier quality clauses naming the program author on AS9102 Form 3.",
        "plausibility": "plausible",
        "would_add": 4
      },
      {
        "dimension": "judgment_accountability",
        "change": "On safety-critical parts (rotating aero components, implants, pressure-boundary work), if a shop formally assigns the programmer ownership of the machining process spec — feeds/speeds affecting residual stress, surface integrity, tool-change intervals — then scrap, escapes and field failures trace to their call under ambiguity. Watch for FAA/FDA-driven process-control requirements (e.g. FDA QSR/ISO 13485 process validation for implant machining) naming a responsible engineer for the machining process.",
        "plausibility": "plausible",
        "would_add": 4
      }
    ],
    "ceiling_note": "Trust premium has no realistic route: buyers purchase parts to print, not a named programmer, and no customer will pay more because a human wrote the G-code. The liability and accountability levers are real but they attach to the manufacturing-engineer role the job is being absorbed into, not to 'CNC programmer' as a standalone title — the occupation may survive by ceasing to exist under that name."
  },
  "adjudication": null,
  "employment_history": {
    "points": [
      {
        "y": 2019,
        "emp": 25570,
        "wage": 56450
      },
      {
        "y": 2020,
        "emp": 25530,
        "wage": 57740
      },
      {
        "y": 2021,
        "emp": 25800,
        "wage": 60780
      },
      {
        "y": 2022,
        "emp": 28120,
        "wage": 60800
      },
      {
        "y": 2023,
        "emp": 28030,
        "wage": 63440
      },
      {
        "y": 2024,
        "emp": 28230,
        "wage": 65670
      },
      {
        "y": 2025,
        "emp": 28500,
        "wage": 68120
      }
    ],
    "from": 2019,
    "to": 2025,
    "change_pct": 11.5,
    "comparable_from": 2019,
    "spans_soc_revision": false
  },
  "pivots": [
    {
      "slug": "electro-mechanical-and-mechatronics-technologists-and-technicians",
      "title": "Electro-Mechanical and Mechatronics Technologists and Technicians",
      "verdict": "EXPOSED",
      "risk_resistance": 55,
      "median_wage": 73900,
      "overlap": 75,
      "skills_to_close": [
        "Installation",
        "Repairing",
        "Troubleshooting",
        "Science"
      ]
    },
    {
      "slug": "industrial-machinery-mechanics",
      "title": "Industrial Machinery Mechanics",
      "verdict": "SAFE",
      "risk_resistance": 67,
      "median_wage": 64520,
      "overlap": 70,
      "skills_to_close": [
        "Repairing",
        "Installation",
        "Equipment Maintenance",
        "Operation and Control"
      ]
    },
    {
      "slug": "electrical-and-electronics-repairers-commercial-and-industrial-equipment",
      "title": "Electrical and Electronics Repairers, Commercial and Industrial Equipment",
      "verdict": "SAFE",
      "risk_resistance": 67,
      "median_wage": 74090,
      "overlap": 67,
      "skills_to_close": [
        "Installation",
        "Repairing",
        "Equipment Maintenance",
        "Persuasion"
      ]
    }
  ],
  "license": "https://cookedindex.com/terms"
}