CNC Programmer Salary in the United States by Experience
The average CNC programmer salary in the United States is USD 64,000 to 80,000 per year depending on the survey source, or roughly USD 31 to 39 per hour. Entry-level programmers earn USD 50,000 to 58,000, experienced programmers USD 72,000 to 85,000, and lead programmers exceed USD 109,000 in top industries.

Multiple salary databases track CNC programmer pay, and their numbers vary because they capture slightly different job titles and employer mixes. The table below consolidates figures from Salary.com, ERI SalaryExpert, ZipRecruiter, and Glassdoor into a single experience-band view.
| Experience Level | Annual Salary (USD) | Sources and Notes |
|---|---|---|
| Entry level (0 to 3 years) | 50,000 to 63,000 | Glassdoor entry ~50,500; ERI 1-3yr avg ~58,000; Salary.com entry ~63,400 |
| Mid-career (3 to 8 years) | 63,000 to 74,000 | ZipRecruiter median ~64,400; Salary.com average ~74,100; Glassdoor majority ~63,000 |
| Experienced (8+ years) | 72,000 to 90,000 | Salary.com experienced ~72,350; ERI senior average ~90,400 |
| Senior programmer | 85,000 to 100,000 | Salary.com senior ~85,280; New York senior average ~100,000 |
| Lead programmer | 109,000+ | Salary.com lead ~109,480; top Glassdoor earners ~103,400 |
Beyond base pay, Glassdoor reports CNC programmers receive average profit sharing and bonuses of roughly USD 8,700 per year, and ERI data shows an average annual bonus around USD 1,750 on top of base. Overtime is common in production shops and can add 10 to 25 percent to gross annual earnings for programmers who also run machines.
CNC Programmer Salary by Country
Pay for the same skills varies enormously by country, mostly tracking each nation's manufacturing wage structure and cost of living. The table below shows approximate annual salaries converted to USD for comparison. Exchange rates shift, so treat these as relative bands rather than precise figures.
| Country | Typical Annual (USD equiv.) | Context |
|---|---|---|
| United States | 50,000 to 109,000 | Highest ceilings in aerospace and defense; strong demand from reshoring |
| Germany | 45,000 to 90,000 | ERI average ~76,000 USD equiv; strong precision engineering sector; works council benefits |
| Switzerland | 80,000 to 120,000 | Highest pay in Europe; Swiss-type machining specialty commands premium |
| United Kingdom | 40,000 to 70,000 | Adzuna average ~52,000 USD equiv; aerospace corridor pays above average |
| Canada | 45,000 to 80,000 | Similar structure to US with slightly lower ceilings; strong aerospace demand |
| Australia | 50,000 to 85,000 | Mining and defense manufacturing drive demand; skilled migration pathways exist |
| Japan | 35,000 to 65,000 | Deep machine tool culture; seniority-based pay progression |
| China | 12,000 to 35,000 | Rapidly rising with skill level; top programmers in tier-1 cities earn far above average |
| India | 5,000 to 15,000 | Fast-growing manufacturing base; experienced programmers in aerospace hubs earn multiples of average |
The important nuance in cross-country comparison is purchasing power. A CNC programmer earning the Chinese average lives differently than the raw USD figure suggests because local costs are proportionally lower. For programmers considering international moves, Switzerland, Germany, and Australia offer the strongest combination of absolute pay and skilled-migration accessibility.
What Actually Drives CNC Programmer Pay
Salary survey data consistently identifies five variables that move CNC programmer pay more than anything else.
✓ Industry: Salary.com data shows a 40 percent gap between the highest and lowest paying industries. Aerospace and defense plus durable goods manufacturing pay roughly 20 percent above average. Energy, utilities, and non-durable manufacturing pay below average.
✓ Multi-axis capability: Programmers who can run 5-axis simultaneous work command significant premiums over 3-axis-only programmers. The gap widens further for mill-turn and Swiss-type programming, where qualified people are chronically scarce.
✓ CAM software depth: Mastery of Mastercam, Siemens NX, ESPRIT, PowerMill, or hyperMILL is worth more than familiarity with all of them. Shops pay for the person who can push their specific CAM package to its limits.
✓ Location: ERI data shows New York CNC programmers average 11 percent above the national figure. Aerospace corridors (Seattle, Wichita, Hartford), medical device hubs (Minneapolis, Boston), and defense regions consistently pay above the national average.
✓ Setup and machining skill: Programmers who can also set up, prove out, and troubleshoot on the machine floor are worth more than office-only programmers. The combined programmer-machinist role commands premium pay in small and mid-size shops.
CNC Programmer vs CNC Machinist: The Pay Gap
The two roles overlap but pay differently. A CNC machinist runs machines, loads material, checks parts, and adjusts offsets. A CNC programmer writes the toolpaths, selects the strategies, and builds the programs the machinist runs.
| Factor | CNC Machinist | CNC Programmer |
|---|---|---|
| US median salary | USD 48,000 to 56,000 | USD 64,000 to 80,000 |
| Typical education | High school + apprenticeship | High school or associate degree + CAM training |
| Core skills | Setup, offsets, inspection, tooling | CAM, G-code, toolpath strategy, DFM |
| Career ceiling | Lead machinist, shop supervisor | Lead programmer, manufacturing engineer |
| Physical demands | Standing, lifting, machine floor | Mostly desk-based with floor time |
| Path between roles | Most programmers start as machinists | 3 to 5 years machining before programming is typical |
The pay gap between the roles is roughly USD 15,000 to 25,000 per year in the US, which is the single strongest financial argument for machinists to invest in programming skills. The transition typically takes 12 to 24 months of deliberate learning alongside machining work.
The Skills Roadmap: From Operator to Six-Figure Programmer
The progression below reflects the path most six-figure programmers actually took, compiled from career data and hiring patterns across US manufacturing.
STEP 1: Master Manual Machining Fundamentals (Year 0 to 2)
Feeds, speeds, workholding, tool geometry, and material behavior. Programmers who never ran machines write programs that fight the physics. Most shops will not move an operator into programming without demonstrated machining judgment.
STEP 2: Learn G-Code at the Controller (Year 1 to 3)
Hand-edit programs at the machine before touching CAM. Understand G and M codes, work offsets, tool length compensation, and canned cycles. This is the foundation that makes CAM output debuggable rather than mysterious.
STEP 3: Pick One CAM Package and Go Deep (Year 2 to 4)
Mastercam has the largest US job market share, but Fusion 360 is free to learn on and increasingly accepted. Depth beats breadth: shops hire the person who can push one package to its limits, not the person with surface familiarity in five.
STEP 4: Add Multi-Axis and Specialty Capability (Year 3 to 6)
4-axis and 5-axis programming, mill-turn, or Swiss-type work separates USD 65,000 programmers from USD 90,000+ programmers. Aerospace and medical shops pay the biggest premiums for these skills.
STEP 5: Layer On DFM and Process Engineering (Year 5+)
Lead programmers and manufacturing engineers earn six figures by owning the whole process: quoting support, fixture design, cycle time optimization, and mentoring junior programmers. The pay ladder tops out where programming meets engineering judgment.
How to Become a CNC Programmer
The most common entry paths, in order of frequency across US manufacturing hiring:
✓ Machinist-to-programmer promotion: The dominant path. Work as an operator or machinist, learn G-code at the controller, take CAM training, and move into programming at your current shop or a competitor. 64 percent of programmers hold only a high school diploma per ERI data, proving degrees are optional.
✓ Community college CNC program: One or two-year programs covering machining fundamentals plus CAM. Graduates typically enter as operator-programmers and reach full programmer roles within 2 to 3 years. The associate degree correlates with modestly higher starting pay per Salary.com data.
✓ Apprenticeship: Formal 3 to 4 year programs combining paid machine work with classroom instruction. Common in Germany, Switzerland, and increasingly revived in the US through NIMS-credentialed programs.
✓ Self-taught plus portfolio: Learn Fusion 360 free, buy or access a small CNC machine, and build a portfolio of programmed parts. Less common but viable for career changers, particularly when combined with any shop-floor entry role.
Whichever path you take, software fluency is the constant. The CNC programming software list maps the major CAM and control packages worth learning, from free entry points to the industrial standards that appear in job postings. The G-code reference guide covers the language fundamentals every programmer needs at the controller, and the broader CNC programming overview connects the pieces for newcomers planning their learning sequence.
For hands-on control software practice, the Mach3 CNC controller software guide and the CAD/CAM software catalog cover the design-to-machine pipeline. Shops running STYLECNC CNC machine can also access machine-specific training resources that pair software learning with real machine time.

