Programmeerijat, keda sageli nimetatakse ka arvutiprogrammeerijaks, peetakse tavaliselt arvutiprogrammi taga olevateks ajudeks. Tavaliselt kirjutab ta üksikasjalikud juhised, mis juhendavad arvutit konkreetsetes rakendustes kasutatava teabe töötlemiseks vajalike loogiliste sammude kaudu. Kui tavaline arvutikasutaja käivitab ekraanikäskluse “vaata allikat”, on ekraanile ilmuvad sümbolid ja suures osas tuvastamatu keel tavaliselt programmeerija töö.
Programmeerijaid töötab peaaegu igas ärisektoris, sealhulgas kasumi- ja mittetulundusühingutes. Neid võib leida haiglates, haridusasutustes ja valitsusasutustes. Insenerifirmad ning tootmis- ja tootmisrajatised palkavad regulaarselt programmeerijaid. Mõned ettevõtted kasutavad neid spetsialiste täistööajaga, samas kui teised sõlmivad programmeerijatega lepinguid ainult vastavalt ettevõtte vajadustele.
Enne kui programmeerija projekti alustab, peab ta tavaliselt tööandjaga nõu, et selgelt mõista kavandatava programmi eesmärke. Kui programmeerija on programmi eesmärgist täielikult aru saanud, koostab ta tavaliselt vooskeemi, mis kirjeldab, kuidas teave peaks loogiliselt ja korrapäraselt läbi süsteemi liikuma. Tarkvarainseneridelt ja süsteemianalüütikutelt palutakse programmi arendamise selles etapis sageli nõu anda.
Keel, mille programmeerija oma programmi jaoks valib, sõltub suuresti rakenduse olemusest. Mõned tüüpilised veebisaitide ja interaktiivsete vormide loomiseks kasutatavad keeled on HTML, XML, XHTML ja PHP. Haldus-, finants- ja ärisüsteemide rakenduste levinud keel on COBOL.
Kui programm on valmis, peab programmeerija seda üldiselt käivitama, et tuvastada tõrkeid kontekstis, sisus või keeles. See protsess, mida tavaliselt nimetatakse silumiseks, jätkub seni, kuni programm loetakse lõpetatuks ja töökorras. Silumine võib olenevalt vigade arvust ja programmi pikkusest kesta mõnest päevast rohkem kui aastani. Programmeerimise selles etapis võidakse uuesti abi kutsuda tarkvarainsenerilt.
Levinuim valdkond, kus programmeerijad töötavad, on rakenduste programmeerimine. Inimesed, kes keskenduvad seda tüüpi programmeerimisele, on tavaliselt spetsialiseerunud kirjutamiskeelele konkreetses valdkonnas, näiteks raamatupidamises või teaduses. Need erinevad süsteemi programmeerijatest, kes traditsiooniliselt kohandavad olemasolevat süsteemi programmeerimist, et aidata vanal riistvaral uue riistvaraga edukalt töötada.
Programmeerija hariduse miinimumnõue on tavaliselt bakalaureusekraad infohalduse, informaatika, matemaatika või süsteemide programmeerimise alal. Üldiselt eelistatakse kindlat kogemust erinevate andmebaasisüsteemide kasutamisel. Uusimate programmeerimiskeelte ja tarkvara läbimise tunnistused loetakse tööle kandideerijate varaks.