Uporabniki računalnikov so verjetno najbolj seznanjeni s programsko opremo, ki deluje v njihovih operacijskih sistemih. Mnogi pa niso tako izkušeni s programsko opremo, ki ureja delovanje nekaterih izpopolnjenih komponent strojne opreme. Te komponente programirajo strokovnjaki, imenovani inženirji vgrajene programske opreme.
Komponente strojne opreme, ki opravljajo posebne in specializirane funkcije, se imenujejo vgrajeni sistemi. Ti delujejo kot računalniki v računalnikih, s svojimi procesorji in pomnilnikom. Vgrajeni sistemi prevzamejo podatke iz določenih komponent strojne opreme, izvedejo njihovo programiranje in nato podatke posredujejo drugim delom strojne opreme v stroju. Vloga vgrajenega sistema je lahko tako zapletena kot pretvorba podatkov iz notranjih anten v podatkovni format, ki ga lahko uporablja preostala naprava, ali tako preprosta kot prenos specifičnih signalov, ko jih aktivirate z gumbom. Inženir vgrajene programske opreme ustvari programe, ki izvajajo te naprave.
Delo inženirja vgrajene programske opreme je podobno kot programski inženirji, ki ustvarjajo programe za namizne računalnike. Izvorna koda za pretvorbo podatkov iz enega formata v drugega je na osebnem računalniku enaka kot v vgrajenem sistemu. Kjer se delo inženirja vgrajene programske opreme razlikuje, je dodajanje dodatne kode, da se program izvaja na specializiranem kosu strojne opreme, ki deluje kot vgrajeni sistem.
Operacijski sistemi, na katerih se izvajajo namizne aplikacije, vključujejo različne gonilnike. To je primerno za te sisteme zaradi vrste strojne opreme, ki bi lahko bila v računalniku, in programske opreme, ki bi jo uporabnik lahko izvajal. Vgrajeni sistemi so samostojni in izvajajo samo en program. Zaradi tega mora programer v omejen pomnilnik naprave naložiti le omejeno število gonilnikov in sam program. Naloga inženirja vgrajene programske opreme običajno vključuje določitev najmanjšega števila gonilnikov, ki jih bo program potreboval za delovanje vgrajene naprave.
Ko inženir vgrajene programske opreme konča s programiranjem naprave, je treba njegovo delo dokumentirati. Vgrajeni sistemi se nikoli ne uporabljajo samostojno, ampak kot del kakšnega večjega projekta. Za uporabo naprave morajo drugi inženirji poznati informacije, kot so:
katere podatke pričakuje vgrajeni sistem
kakšen format podatkov pričakuje njegovo programiranje
kako se bo naprava odzvala na različne vhode
format podatkov, ki jih bo naprava izpisala
Te informacije so nato vključene v tehnično dokumentacijo, ki jo inženirji vgrajene programske opreme izdelajo sami, pogosto v obliki priročnika. Včasih tehnični pisci namesto dejanskih inženirjev ustvarijo takšne priročnike iz opomb, ki jih zagotovijo inženirji programske opreme. Imeti dokumentacijo, na katero se lahko sklicujete, je za uporabnike neprecenljivo.