Alguien le dice lo que tiene que hacer, se llaman programadores. Funcionan a varios niveles. Para arrancar un ordenador necesita saber dónde encontrar las instrucciones que le digan lo que tiene que hacer, empezando por cómo buscar qué bits de hardware hay en su entorno (en un PC es el programa de la BIOS, que se almacena en la memoria de sólo lectura). Esto hace que encuentre el resto de las instrucciones de arranque (Master Boot Record o equivalente). El código escrito por otros programadores se ejecuta llamado Sistema Operativo, hay programas que realizan tareas específicas llamados programas de aplicaciones (por ejemplo, Web Browers). Para un hardware específico el Sistema Operativo necesitará acceder a un código específico del dispositivo llamado drivers. Cada uno de estos bits son escritos por los programadores;; y el ;tienen que ponerse de acuerdo en cuanto a cómo las partes se comunicarán entre sí utilizando puntos mutuamente acordados.
Antes los programadores realmente introducirían las instrucciones básicas utilizando conmutadores en el panel frontal de la máquina y los programas de aplicación realmente contenían las instrucciones sobre cómo trabajar con el hardware directamente. No había ningún sistema operativo. Para tareas sencillas como el control de su reloj todavía puede no haber un sistema operativo, pero tener una biblioteca estándar de rutinas (escritas por otros programadores) hace la vida mucho más fácil.