Posted by: davidhayden | September 19, 2010

Proven Tips and Tactics: How to get started learning CNC Programming

I received an interesting question the other day. A computer programmer that works in industry asked “How do I get started learning CNC programming?” Great question and I thought I should share my answer with you.  

 So what do I say to someone who wants to know how to get started learning CNC programming?

I ask they why do they want to learn CNC programming? Their answer to this question makes all the difference.
If you are a supervisor wanting to learn CNC programming so you can better communicate with your operators / machinists, then what you need to know is different from the hobbyist. If know why you are learning CNC programming, or any other subject for that matter, your ability and motivation to learn is greatly enhanced.  

Why knowing why makes it easier and more motivating to learn a subject

Imagine picking up a guitar and deciding you want to learn to play. It gets pretty boring just learning chords, scales and picking styles. Day after day you do your scales and chords but still don’t know a song or a piece. But when you start with a song in mind, you get focused, you learn the chords and scales specific to that song and pretty soon you can play it and enjoy it. In a matter of time you can play it flawlessly. The next song you want to learn is much easier.
It is easier because you have learned a lot more than scales and chords, you have learned a music system that includes, rhythms, strumming or picking all fused together.  

Learning CNC programming is much like learning music

When you decide why you are learning CNC programming, you narrow the field to what you need to know. And, what you learn is immediately applicable to your situation. For the supervisor, learning about coordinate systems and the general concepts behind CNC machines, you are far more able to communicate with your operators. The more you know the less likely you are able to be fooled or confused by an operator.
If you are an operator and want to have more control over your machine and your career, you need to learn more than generalities. You need to learn the specifics of the various canned cycles, subroutines, looping, G and M codes. As you develop your understanding of the CNC language, coordinate systems and efficient programming methods, the easier your job becomes.
Learning to program CNC machines is significant step you can take to get off the shop floor and into the CNC programming office.  

Where do you begin to learn CNC programming

After you have decided why it is important for you to know CNC programming, there are a lot of resources available to help you. Here are some suggestions:  

So how do you get started learning CNC programming? Do these 5 simple steps:  

  1. Determine a goal or why you want to learn CNC programming
  2. Knowing why, now determine what you need to know to achieve that goal
  3. Search the internet, book stores, libraries and school resources for information you need to know
  4. Study your books with the intention of meeting your goal and measure your progress
  5. Set new goals and continue learning to expand your knowledge and horizons

 Do you have a question about CNC Programming?  Simply post your question on this blog, I will do my best to answer the question or point you to a resource that will answer your question.

About these ads


  1. I don’t usually reply to posts but I will in this case.
    with ‘we leave it to you to decide’.

  2. I recruit a lot of experienced CNC Programmers in the UK and most of them learnt their programming skills during an engineering apprenticeship

  3. i work with mazaks setting them up and programming in conversational. i want to learn more about speeds and feeds. currently we just guess on both, but i don’t want to be one of those people. i would like to be able to to calculate the speeds and feeds. i know the calculations are just a starting point. what books or courses do you recommend!

  4. Hi really cnc programming is not that easy to master, it takes time, I have 17 years experience in cnc programming and cnc machining and I am in love with cnc machine programming still sometimes I have to jerk my minds.. I have a CNC Programming Blog tanvon CNC Blog.

    • When I tried to view your blog I got a script error that froze up IE. But from what I can see you have some good CNC information there. Thanks for sharing the link.

      I started progamming machines that were NC machines without computers. Controls like the early GE 100S or GE 500 and GE 550 controls. These had no cutter compensation, no canned cycles, etc. One machine did not even have absolute programming and since it was an 8 bit processor, the largest value we could put in was 99999 which equated to 9.9999 inches. The machine was a large 72″ VTL so to move the tool to the center of the machine required incrementally moving
      X- 9.9999
      X- 9.9999
      X- 9.9999
      X- 6.0003
      Just to get to the center of the table. Keeping track of where the tool was all the time required good concentration.

      It was a pretty exciting day when we got our first Fanuc 6 CNC machine.

      • hi, no doubt cnc machine makes our lives easier in workshops, but now the the time is tough again, there are CAD/CAM software to help us but again we have broaden our boundaries, now people are making such component in very limited time that I just get amazed.

  5. Hello. Can someone please tell me how I can learn cnc programming. I tried the vo-tech schools and none of them offer the program. I would even work as an apprentice but everyone is required to have so many years of experience to start. I can’t get the experience if no one will teach me. Please let me know how i can learn the trade to get some experience for employment. Thank you

  6. hi , i m planning to learn cnc programming so can anyone help me to get start from scratch. Tell me some topics which i have to learn first and then go for advance? ….and one more query while learning programming do i have to learn from g-codes or use cad/cam like G-wizard to make programme…

    • There are a few areas you need to know to be a good CNC programmer.
      speeds and feeds,
      and the CNC programming language.

      I have worked with CNC programmers that did not know machining and they did alright but to advance in their career they had to learn the the manufacturing side of things.

      Writing G&M code is definitely old school but can be really handy in small shops that can’t afford expensive CAD/CAM systems. Most companies of any size are using CAD/CAM of some variety whether it is BobCAD, MasterCAM, Unigraphics, SurfCAM, or even conversational programming on the machines.

      Some of the machine controls are well eqipped with conversational controls that will do a lot of the programming for you.

      I strongly believe that a good understanding of G&M codes is essential because that is the language the machines speak. CAD/CAM systems are really only translators that translate the CAD and machining process into the G&M codes via a post processor. If the post is not good or reliable, sometimes the only way to debug the program is to know G&M codes.

  7. Im a 20 year old cnc programmer with cnc milling certificate without experience because iv never got a chance to operate the machine,the thing is that when im searching for jobs they require me experience of 2 years or i want to know i can i get experience?what do i do to obtain experience? there lot of opotuniteis out there but these opotunities are made for people who already working,how about young people like me who a still developing but required to have experience while they still from school?

    • That has always been a tough cycle. Everyone wants experience but no one wants to train someone so they can get that experience.

      I would think at your age you might have some advantage. Very few people are chosing to go in the trades these days and companies need to hire a new generation of employees of they are going to make parts in the future. I have worked at a couple of large shops that expected 60% of thier seasoned workforce to retire with in 5 years of the time I was there.

      Some places are starting up appreteniceship and internship programs these days and working cooperatively with trade schools and local community colleges.

      I would start with a local college and see if they may be working with companies in the area, maybe they have an introductory program through which you could get some hands on experience. Also check with the larger manufacturing companies and see where and when they are having Job Fairs. Go in and present yourself and your credentials and see what they may have to offer in the way of internships/apprenticeships.

      Hang in there. You are in a good trade. Depending on the company a CNC machinist / CNC programmer can make $20-$45 per hour with benefits and overtime.

Leave a Reply


You are commenting using your account. Log Out / Change )

Twitter picture


Facebook photo


Google+ photo


Connecting to %s



Get every new post delivered to your Inbox.

Join 380 other followers

%d bloggers like this: