Il programmatore CNC è un esperto nella programmazione di macchine a controllo numerico computerizzato (CNC). Queste sono macchine utensili controllate da un computer di bordo. Il programmatore CNC deve preparare le istruzioni da caricare sul computer, per indicare alla macchina CNC che cosa fare e come farlo.
Il suo compito principale è programmare la macchina utensile per eseguire le lavorazioni meccaniche specificate. Deve generare le istruzioni di lavorazione in un codice comprensibile dalla macchina (in "linguaggio macchina"). Per fare questo, il programmatore CNC riceve dai progettisti il disegno meccanico del pezzo da lavorare o del prototipo da realizzare, scritto con programmi CAD (Computer-Aided Design), e ne ricava una descrizione dettagliata degli utensili da usare e del tipo di lavorazioni da compiere.
Il programmatore CNC usa software CAM (Computer-Aided Manufacturing) per realizzare il programma completo di lavorazione: coordinate di partenza, parametri principali e ausiliari delle lavorazioni, percorso utensile, cicli di operazioni ricorrenti. Queste informazioni vengono codificate usando un linguaggio di programmazione chiamato Codice ISO Standard.
I computer a bordo macchina (controllori) utilizzano però dei sistemi proprietari delle case di produzione, che hanno sviluppato dei codici di istruzioni specifici e non compatibili o interoperabili. Per questo motivo il programmatore CNC deve processare i dati usando dei post processor specifici o ottimizzati per ogni singolo macchinario, per generare dei file di istruzioni comprensibili dalla macchina utensile che dovrà lavorare il pezzo.
Quando le istruzioni sono pronte, il programmatore CNC le controlla tramite test e simulazioni, per assicurarsi che le macchine funzionino a dovere e che il pezzo lavorato sia conforme rispetto alle specifiche tecniche del progetto. A questo punto il programma CNC viene caricato sul computer che invia i comandi alla macchina utensile e gli utilizzatori finali (tipicamente addetti e operatori CNC) possono dare il via alla produzione industriale.
Il programmatore CNC può poi apportare eventuali modifiche secondo le richieste e il feedback degli operatori responsabili delle lavorazioni. Oppure, a seconda dell'organizzazione aziendale il programmatore CNC può anche svolgere direttamente le mansioni di operatore CNC: carica il programma e i pezzi da lavorare, fa partire il macchinario, controlla il processo e verifica la qualità del prodotto finito con appositi strumenti di misura.