Programerji se ločijo po tem, katere programske jezike obvladajo. Poznamo več vrst programerjev, kot so spletni programerji, programerji specifičnih naprav (eden izmed teh je na primer računalniški programer), programerji sistemske administracije, analitiki računalniških sistemov in tako dalje. Skratka, možen razpon znanja programerjev je tako širok, da so ga delili na več specializacij.
Mnogi izpostavljajo, da je celotno znanje, ki ga potrebuje programer, dostopno na internetu – a to še zdaleč ne drži. Res je, da so bile v namen dodatnega izobraževanja ustvarjene brezplačne platforme in številni interaktivni spletni tečaji. Na samem koncu pa svojo napravo rajši zaupajmo osebi s priznanim certifikatom. Obstajajo namreč certifikati za skoraj vse programske jezike ali programske produkte, ki so specifični za določenega prodajalca. Tako se priznan in dober programer loči od amaterja.