The Average CNC Programmer Salary & Career Prospects

A CNC (Computer Numerically Controlled) Programmer is responsible for writing, updating and improving the software used by industrial robots and machinery. The average CNC programmer salary is somewhere around $43,000 per annum, with an average hourly wage of $21.

To become a CNC programmer, you should first have a degree in machine programming and have at least some experience as a machinist. Usually, companies require a few years of experience in the field.  The CNC machine programmer salary is competitive on the labor market, and a skilled machinist will have a good career progression, with various opportunities for development.

The CNC Programmer Salary – Influencing Factors

The level of a CNC Programmer Salary is influenced by a number of factors. The most important of these are the specific industry in which the CNC programmer will work, the location in which he/she is willing to work and, of course, previous experience and specific expertise with different types of machinery.


A CNC programmer salary is firstly determined by the specific industry in which he/she would prefer working. Some industries that have big CNC programmer salaries are the auto industry, the defense sector, and the high-tech sector.

For instance, Tesla Motors hires CNC programmers for considerable salaries, exceeding $50,000 per year. BAE Systems, a well-known defense contractor, also needs skilled CNC programmers for their industrial equipment. However, the job requirements for such prestigious companies are very exigent, and only the very best machinists and CNC programmers are hired.

There are other smaller companies which also need CNC programmers and still offer considerable salaries. For instance, Timken Gears and Services Philadelphia hires CNC programmers for good salaries, which can exceed $35-40,000 per year.


The best CNC programmer salary would definitely be found in a major industrial area. So, if you’re passionate about CNC programming and machinery, aim for major industrial centers in states like New York, Ohio, Minnesota and California. The region with the highest average CNC programmer salary is the District of Columbia and the Washington DC area, with an average of $58,000 a year, though you have a good chance of finding even better pay in elite CNC programming jobs in California and other heavily industrialized states.

Finding a good CNC programmer salary in states like Nebraska or Arkansas is not impossible, as those states also have numerous companies which operate machinery and need CNC programmers.

3. Experience

One of the most important factors in landing a top CNC machine programmer salary is your previous experience and your expertise. If you have experience in programming Multi Axis CNC Vertical Mills and/or CNC Lathes (Matsuura, DMG Mori, and Haas), you will have a good competitive advantage. Also, familiarity with innovative software for CAM programming, like HyperMill and Esprit, is also a very good plus.

A CNC programmer salary increases in time, as you learn new skills and become highly familiarized with the software, machinery, and techniques used by your company. Other skills which can greatly increase your salary in time usually have a lot to do with your proficiency in CNC programming software such as CATIA or NX Unigraphics.

Schedule & Working Hours

Due to the specifics of working in an industrial environment, a CNC programmer might be required to work in shifts, though some companies nevertheless offer standard hours. Working during the weekends is not usually required, but it may be at some companies, in accordance with their internal policies.

Extra hours are common, due to the high difficulty of the tasks. The job is usually carried out in safe office conditions, but will occasionally require the CNC programmer to enter less controlled environments in order to check on the machines’ status and on whether they are functioning properly.

CNC Programmer Salary by State

Below, we have prepared a table detailing the average CNC programmer wages across the US.

State Annual Mean Wage
Alabama $46,000
Alaska $34,000
Arizona $38,000
Arkansas $47,000
California $49,000
Colorado $41,000
Connecticut $53,000
Delaware $40,000
District of Columbia $58,000
Florida $43,000
Georgia $52,000
Hawaii $28,000
Idaho $30,000
Illinois $52,000
Indiana $44,000
Iowa $45,000
Kansas $42,000
Kentucky $40,000
Louisiana $41,000
Maine $41,000
Maryland $47,000
Massachusetts $55,000
Michigan $46,000
Minnesota $40,000
Mississippi $48,000
Missouri $45,000
Montana $38,000
Nebraska $33,000
Nevada $35,000
New Hampshire $45,000
New Jersey $50,000
New Mexico $40,000
New York $55,000
North Carolina $44,000
North Dakota $41,000
Ohio $44,000
Oklahoma $42,000
Oregon $44,000
Pennsylvania $44,000
Puerto Rico $44,000
Rhode Island $42,000
South Carolina $45,000
South Dakota $35,000
Tennessee $43,000
Texas $44,000
Utah $36,000
Vermont $40,000
Virginia $46,000
Washington $47,000
West Virginia $43,000
Wisconsin $41,000
Wyoming $38,000
US Average $43,154
Average Hourly Wage $21

Career Prospects

Due to an absolutely total reliance on machines when it comes to industrial production, CNC programmers are absolutely vital. Without CNC programmers, the entire industrial sector would simply have no means to set and program the machines which do most of the hard work. As such, there are very good career prospects in this line of work, with the average CNC programmer salary expected to grow slowly but steadily in the following years.

However, remember that a CNC programmer job is a niche position inside a company, requiring special skills and expertise. As such, the competition for good positions can be extremely fierce. In addition, due to the specificities of each company, CNC programmer positions do not open very often because companies prefer to keep and develop an expert in such a position of responsibility. Learn more about what is expected from a CNC programmer here.


In conclusion, CNC programming has the promise of a well-paid career, with real possibilities of personal development. The average CNC programmer salary is expected to keep on growing. However, so will the job requirements as more and more innovative software hit the market.

You can become a CNC programmer by taking specialized courses in CNC programming and by learning how to use different software and specific programming languages. Remember that companies are mostly interested in people who already have at least a couple of years of experience in the field. Thus, a smart thing to do is to work as an assistant and/or try to get as close as possible to the actual thing during your studies. Learn more about a career as a CNC programmer here.

Image source: 1

Recent Posts