Programer stroja odgovoran je za stvaranje programiranih uputa koje kontroliraju automatizirane uređaje u proizvodnom ili drugom industrijskom okruženju. Na primjer, tehnologija računalne numeričke kontrole (CNC) vrlo je učinkovito rješenje u industrijskom sektoru, ali zahtijeva vješt ljudski operater da unese upute koje govore strojevima kako se ponašati. Ovo je posao strojnog programera. CNC tehnologija je uključena u veliki broj karijera strojnog programera, iako postoje i druge tehnologije koje zahtijevaju i vještine strojnog programera. Primarna vještina koju koriste strojni programeri je njihova sposobnost čitanja, pisanja i razumijevanja programskih jezika koje koriste CNC strojevi.
G-Code je dominantni programski jezik koji koriste strojni programeri. Naredbe u G-kodu i većini drugih jezika koje strojni programer koristi uključuju sintaksu vrlo niske razine, što znači da ne nalikuju engleskom ili drugim jezicima koji se koriste za ljudsku komunikaciju. Stoga strojni programer pokazuje kompetenciju razumijevanjem kako se te naredbe odnose na stvarne procese koje stroj izvodi. On ili ona također razumije prirodu fizičkih zadataka koje se stroju traži da izvrši kroz programiranje. Ti zadaci mogu uključivati stvari kao što su rezanje navoja na metalnim površinama ili bušenje materijala.
Programeri stroja imaju zadatak dizajnirati kod koji omogućuje stroju da izvrši proizvodni zadatak više tisuća puta. Stoga je bitno da programi koje pišu uzrokuju da rad stroja padne u vrlo stroge parametre kvalitete, čime se osigurava da proces ne rezultira nedostatkom proizvoda. Rad strojnog programera stoga je vrlo značajan doprinos kvaliteti industrijskog procesa u cjelini.
CNC strojevi sposobni su za obavljanje zadataka koje bi ljudima bilo iznimno teško raditi uvijek iznova s preciznošću. Određeni zadaci, poput rezanja navoja u vijcima, donekle su automatizirani već dugi niz godina, no korištenje modernih, programiranih strojeva omogućuje još veći stupanj automatizacije, a time i veću učinkovitost. Programirani stroj sposoban je rezati ravnu liniju ili izbušiti rupu s točnošću koja je nedostižna ljudskim radom.
Iako je automatizacija industrije dovela do eliminacije poslova ručnog rada, strojevi se ne mogu sami programirati bez određenog stupnja ljudskog doprinosa. Karijere strojnog programera ovise o ovoj potrebnoj vezi između mehaničke učinkovitosti i ljudskog usmjerenja. Čini se da ova karijera ima dugoročni potencijal, pod uvjetom da je strojni programer u stanju držati korak s naprednom tehnologijom.