Qualcuno gli dice cosa fare, si chiamano programmatori. Essi operano a vari livelli. Per avviarsi un computer ha bisogno di sapere dove trovare le istruzioni che gli dicono cosa fare, a partire da come cercare quali sono i bit dell'hardware nel suo ambiente (su un PC questo è il programma BIOS che è memorizzato nella memoria di sola lettura). Questo lo porta a scoprire dove sono il resto delle istruzioni di avvio (Master Boot Record o equivalente). Il codice scritto da altri programmatori viene eseguito chiamato Sistema Operativo, ci sono programmi che eseguono compiti specifici chiamati programmi applicativi (ad esempio, Web Browers). Per l'hardware specifico il Sistema Operativo avrà bisogno di accedere al codice specifico del dispositivo chiamato driver. Ognuno di questi bit è scritto da programmatori;; e il ;devono accordarsi su come le parti parleranno tra loro usando punti concordati reciprocamente.
Prima i programmatori avrebbero effettivamente inserito le istruzioni di base usando interruttori sul pannello frontale della macchina e i programmi applicativi contenevano effettivamente le istruzioni su come lavorare direttamente con l'hardware. Non c'era un sistema operativo. Per compiti semplici come controllare l'orologio può ancora non esserci un SO, ma avere una libreria standard di routine (scritte da altri programmatori) rende la vita molto più facile.