Konsultuojantis programinės įrangos inžinierius yra kompiuterių ekspertas, kurį klientas pasamdo dirbti su programinės įrangos kūrimo komanda, kad sukurtų konkrečią kompiuterio programą ar taikomąją programą. Šis asmuo turi įsipareigojimų tiek su klientu, tiek su programinės įrangos komanda. Jis arba ji turi prižiūrėti komandą ir užtikrinti, kad darbas būtų atliktas tinkamai ir laiku. Be to, inžinierius turi palaikyti ryšį su klientu, kad pateiktų naujausią informaciją apie eigą ir pateiktų bet kokius pakeitimų prašymus. Inžinierius taip pat turi atlikti programavimo darbus ir savarankiškai atnaujinti savo išsilavinimą, kad išliktų naujausias kompiuterių inžinerijos srityje.
Kai įmonei reikia sukurtos kompiuterinės programos, bet ji neturi galimybių jos pasigaminti namuose – pvz., bakalėjos parduotuvė, kuriai reikia naujos inventoriaus programinės įrangos – konsultuojantis programinės įrangos inžinierius yra įtraukiamas dirbti su kompiuterių projektavimo komanda, kad užtikrintų procesas vyksta sklandžiai. Konsultuojantis inžinierius pirmiausia sužino, ko klientui reikia programinėje įrangoje, ir prižiūri projektavimo komandą, siekdamas užtikrinti, kad šie tikslai būtų pasiekti. Inžinierius stebi terminus, biudžetus, peržiūri programinę įrangą, kad įsitikintų, ar ji atitinka lūkesčius, ir kelia komandai tikslus.
Kita svarbi konsultuojančio programinės įrangos inžinieriaus pareiga – palaikyti ryšį tarp programinės įrangos kūrėjų ir kliento. Konsultanto pareiga yra pranešti klientui apie projekto būseną paprasta kalba, kad ją suprastų ne kompiuterių specialistai. Jei klientas reikalauja pakeitimų, konsultanto darbas yra nustatyti, ar tie pakeitimai gali būti padaryti, ir pateikti naujus užsakymus programinės įrangos komandai. Kadangi programinės įrangos inžinierius gauna informaciją iš abiejų operacijos pusių, svarbu turėti itin gerus bendravimo įgūdžius.
Kompiuterių programavimo įgūdžių panaudojimas taip pat yra svarbus šio darbo elementas. Konsultuojantis programinės įrangos inžinierius turi turėti aukštą programavimo supratimą ir dažnai rašyti kodą, jei iškyla problema, kurios projektavimo komanda negali įveikti. Inžinierius taip pat išbando programinę įrangą, kad įsitikintų, jog ji tinkamai veikia, ir praneša apie visas klaidas ar defektus projektavimo komandai.
Dar viena svarbi šio darbo pareiga yra neatsilikti nuo technologijų ir programavimo technikų. Konsultuojančiam programinės įrangos inžinieriui svarbu lankyti pamokas ir seminarus, kad galėtų mokytis. Stebėdami naujausias tendencijas, problemas ir taktiką, klientas gaus geriausią programinę įrangą, atitinkančią jo konkrečius poreikius.