CNC machine programmers develop programs that tell automatic machine tools, equipment, or systems how to work.

Are you someone who likes to set up and operate machines through computers? As a CNC machine programmer, you are responsible for the programming, set-up and operation of vertical milling control (VMC) and other computer-controlled machines. These jobs are usually found in the production of precision sheet metal, machined parts, robotics or plastic, where the factory relies on computers to run small and large scale fabrications. You’ll occupy one of the most important positions on the production floor, working alongside machinists, technicians, and assemblers to create a high-quality finished product.

CNC machine programmer is a job that involves a high level of responsibility and precision. You’ll be in charge of writing programs that direct machine operation. First, you’ll look at engineer-created technical drawings in order to decide the positions, speeds, and tools needed to create a product. Next, you’ll write a program into a machine’s control center using computer-aided manufacturing (CAM) software. This means you’ll need a lot of training and knowledge on the subject of computer programming as well as experience on the production floor in order to write the most precise program possible.

In addition to writing the programs that control the machines, you may need to operate the machines by loading materials or unloading a finished product. This is also important in order to make sure that the program you write is producing the best product possible. If not, you’ll need to know how to make adjustments to the program or machine set-up.

Many CNC machine programmers are promoted from positions on the production floor, but you’ll need additional training in programming language and technical drawings reading in order to become a programmer. A certification or training program is a great way to gain the knowledge and experience you’ll need for the job.

Also Known As:

Machine Tool Programer, CNC Programmer, Integrated Machinist Programmer

Critical Skills


  • Compare Programs with Specifications and Technical Drawings
  • Complex Problem Solving Skills
  • Computers and Design
  • Operation Monitoring — Watching gauges, dials, or other indicators to make sure a machine is working properly
  • Operational Sequences
  • Revising and Retesting Programs
  • Software and Hardware Programs


  • Advanced Computer Skills
  • Analyzing Data
  • Communication - Internal and External
  • Critical Thinking Skills
  • Gathering or Getting Information
  • Lifelong Learning
  • Monitoring
  • Operation and Control
  • Problem Solving
  • Quality Control Analysis — Conducting tests and inspections of products, services, or processes to evaluate quality or performance
  • Troubleshooting

Key Responsibilities

  • Analyze job orders, technical drawings, and other design data to calculate dimensions, tool selection, machine speeds, and feed rates
  • Stop machines to remove finished work pieces or to change setup according to required machining sequences
  • Check that work pieces are properly lubricated and cooled
  • Remove and replace dull cutting tools
  • Measure, organize, and transport finished items (work pieces)
  • Control coolant systems
  • Clean and maintain functioning machines
  • Set up future jobs while machines are operating
  • Watch and listen to gauges, dials, and other indicators to make sure a machine is working properly
  • Transfer commands from servers to computer numerical control(CNC) modules using computer network links
  • Set up and operate computer-controlled machines or robots to perform machine functions
  • Write programs for computer-controlled machine tools
  • Lay out and mark areas of parts to be shot-peened and fill hoppers with shot

Special Requirements

  • Above Average Reaction Time
  • Arm-Hand Steadiness


  • Precision Work
  • Robotics

How to get this job

Take job-related courses in machinery, operations or critical thinking/problem solving. Usually start by working with an experienced employee for months to understand position.

Specific job titles and duties vary by employer so check for details.