Večina nas ob omembi programske opreme običajno pomisli, kako zapletena je – ne le za uporabo, še bolj za ustvarjanje. Morda se nam celo zdi, da je njeno razumevanje za nas nedosegljivo ali preveč abstraktno, pa čeprav jo uporabljamo vsak dan na različne načine. Kadarkoli poženemo program na računalniku ali aplikacijo v telefonu, se pogovarjamo z digitalnim pomočnikom ali pošljemo e-sporočilo, imamo opravka s programsko opremo. Ta je vseh vrst in oblik, a v grobem bi jo lahko razvrstili v štiri kategorije: aplikacije, sisteme, orodja za programiranje in gonilnike. Pod črto morajo vsi našteti opraviti svoje delo, da smo zadovoljni in lahko izvedemo aktivnost, ki smo si jo zamislili. Programska oprema je v rokah poslovnih (in domačih) uporabnikov predvsem orodje za izvajanje ukazov uporabnika, pa čeprav je ukaz le prikaz besedilnega sporočila ali ogled vremenske napovedi.