Manufacturing
CNC Programmer Job Description
A CNC Programmer writes the programs that tell CNC mills, lathes and multi-axis machining centers how to cut a part, working from engineering drawings and 3D models in CAM software. The job sits between engineering and the shop floor in machine shops, metal fabricators and aerospace and medical parts plants, and covers toolpaths, simulation, post-processing, setup sheets and prove-out at the machine. BLS files the role as Computer Numerically Controlled Tool Programmers, which earned a median annual wage of $68,120 in May 2025, with the 10th percentile at $47,530 and the 90th percentile at $100,320.
Last updated
Role at a glance
- Typical education
- High school diploma plus a community college certificate or associate degree in machining, with shop experience.
- Typical experience
- As a rough guide, a few years of setup and operating work before programming unproven jobs alone.
- Key certifications
- NIMS CAM Milling Programmer, NIMS CAM Turning Programmer, Autodesk Certified Professional in CAM for 3 Axis Milling, Mastercam Certification.
- Top employer types
- Fabricated metal product manufacturers, machine shops and aerospace product and parts manufacturers.
- Growth outlook
- BLS projects CNC tool programmer employment to grow 6 percent from 2025 to 2035.
- AI impact (through 2030)
- AI assistants inside CAM software can adjust feeds and speeds on voice or text command, but the programmer still verifies and proves out the code.
Duties and responsibilities
- Import customer CAD models and engineering drawings, define stock and work offsets, and plan the order of machining operations for each part.
- Select cutting tools, holders and inserts for every operation, matching geometry and carbide grade to the material, the machine and the finish callout.
- Build roughing, semi-finishing and finishing toolpaths in CAM software such as Mastercam, NX CAM or Fusion, then assign feeds and speeds.
- Run full machine simulation with the real tool assemblies, fixtures and machine model to catch gouges, collisions and axis over-travel before release.
- Post-process verified toolpaths into G-code for the specific control, then read the output for unsafe rapids, missing coolant calls or wrong offsets.
- Write setup sheets listing workholding, tool numbers, stick-out lengths, offsets and inspection points so operators can load the job without guesswork.
- Prove out new programs at the machine with single-block runs, reduced rapids and first-article inspection, editing code until parts meet print.
- Revise released programs when engineering changes, substitute tooling or new fixtures arrive, and record each revision in the shop's program control system.
- Interpret GD&T callouts on drawings, including datum schemes, profile and true position, to choose setups that hold the critical tolerances.
- Work with machinists, quality inspectors and manufacturing engineers to diagnose chatter, poor finish, tool breakage and dimensional misses on running jobs.
Overview
A CNC Programmer turns a part drawing and a 3D model into the instructions a machine tool follows: which tools cut, in what order, along which paths, at what speed. O*NET defines the occupation as workers who "develop programs to control machining or processing of materials by automatic machine tools, equipment, or systems." In a manufacturing plant or contract machine shop, that means the programmer sits between engineering, which owns the print, and the floor, which owns the spindle.
From model to toolpath. A job usually starts with a customer STEP file, a drawing with GD&T callouts and a quantity. The programmer decides how the part will be held, how many setups it needs, and which machine fits: a 3-axis vertical mill for a simple bracket, a mill-turn center for a shaft with cross holes, a 5-axis trunnion machine for an impeller. Then the CAM work begins. Stock is defined, tools are pulled from the library, and roughing, semi-finishing and finishing toolpaths are built and tuned for engagement, step-over and chip load.
Simulation and the post. Before anything runs, the programmer checks the program in simulation with the real holders, fixtures and machine kinematics loaded. A gouge or a holder collision found on screen costs a few minutes; found on the machine, it costs a spindle. The verified toolpaths then pass through a post-processor that writes G-code for one specific control, whether a Fanuc, Haas, Okuma, Siemens Sinumerik or Heidenhain. A good programmer reads that output rather than trusting it, looking for rapids that clip a clamp, a missing coolant call or the wrong work offset.
Prove-out on the floor. First runs happen at the machine, often in single-block mode with the rapid override turned down. The programmer watches the first cut, listens for chatter, checks chip formation and hands the first article to inspection. If a thin wall deflects or a bore comes in tight, the fix goes back into CAM, not just into the control, so the next run inherits it.
Documentation and control. A finished program comes with a setup sheet: fixture, tool list, stick-out lengths, offsets and the features to inspect. Released programs live in a controlled library, and every engineering change or tooling swap creates a new revision. When a customer asks which program made a given lot of parts, that revision trail is the answer.
Where the work happens. O*NET's list of reported job titles for this occupation includes CAM Programmer and CNC Machine Operator, a reminder that the line between programming and running varies by employer. In a small job shop one person may quote, program, set up and run a part in the same week. In a large production plant the programmer may never touch a machine handle but will still own cycle time and scrap on every job they release.
Qualifications
Education. The usual route is a high school diploma followed by a community college certificate or associate degree in machining or manufacturing technology, plus shop time. When O*NET asked workers in this occupation how much education a new hire needs, 33% said a high school diploma or equivalent, 31% said a post-secondary certificate and 20% said some college with no degree. A degree in mechanical or manufacturing engineering technology is one route for people who want to move from programming toward manufacturing engineering.
Shop experience. As a rough guide, expect a few years of setup and operating work before handling unproven programs on expensive parts alone. Time spent indicating fixtures, touching off tools and fighting a tolerance at the machine is what makes later CAM decisions realistic.
Core technical skills.
- One CAM package learned deeply, including multi-axis toolpaths and machine simulation, with working familiarity in a second.
- Reading and hand-editing G-code and M-code for common controls such as Fanuc, Haas, Okuma and Siemens Sinumerik.
- Blueprint reading and GD&T to ASME Y14.5, including datum reference frames, profile and position.
- Cutting tool selection: carbide grades, coatings, holder types and the effect of stick-out on deflection.
- Workholding design basics: vises, soft jaws, tombstones and dedicated fixtures.
- Basic metrology: micrometers, bore gauges, height gauges and reading a CMM report.
- Shop math, including trigonometry for hand-calculated positions and chamfers.
Credentials worth pursuing. The National Institute for Metalworking Skills (NIMS) offers CAM Milling Programmer and CAM Turning Programmer credentials aimed at people who plan and program jobs, alongside its longer-standing CNC Mill Programming Setup & Operations credential. Autodesk awards the Autodesk Certified Professional in CAM for 3 Axis Milling, an exam built around Fusion. Mastercam runs its own Mastercam Certification, which uses a set of practical tests to examine a programmer's ability to work effectively with CAM software, overcome common issues and produce high-quality finished parts. None of these is a license; they are proof of skill that a hiring manager can check.
Habits that separate good programmers. Document every program as if the next person to run it has never seen the part. Keep the tool library clean so a 12 mm end mill in CAM is the same 12 mm end mill in the crib. Ask operators what slowed them down on the last run, and fold the answer into the next revision. Treat a crash as a process failure to trace, not a personal embarrassment to hide.
Career outlook
The 2025-35 projection. In its 2025-35 Employment Projections, now shown in the Occupational Outlook Handbook, BLS projects employment of CNC tool programmers to grow from 28,600 in 2025 to 30,300 in 2035, an increase of 1,700 jobs, or 6 percent. O*NET classifies that as faster than average growth (5% to 6%) and tags the occupation as a Bright Outlook occupation. It also projects about 2,700 openings a year on average over the decade.
Why programmers and operators diverge. The OOH's explanation is automation. One of the most important factors shaping employment across metal and plastic machine work, BLS says, is the use of laborsaving machinery, and many firms are continuing to expand the use of technologies such as CNC tools and robots to improve quality and lower production costs. As a result, demand for most manual tool operators and tenders is likely to be reduced, while demand for CNC tool programmers is expected to be strong. The same OOH table projects CNC tool operator jobs to fall 9 percent over the decade. For someone running parts today, learning CAM is one way to move with that shift instead of against it.
Where the jobs and the money are. The BLS wage survey counted 28,500 CNC tool programmers in May 2025. Fabricated metal product manufacturing employed 9,360 of them, at a median annual wage of $68,140. Machine shops, the contract job shops that make parts to customer prints, employed 4,760 at a median of $74,090. Aerospace product and parts manufacturing employed 2,060, and that industry's median was $97,710, with a 90th percentile of $130,110. Those figures describe whole industries, not individual employers, so any one shop can sit well above or below them.
What AI is doing to the job. In a September 10, 2026 column, American Machinist argued that as changes sweep through contract machine shops, "the demands on programmers and machinists are advancing too," and listed AI oversight among the skills machinists must develop. Read that as a forecast rather than a measurement. What it means at the bench is practical: someone still has to judge whether a suggested toolpath will hold a thin wall, whether the post output is safe on a specific machine, and whether the first article passes inspection.
Where the career goes. BLS notes that across metal and plastic machine work, experienced workers with good communication and analytical skills may advance to supervisory positions. For a programmer, possible next steps include lead programmer or CAM manager roles that own tool libraries, post-processors and programming standards for a whole shop, as well as manufacturing engineering, process planning, applications engineering for a machine tool or CAM software dealer, or shop management. The skills that travel are the same ones that make a strong programmer: reading a print correctly, choosing a sound process and documenting it so others can repeat it.
Sample cover letter
Dear Ms. Alvarado,
I am applying for the CNC Programmer opening at Ridgeline Precision. For the past five years I have worked at a 40-person contract shop in Ohio, starting as a setup machinist on Haas verticals and moving into a full-time programming seat three years ago. Today I program parts for two Okuma 5-axis machines and a mill-turn center, mostly aluminum and 17-4 stainless housings for instrument and defense customers.
The project I am proudest of was a manifold block that had been running in four setups with a scrap problem on a cross-drilled port. I reworked the process into two setups on the 5-axis, designed a set of soft jaws to locate on a machined datum, and rebuilt the drilling strategy with a peck cycle matched to the drill manufacturer's guidance. Scrap on that port stopped, and the job went from a weekly headache to a part the night shift runs without calling me.
I also took over our program library when the shop outgrew a shared folder full of files named FINAL2. I set up a revision scheme tied to drawing revisions, linked every program to its setup sheet and tool list, and taught the operators how to find the current release in seconds. Our quality manager now uses that history during customer audits.
I am drawn to Ridgeline because of your work on complex 5-axis aerospace components and your investment in machine simulation, which matches how I prefer to prove out a program before it reaches the floor. I would welcome the chance to walk through a few of my programs and setup sheets with your team.
Sincerely, Daniel Kessler
Frequently asked questions
- What does a CNC Programmer do?
- A CNC Programmer writes the programs that tell CNC mills, lathes and multi-axis machining centers how to cut a part, working from engineering drawings and 3D models in CAM software. The job sits between engineering and the shop floor in machine shops, metal fabricators and aerospace and medical parts plants, and covers toolpaths, simulation, post-processing, setup sheets and prove-out at the machine. BLS files the role as Computer Numerically Controlled Tool Programmers, which earned a median annual wage of $68,120 in May 2025, with the 10th percentile at $47,530 and the 90th percentile at $100,320.
- What are the main duties of a CNC Programmer?
- Core duties include: import customer CAD models and engineering drawings, define stock and work offsets, and plan the order of machining operations for each part; select cutting tools, holders and inserts for every operation, matching geometry and carbide grade to the material, the machine and the finish callout; and build roughing, semi-finishing and finishing toolpaths in CAM software such as Mastercam, NX CAM or Fusion, then assign feeds and speeds.
- Should a CNC Programmer also know how to set up and run a machine?
- It helps, and in some shops the two jobs sit with one person. O*NET's description of the occupation says these workers develop programs to control machine tools and "may also set up, operate, or maintain equipment." Time spent setting up and running parts gives a programmer a feel for what a toolpath does once it leaves the screen.
- Which CAM software should I learn first?
- Learn the system the shops you want to work for actually run, then get good at its multi-axis and simulation tools. O*NET's technology list for CNC tool programmers names Mastercam, Autodesk PartMaker and Unigraphics among the computer-aided manufacturing software used in the occupation. Skills in toolpath strategy and post-processing carry over from one package to the next.
- How is AI changing the work of a CNC Programmer?
- AI assistants have reached production CAM software. Mastercam 2026.R2, released February 9, 2026, added Mastercam Copilot, which lets users adjust feed rates and spindle speeds across multiple operations using voice or text commands, with confirmation prompts built in for safety, and Mastercam says the assistant supports approximately 200 toolpath types. The programmer still owns the result: simulation, the post, the first article and the sign-off.
- How does a CNC programmer differ from a CNC operator?
- The Bureau of Labor Statistics separates the two. CNC tool operators operate CNC equipment or robots to perform functions on metal or plastic workpieces, while CNC tool programmers develop computer programs to control the machining or processing of those parts. Some programmers start as operators or setup machinists before moving into the CAM seat.
- What education do you need to become a CNC programmer?
- BLS says that although metal and plastic machine workers typically need a high school diploma, CNC tool programmers usually need coursework beyond high school. Some community colleges and other schools offer courses and certificate programs that include CNC programming. BLS adds that training on CAD, CAM and CNC equipment may be helpful.
Sources
Salary figures and role details on this page were checked against the following sources. Dates show when each was last reviewed.
- Computer Numerically Controlled Tool Programmers, BLS Occupational Employment and Wage Statistics (May 2025)Checked Nov 10, 2026
- Aerospace Product and Parts Manufacturing, BLS Occupational Employment and Wage Statistics (May 2025)Checked Nov 10, 2026
- Machine Shops, BLS Occupational Employment and Wage Statistics (May 2025)Checked Nov 10, 2026
- Fabricated Metal Product Manufacturing, BLS Occupational Employment and Wage Statistics (May 2025)Checked Nov 10, 2026
- Metal and Plastic Machine Workers, Occupational Outlook Handbook, U.S. Bureau of Labor Statistics (2026)Checked Nov 10, 2026
- 51-9162.00 Computer Numerically Controlled Tool Programmers, O*NET OnLine, U.S. Department of Labor (2026)Checked Nov 10, 2026
- Mastercam 2026.R2 Delivers GPU-Accelerated Simulation and AI-Powered Assistance, Mastercam (February 9, 2026)Checked Nov 10, 2026
- AI-Enhanced Toolpaths and The Humans That Blaze Them, American Machinist (September 10, 2026)Checked Nov 10, 2026
- Machining Credentials, National Institute for Metalworking Skills (2026)Checked Nov 10, 2026
- Autodesk Certified Professional in CAM for 3 Axis Milling, Autodesk (2026)Checked Nov 10, 2026
- Mastercam Certification, Mastercam (2026)Checked Nov 10, 2026
- Bright Outlook: Computer Numerically Controlled Tool Programmers, O*NET OnLine, U.S. Department of Labor (2026)Checked Nov 10, 2026
Related job descriptions
See all Manufacturing jobs →- CNC Machinist$39K–$80K
A CNC machinist sets up computer-controlled mills, lathes and machining centers, proves out programs, and cuts metal parts to the tolerances on an engineering drawing. The role sits on the shop floor of job shops, contract machine shops and the machining departments of manufacturers, between the programmer or engineer who defines the part and the inspector who signs it off. O*NET files the title under Machinists. BLS put the median annual wage for machinists at $58,750 in May 2025, with the 10th percentile at $39,200 and the 90th at $80,010.
- CNC Operator$38K–$74K
A CNC Operator runs computer numerically controlled mills, lathes and machining centers that a programmer has written and a setup machinist has proved out: loading stock, starting cycles, watching the cut, checking parts against the print and swapping worn tools. The job sits on the production floor of machine shops and other metal and plastics manufacturers, working beside setup machinists, programmers and quality inspectors. BLS tracks it as Computer Numerically Controlled Tool Operators (SOC 51-9161), which paid a median of $50,690 in May 2025, with the 10th percentile at $38,140 and the 90th at $73,890. Learning offsets, setups and inspection is the route toward setup and machinist work.
- Computer Programmer$65K–$120K
Computer Programmers write, test, and maintain code that makes software applications work. They translate designs and specifications from software developers or architects into executable programs, debug problems in existing code, and update software to fix errors or improve performance. The role appears across industries from healthcare to finance to manufacturing, wherever software needs to be built and maintained.
- Manufacturing Shipping Supervisor$55K–$82K
Manufacturing Shipping Supervisors manage the outbound freight function at manufacturing facilities and distribution centers, overseeing shipping clerks, coordinating carrier pickups, verifying shipment accuracy, and ensuring on-time delivery performance to customers. They are accountable for shipping accuracy, documentation compliance, labor productivity, and safety on the dock.
- Electrical Maintenance Technician$52K–$85K
Electrical Maintenance Technicians keep production equipment running by diagnosing and repairing electrical faults, performing scheduled preventive maintenance, and responding to breakdowns that shut down production lines. They work on motor drives, PLCs, sensors, control panels, and power distribution equipment — and they do it under pressure, because every minute of unplanned downtime costs money.
- Robotics Technician$50K–$101K
A robotics technician installs, programs, troubleshoots and repairs the industrial robots and automated cells on a factory floor: the arm, its controller and teach pendant, the end-of-arm tooling, the safety devices and the conveyors and PLC-driven equipment around it. The job sits between plant maintenance and the engineers who design the cell, and the work is hands-on and done on the production schedule. BLS counts the job inside electro-mechanical and mechatronics technologists and technicians; in manufacturing, that occupation earned a median of $70,810 in May 2025, with the 10th and 90th percentiles at $49,610 and $100,740.