A CNC Programmer writes and optimizes the code that directs computer numerical control (CNC) machines—such as lathes, mills, and routers—to cut, drill, and shape materials into precise components. They interpret blueprints and CAD/CAM models, select appropriate tooling and cutting parameters, simulate toolpaths to avoid collisions, and fine-tune programs on the shop floor to ensure tolerances are met. This role blends mechanical knowledge, geometry, and software skill, making it a backbone of modern manufacturing across aerospace, automotive, medical device, and industrial equipment sectors.
| Entry level | $42,000 |
| Median | $62,000 |
| Senior | $85,000 |
| Top 10% | $105,000 |
| Job growth | +6% |
| Professionals in the USA | 0.2 million |
| Typical hours/week | 42 hrs |
| Remote work share | 2% |
| Annual job openings | 18,000/yr |
| Demand | High |
AI and CAM software are increasingly automating toolpath generation and optimization, reducing time spent on manual programming. However, machine setup, troubleshooting, material knowledge, and quality decisions still require skilled human oversight.
Automation exposure: Automated toolpath generation, CAD-to-CAM conversion, cutting parameter optimization, and simulation of machining processes are increasingly handled by AI-driven software.
The human edge: Understanding complex part geometries, diagnosing machine and tooling issues, adapting to material variability, and making judgment calls on tolerances and finishes require experience AI cannot fully replicate.
Figures are estimates for exploration — verify current data with BLS.gov.