Lai gan ir pieejami daudz dažādu programmatūras izstrādātāju darbu veidi, daudzus no tiem var klasificēt dažās pamatkategorijās. Sistēmu inženieru amatos parasti ir iesaistīti programmatūras dizaineri, kuri ir atbildīgi par datorsistēmu izstrādi un pārraudzību konkrētam uzņēmumam. Lietojumprogrammu inženieri ir programmatūras dizaineri, kas ir atbildīgi par jaunas datoru programmatūras, utilītu un lietojumprogrammu izveidi, bieži vien izveidojot un testējot jaunas programmatūras kodu izstrādes procesā. Ir arī vairāki programmatūras dizaineru darbi noteiktās specializētās jomās, piemēram, spēļu izstrādē, vietņu izveidē un administrēšanā, kā arī īpašos programmatūras izstrādes aspektos, piemēram, lietotāja interfeisa (UI) dizainā.
Programmatūras izstrādātāja darbi var aptvert plašu jomu un procesu klāstu atkarībā no programmatūras veida, kuru dizaineris vēlas izstrādāt. Daudzām no šīm darbavietām ir nepieciešams sistēmu inženieris, kas ir programmatūras izstrādātājs, kas ir atbildīgs par programmatūras un datorsistēmu izstrādi un pārraudzību uzņēmumā. Piemēram, mazumtirdzniecības uzņēmums var izmantot pamata komerciālo programmatūru, lai izsekotu pārdošanas apjomu un reģistrētu uzņēmuma budžetu. Tomēr dažos uzņēmumos ir pieejamas programmatūras izstrādātāju darba vietas kādam, kas uzņēmumam izveido jaunu programmatūru, kas ir pielāgota šī uzņēmuma īpašajām vajadzībām un kuru izstrādā un pārrauga dizaineris.
Ir arī programmatūras izstrādātāju darbi dizaineriem, kuri vēlas izveidot jaunas programmatūras programmas programmatūras uzņēmumā, ko bieži sauc par lietojumprogrammu inženieriem. Šie dizaineri izveido kodu jaunai programmai, izmantojot dizaina dokumentu, lai vadītu programmatūras izstrādi. Šim izstrādes procesam parasti ir vairākas darbības, jo pamata programmatūrai tiek pievienotas papildu utilītas un līdzekļi. Daudzi no šiem uzņēmumiem piedāvā arī programmatūras izstrādātāju darbus testētājiem, kuri izmanto programmatūru, lai atrastu kļūdas un kļūdas, kas jānovērš pirms programmas komerciālas izlaišanas.
Daudzi programmatūras izstrādātāju darbi ir līdzīgi lietojumprogrammu inženierijai, bet ir orientēti uz noteiktu nozari programmatūras izstrādes ietvaros vai vienu no šādas izstrādes aspektiem. Piemēram, spēļu industrijas programmētāji parasti ir programmatūras dizaineri, kas ir ieinteresēti izstrādāt programmatūru spēlēm, bieži vien ietverot mākslīgā intelekta (AI) programmēšanu un citus spēļu izstrādes aspektus. Ir arī dizaineri, kas koncentrējas uz konkrētu attīstības aspektu un izvēlas specializēties šajā jomā. Programmatūras izstrādātāju darbu šīm personām var atrast tādās specializētās jomās kā UI dizains un izstrāde, kas prasa izpratni par to, kā cilvēki saskaras un mijiedarbojas ar tehnoloģijām.