Les programmes informatiques sont toujours plus présents dans notre quotidien : dans les voitures, les smartphones, les objets connectés… Les matériels techniques sont eux-mêmes programmables : un ordinateur peut en configurer un autre, un programme peut tester et analyser un logiciel… Pour répondre à ces défis techniques, des consensus se dégagent peu à peu. La maturité dans la gestion de projet a imposé le paradigme objet et l’utilisation de plateformes logicielles aux fonctions désormais standardisées. Par ailleurs, la croissance des données beaucoup plus forte que la croissance de la puissance des ordinateurs, impose de plus en plus souvent la programmation distribuée. En revanche, le choix d’un langage reste ardu et doit tenir compte de nombreux critères : la richesse des librairies, le dynamisme de la communauté, la stratégie de l’éditeur, la qualité de la documentation et les droits d’utilisation. Malgré l’amélioration continue des méthodes et des outils de développement, le besoin en développeurs bien formés est très fort sur le marché. Leur rareté persiste en raison d’une demande qui augmente en volume et en technicité.