Glossary: CNC Career Terms
Use this reference when reading job postings, comparing offers, or planning your skill development.
| Term | Definition |
|---|---|
| CAM | Computer-Aided Manufacturing. Software that converts CAD models into machine toolpaths. |
| G-code | The programming language CNC machines execute. Written by CAM software or by hand at the controller. |
| Setup | Preparing a machine to run a job: fixturing, tool loading, offset setting, and first-article verification. |
| Prove-out | First run of a new program, typically at reduced feed, to confirm it cuts correctly. |
| Post-processor | Software that translates CAM toolpaths into the specific G-code dialect a machine controller understands. |
| NIMS | National Institute for Metalworking Skills. US credentialing body for machining and programming certifications. |
| Mill-turn | Machines combining milling and turning, requiring hybrid programming skill that commands premium pay. |
| Swiss-type | Sliding-headstock lathes for small precision parts. Specialty programming niche with chronic talent shortage. |
| DFM | Design for Manufacturability. Reviewing part designs for cost and feasibility, a lead-programmer skill. |
| Work offset | Coordinate system telling the machine where the part sits in the work envelope. Fundamental setup skill. |
Frequently Asked Questions
How much does a CNC programmer make per hour?
US CNC programmers average USD 31 to 39 per hour depending on the survey. ZipRecruiter reports an average of USD 30.96, Salary.com reports USD 31 to 35 for standard and experienced levels, and ERI reports USD 39. Entry-level rates start around USD 24 to 27 per hour, and lead programmers exceed USD 50 per hour in aerospace and defense.
Do CNC programmers need a college degree?
No. ERI SalaryExpert data shows 64 percent of US CNC programmers hold only a high school diploma. An associate degree correlates with modestly higher starting pay per Salary.com employer-reported data, but experience, CAM software depth, and multi-axis capability drive earnings far more than credentials. Apprenticeships and machinist-to-programmer promotions remain the most common paths.
Is CNC programming a good career?
The fundamentals are strong. Demand keeps growing as manufacturing reshoring collides with a shrinking pool of qualified programmers, and the pay ladder reaches six figures without requiring a four-year degree. Glassdoor reports 65 percent of CNC programmers are satisfied with their pay. The main tradeoffs are that the field requires continuous software learning and the best-paying jobs cluster in specific industrial regions.
What is the difference between a CNC operator, machinist, and programmer?
An operator loads material, starts programs, and monitors machines. A machinist adds setup, offset adjustment, inspection, and troubleshooting. A programmer writes the toolpaths and programs the machinist runs. Pay rises with each step: operators typically earn USD 35,000 to 45,000, machinists USD 48,000 to 56,000, and programmers USD 64,000 to 80,000 in the US, with the machinist-to-programmer jump being the largest single pay increase in the trade.
Which CAM software should I learn first for the best job prospects?
Mastercam has the largest installed base in US job shops and appears in the most job postings, making it the safest employment bet. Fusion 360 is free for personal learning and increasingly accepted at smaller shops, making it the best zero-cost starting point. In aerospace and complex 5-axis environments, Siemens NX, CATIA, and hyperMILL appear more often. Learn one deeply rather than several superficially.
How long does it take to become a CNC programmer?
From zero manufacturing experience, expect 3 to 5 years: roughly 2 years building machining fundamentals as an operator or machinist, then 1 to 2 years learning G-code and CAM while transitioning into programming duties. Community college programs compress the front end to 1 to 2 years. Experienced machinists who commit to CAM training often complete the transition in 12 to 24 months.
The Bottom Line
CNC programming pays USD 64,000 to 80,000 on average in the United States, with a documented ladder to USD 109,000+ at the lead level, and no degree requirement blocking the path. The variables that move pay are industry choice, multi-axis capability, CAM software depth, location, and the ability to combine programming with hands-on machining.
For machinists and operators planning the move into programming, the learning sequence matters more than the starting point: machine fundamentals, then G-code, then one CAM package learned deeply. The CNC programming software list is the natural starting map for that journey, and the full CNC software resource library covers the control and design tools you will meet along the way.





