Basic requirements parallel those of machinists. Employers often prefer skilled machinists or those with technical school training. For some specialized types of programming, such as with complex parts for the aerospace or shipbuilding industries, employers may prefer individuals with a degree in engineering. For those entering CNC programming directly, a basic knowledge of computers and electronics is necessary, and experience with machine tools is extremely helpful. Classroom training includes an introduction to numerical control, the basics of programming, and more complex topics, such as computer-aided manufacturing.
Trainees start writing simple programs under the direction of an experienced programmer.
Although machinery manufacturers are trying to standardize programming languages, there are numerous languages in use. Because of this, CNC programmers should be able to learn new programming languages. As new automation is introduced, machinists and CNC programmers normally receive additional training to update their skills. This training is usually provided by a representative of the equipment manufacturer or a local technical school. Some employers offer tuition reimbursement for job-related courses.