Definition
A work preparer decides a part's overall routing: which operations, machines, tooling and setups are needed, translating requirements into a production plan. A CNC programmer takes a specific operation within that routing and writes or generates the actual machine program (often via CAM) to execute it on a particular machine. In smaller shops, the same person often does both.
Why work preparation decisions constrain programming, not the other way around
A work preparer's decisions (which machine, how many setups) constrain what a CNC programmer then has to work within, which is why a routing decision made without considering realistic programming complexity can create downstream problems a programmer then has to work around.
Where each role fits in
Neither role's output appears directly on the drawing; both act downstream of it, translating its requirements into, respectively, a routing and a machine program.
Common mistakes
Assuming these roles are always separate; in smaller shops, one person frequently does both, and the distinction matters more for understanding the work than for defining rigid job titles.
A work preparer's decisions (which machine, how many setups) constrain what a CNC programmer then has to work within, which is why a routing decision made without considering realistic programming complexity can create downstream problems a programmer then has to work around.
See how Blake reviews a partFrequently asked questions
Do these roles always exist separately?
Not necessarily; smaller shops often combine both functions in one person, while larger factories may have dedicated roles for each.
Which role decides which machine to use?
Typically the work preparer, as part of the overall routing decision, though a CNC programmer's input on programming feasibility can inform that choice.
Which role writes the actual NC code?
The CNC programmer, typically using CAM software, generates the toolpaths and NC code for a specific machine and operation.