Création ou maintenance de programmes qui implique la connaissance d’un ou plusieurs langage(s) de programmation, par exemple le Basic, le C, le Pascal ou l’Assembleur. La programmation requiert, de plus, une bonne connaissance de la théorie des algorithmes, de la conception d’interfaces utilisateur et des caractéristiques des dispositifs matériels. Les ordinateurs sont essentiellement des machines logiques, et la programmation nécessite une approche logique similaire pour concevoir, écrire le code, tester et déboguer un programme. Les langages de bas niveau, tels que l’Assembleur, supposent aussi de bien connaître les capacités d’un processeur et ses instructions de base. Dans l’approche modulaire préconisée par de nombreux programmeurs, un projet est scindé en modules plus petits et plus faciles à gérer ‘ ce sont des unités fonctionnelles qui peuvent être conçues, écrites, testées et déboguées séparément ‘ qui sont ensuite incorporés dans de plus vastes programmes.