Un programador escribe, depura y mantiene el código de un programa para que una computadora realice una tarea. Originalmente, los programadores tenían poco poder de decisión y su trabajo era principalmente técnico. Existen varios tipos de programadores como los de mainframe, nuevas tecnologías, firmware, videojuegos y sistemas abiertos. La corrección, claridad, eficiencia y portabilidad son factores clave de la calidad de un programador. El software libre permite modificar, acceder al código y compartir el programa.