Datoru lietotāji, visticamāk, vislabāk pārzina programmatūru, kas darbojas viņu operētājsistēmās. Tomēr daudzi viņi nav tik pieredzējuši ar programmatūru, kas regulē noteiktu sarežģītu aparatūras komponentu darbību. Šos komponentus programmē profesionāļi, kurus sauc par iegultās programmatūras inženieriem.
Aparatūras komponentus, kas veic noteiktas un specializētas funkcijas, sauc par iegultajām sistēmām. Tie darbojas kā datori datoros ar saviem procesoriem un atmiņu. Iegultās sistēmas uztver datus no konkrētiem aparatūras komponentiem, izpilda to programmēšanu un pēc tam nosūta datus citām iekārtas aparatūras daļām. Iegultās sistēmas uzdevums var būt tikpat sarežģīts kā datu konvertēšana no iekšējām antenām datu formātā, ko var izmantot pārējā ierīce, vai tikpat vienkārša kā konkrētu signālu pārraidīšana, kad to aktivizē ar pogu. Iegultās programmatūras inženieris izveido programmas, kas darbina šīs ierīces.
Iegultās programmatūras inženiera darbs ir līdzīgs programmatūras inženiera darbam, kas veido programmas galddatoriem. Avota kods datu konvertēšanai vienā formātā citā personālajā datorā ir tāds pats kā iegultajā sistēmā. Ja iegultās programmatūras inženiera darbs atšķiras, ir jāpievieno papildu kods, lai programma darbotos specializētajā aparatūras daļā, kas darbojas kā iegultā sistēma.
Operētājsistēmas, kurās darbojas darbvirsmas lietojumprogrammas, ietver dažādu draiveru programmatūru. Tas ir piemērots šīm sistēmām datorā esošās aparatūras klāsta un lietotāja palaistās programmatūras dēļ. Iegultās sistēmas ir autonomas un palaiž tikai vienu programmu. Šī iemesla dēļ programmētājam ir jāielādē tikai ierobežots draiveru skaits un pati programma ierīces ierobežotajā atmiņā. Iegultās programmatūras inženiera darbs parasti ietver mazākā draiveru skaita noteikšanu, kas programmai būs nepieciešami, lai darbinātu iegulto ierīci.
Kad iegultās programmatūras inženieris pabeidz ierīces programmēšanu, viņa darbs ir jādokumentē. Iegultās sistēmas nekad netiek izmantotas atsevišķi, bet gan kā daļa no kāda lielāka projekta. Lai varētu izmantot ierīci, citiem inženieriem ir jāzina, piemēram:
kādus datus sagaida iegultā sistēma
kādu datu formātu sagaida tā programmēšana
kā ierīce reaģēs uz dažādām ievadēm
datu formāts, ko ierīce izvadīs
Pēc tam šī informācija tiek iekļauta tehniskajā dokumentācijā, ko paši izstrādā iegultās programmatūras inženieri, bieži vien rokasgrāmatas veidā. Dažreiz tehniskie rakstītāji, nevis faktiskie inženieri, izveido šādas rokasgrāmatas no programmatūras inženieru sniegtajām piezīmēm. Dokumentācijas pieejamība lietotājiem ir nenovērtējama.