Trades Career Profile: Computer Numerical Control (CNC) Programmer
Manufacturing is a growing industry, and modern manufacturing relies on sophisticated technologies such as automation and high-tech machining. Computer Numerically Controlled (CNC) machines are a backbone of production, used to cut, shape, and finish a wide variety of materials used in mass production and custom prototyping, such as metal, plastic, wood, or composite materials. CNC machines are used to create parts for other assemblies, customized prototypes, and many other products based on digital drawings produced by engineers and architects.
CNC machines are precision instruments that use numerical computer code to precisely cut these parts, and require highly skilled technicians to write the code, and to program and operate the machines. The job of a CNC Programmer requires the programmer to understand engineering blueprints, and write the code the CNC machine needs to run. CNC programmers will also test their code, perform troubleshooting, and revise the machine code according to changes in the engineering requirements. They are also responsible for determining estimates for cost and time requirements to produce a part, select the correct cutting tool for the material being used, and compare finished parts to the original blueprints to ensure the parts are accurate.
For people with an interest in both computers and manufacturing, becoming a CNC programmer is an ideal career path. It requires workers who are detail oriented, skilled with computers and coding, able to concentrate for long periods of time, and have strong problem solving abilities.
Most CNC Programmers will work in factories, including large manufacturing and mass production facilities, as well as small job shops, machine shops, or prototyping companies. Because much of the work is done on computer, often CNC Programmers will be in office environments. However, there can be requirements to work directly on the floor of a factory, which can include high temperatures, dust, and the requirement to wear safety and personal protective equipment. This can also require a certain amount of moderate to heavy lifting, pushing and pulling to operate machinery or move parts, and standing for long periods of time.
CNC Programmers require some post-secondary education in engineering technologies, manufacturing technologies, including specific courses and training in CNC programming, computer-aided design (CAD) and computer-aided machining (CAM) software programs, machining, fabrication, metalworking, or other related areas. This can be a combination of college or trade school diploma, and apprenticeships or on-the-job training. Depending on the province, certification may be required with the provincial trade association.
Wages for CNC Programmers start around minimum wage, $15 – $17 per hour for entry-level and apprenticeship positions. With experience, this trade earns wages up to around $30 – $40 per hour. This is an average yearly salary range from $39,000 for early career up to as high as $75,000 for middle to late career earnings.