Mechanics, Maintenance & Manufacturing career

CNC Programmer

Also called: CNC Programmer/Machinist · CAM Programmer · Manufacturing Programmer · NC Programmer

What CNC programmers do, what they earn, how long training takes and how to get started, with official BLS pay data and practical, job-level detail.

Updated By the Career Education Institute Curriculum Team
What does a CNC programmer do?

CNC programmers use CAD/CAM software and G-code to create, test and optimize programs that run computer numerically controlled machine tools such as mills, lathes and routers. The median pay is $68,120 per year (BLS, May 2025), most people train for about 1–2 years plus shop experience, and employment is projected to grow +5.9% from 2025–35.

Pay data: BLS OEWS, May 2025 · Outlook: BLS 2025–35 · Checked October 15, 2026

  • Median pay
    $68,120
    $32.75/hour · May 2025
  • Job growth
    +5.9%
    2025–35, faster than average
  • Openings per year
    2,700
    Average, 2025–35
  • Typical entry education
    Postsecondary nondegree award
    BLS classification
  • Time to train
    1–2 years plus shop experience
    Typical program length
  • U.S. jobs
    28,600
    Employment, 2025

What CNC programmers do

CNC programmers translate engineering drawings and 3D models into machine instructions. They choose tools, plan toolpaths, set feeds and speeds, post-process programs to G-code, simulate cuts and prove out new programs on the machine. They work closely with machinists and engineers to improve cycle times, part quality and tool life.

Many programmers start as CNC machinists and move into programming after learning setups and machining. Technical college programs and CAM software certifications speed the path. The job pays more than machine operation and suits people who like both computers and the shop floor.

Typical duties

  • Read drawings, models and GD&T callouts
  • Plan machining operations and fixturing
  • Create toolpaths in CAM software
  • Select tools, feeds and speeds
  • Post-process and verify G-code programs
  • Prove out programs and optimize cycle times
  • Write setup sheets and support machinists

Work environment and schedule

Programmers work in offices next to the shop floor and at machines during prove-outs. The shop is noisy, with coolant and moving machinery.

Schedule: Most work full-time day shifts, with occasional overtime for new product launches.

A day in the life

  1. Review a new aerospace bracket model and drawing with the engineer.
  2. Plan operations and design a fixture for two setups.
  3. Program roughing and finishing toolpaths in Mastercam.
  4. Simulate the program and check for collisions.

See a full day in the life of a CNC programmer →

CNC Programmer salary

Half of CNC programmers earned more than $68,120 and half earned less in May 2025. Pay ranged from about $47,530 for the lowest 10% to $100,320 for the top 10%.

Full CNC programmer pay scale and hourly rates →

How to become a CNC programmer

  1. Learn machining basics
  2. Complete a CNC program
  3. Work as a CNC machinist
  4. Learn CAM software
  5. Advance

Many CNC programmers complete a technical college certificate or associate degree in CNC machining or manufacturing technology. Experience as a machinist is very valuable, and CAM software training is essential.

Step-by-step guide to becoming a CNC programmer →

Skills and tools

Technical skills

  • CAM programming
  • G-code and M-code
  • Blueprint and GD&T reading
  • Tooling and fixturing
  • Feeds and speeds

People skills

  • Problem solving
  • Attention to detail
  • Communication with machinists
  • Patience

All CNC programmer skills and tools →

Pros and cons

Pros

  • Combines computers and hands-on manufacturing
  • Higher pay than operating machines
  • Strong demand in aerospace, medical and automotive
  • Continuous learning with new software and machines

Cons

  • Pressure to hit deadlines and cycle times
  • Mistakes can crash expensive machines
  • Software changes require ongoing learning
  • Split time between desk and shop

Certifications and licenses

  • NIMS CNC credentials: National Institute for Metalworking Skills certifications in CNC programming and operation.
  • Mastercam certification: Software certification for CAM programming.
  • Autodesk Fusion or SolidWorks CAM certification: Credentials for CAD/CAM tools.
  • GD&T certification: Training in geometric dimensioning and tolerancing.

Career path

  1. CNC Operator or Machinist: Run machines and learn setups.
  2. CNC Programmer: Write and prove out programs.
  3. Senior Programmer or 5-Axis Specialist: Program complex parts and train others.
  4. Manufacturing Engineer or Shop Manager: Lead processes or operations.

Learn the job before day one

Our CNC Programmer training (10 hours, $89.99) covers the role, 15+ key terms, step-by-step procedures such as program a simple milled part in CAM and prove out a new CNC program, safety and how to land your first job.

Compare: CNC Programmer vs. CNC Machinist · CNC Programmer vs. Tool and Die Maker · CNC Programmer vs. QC Inspector · CNC Programmer vs. Mechanical Engineering Tech

CNC Programmer FAQ

Do CNC programmers need to be machinists first?

Not always, but machining experience makes programmers much more effective.

What software should I learn?

Mastercam is widely used, and Fusion, Esprit and SolidWorks CAM are common.

Is CNC programming in demand?

Yes, especially in aerospace, medical device and precision manufacturing.

How much does a CNC programmer make?

The median annual wage for CNC programmers was $68,120 ($32.75 per hour) in May 2025, according to the U.S. Bureau of Labor Statistics. The lowest 10% earned less than $47,530 and the highest 10% earned more than $100,320.

How long does it take to become a CNC programmer?

Most people need about 1–2 years plus shop experience of training. Many CNC programmers complete a technical college certificate or associate degree in CNC machining or manufacturing technology. Experience as a machinist is very valuable, and CAM software training is essential.

Do you need a degree to be a CNC programmer?

No four-year degree is typically required. BLS lists “postsecondary nondegree award” as the typical entry-level education, plus moderate-term on-the-job training.

More CNC programmer questions →

Sources

Reviewed by the Career Education Institute Curriculum Team. Pay figures are national estimates; local pay varies. See our editorial policy.

Enroll in trainingTake fit quiz