Dužnosti i odgovornosti softverskog programera mogu se donekle razlikovati ovisno o potrebama tvrtke za koju on ili ona radi. Općenito, međutim, programeri su obično odgovorni za stvaranje, uređivanje i evaluaciju koda koji se koristi za izradu računalnog softvera i raznih vrsta programa i uslužnih programa. Oni mogu biti uključeni u ranim fazama planiranja novog programa i kreiranja projektnog dokumenta koji se zatim koristi tijekom ostatka razvoja. Također postoje mnoge situacije u kojima programer jednostavno slijedi dokument koji su izradili drugi i radi kako bi osigurao ispunjavanje svih potrebnih standarda.
Jedna od najvažnijih odgovornosti programera je stvaranje novog koda koji se koristi za izradu softverskog programa. To se može postići na više različitih načina, ovisno o programskom jeziku i platformi koju koristi programer. Općenito, međutim, razvoj obično uključuje stvaranje stotina, tisuća ili čak milijuna redaka koda koji se koriste kako bi program ispravno funkcionirao. Sve to stvara softverski programer, iako timovi programera obično rade zajedno na velikim projektima.
Kod koji programer kreira obično se temelji na potrebama tvrtke za koju radi i željenom ishodu za određeni program. To se često utvrđuje projektnim dokumentom koji se stvara na početku razvojnog ciklusa, a koji zatim ocrtava različite aspekte gotovog softvera. Programer može koristiti ovaj dokument kako bi bolje razumio kako bi konačni program trebao izgledati i funkcionirati. Programeri mogu biti uključeni u stvaranje ovog dokumenta, iako ga voditelji timova i glavni programeri obično kreiraju i zatim ga koriste za usmjeravanje rada različitih programera koji rade na softveru.
Kako se različiti dijelovi koda dovršavaju i sastavljaju zajedno kako bi se započelo stvaranje konačnog programa, programer bi također mogao raditi s testerima i drugim odjelima kao dio većeg napora. Testiranje obično uključuje brojne pojedince koji koriste program ili softversku aplikaciju kako bi vidjeli koliko dobro funkcionira. Kako se pronađu problemi i pogreške, izdaju se izvješća koja primaju programeri koji ih koriste za ponovno stvaranje problema i pronalaženje njegovog izvora. Programer mijenja softver i dodaje dokumentaciju unutar samog koda kako bi drugima pokazao zašto su te promjene napravljene, omogućujući timu da bolje radi zajedno i vidi što su drugi učinili.