Iako je dostupno mnogo različitih vrsta poslova dizajnera softvera, mnogi od njih mogu se svrstati u nekoliko osnovnih kategorija. Pozicije inženjera sustava obično uključuju dizajnere softvera koji su odgovorni za razvoj i nadzor računalnih sustava za određenu tvrtku. Aplikacijski inženjeri su dizajneri softvera odgovorni za stvaranje novog računalnog softvera, uslužnih programa i aplikacija, često stvaranjem i testiranjem koda za novi softverski program tijekom procesa razvoja. Postoji i niz poslova dizajnera softvera u određenim specijaliziranim područjima, kao što su razvoj igara, kreiranje web stranica i administracija, te unutar specifičnih aspekata razvoja softvera kao što je dizajn korisničkog sučelja (UI).
Poslovi dizajnera softvera mogu pokriti širok raspon polja i procesa, ovisno o vrsti softvera koji dizajner želi razviti. Mnogi od ovih poslova zahtijevaju inženjera sustava, koji je softverski dizajner odgovoran za razvoj i nadzor softvera i računalnih sustava unutar tvrtke. Maloprodajna tvrtka, na primjer, može koristiti osnovni komercijalni softverski program za praćenje prodaje i bilježenje proračuna za tvrtku. Neke tvrtke, međutim, imaju na raspolaganju poslove dizajnera softvera za nekoga tko stvara novi softver za tvrtku za korištenje, prilagođen da zadovolji posebne potrebe te tvrtke i razvijen i nadgledan od strane dizajnera.
Postoje i poslovi dizajnera softvera za dizajnere zainteresirane za stvaranje novih softverskih programa u softverskoj tvrtki, koji se često nazivaju inženjeri aplikacija. Ovi dizajneri stvaraju kod za novi program, koristeći projektni dokument koji vodi razvoj softvera. Ovaj razvojni proces obično prolazi kroz više koraka jer se osnovnom softveru dodaju dodatni uslužni programi i značajke. Mnoge od tih tvrtki također imaju poslove dizajnera softvera za testere, koji koriste softver u nastojanju da pronađu bugove i pogreške koje je potrebno popraviti prije komercijalnog izdavanja programa.
Mnogi poslovi dizajnera softvera slični su inženjerstvu aplikacija, ali su orijentirani na određenu industriju unutar razvoja softvera ili jedan aspekt takvog razvoja. Programeri unutar industrije igara, na primjer, obično su dizajneri softvera s interesom za razvoj softvera za igranje igara, često uključujući programiranje umjetne inteligencije (AI) i druge aspekte razvoja igara. Postoje i dizajneri koji se usredotočuju na određeni aspekt razvoja i odlučuju se specijalizirati u tom području. Poslovi dizajnera softvera za te pojedince mogu se naći u specijaliziranim područjima kao što su dizajn i razvoj korisničkog sučelja, što zahtijeva razumijevanje načina na koji ljudi sučelje i komuniciraju s tehnologijom.