¿Qué es un programador? Tareas, tipos y habilidades requeridas