Titre d'emploi
Les intitulés de postes incluant des tâches de programmation ont des connotations différentes selon les secteurs de l'informatique et les individus. Voici quelques exemples notables.
Un développeur logiciel conçoit et met en œuvre des logiciels à partir de spécifications et corrige les bogues . Ses autres tâches peuvent inclure la revue de code et les tests . Pour acquérir les compétences requises, il peut obtenir un diplôme en informatique (BTS , DUT , etc. ), suivre une formation intensive en programmation ou apprendre par lui-même .
Un ingénieur logiciel est généralement responsable des mêmes tâches qu'un développeur, auxquelles s'ajoutent des responsabilités plus larges liées à l'ingénierie logicielle, notamment l'architecture et la conception de nouvelles fonctionnalités et applications, le ciblage de nouvelles plateformes, la gestion du cycle de vie du développement logiciel (conception, implémentation, test et déploiement), la direction d'une équipe de programmeurs, la communication avec les clients, les gestionnaires et les autres ingénieurs, la prise en compte de la stabilité et de la qualité du système, et l'exploration des méthodologies de développement logiciel.
Parfois, un ingénieur logiciel doit être titulaire d'un diplôme en génie logiciel, en génie informatique ou en informatique. Dans certains pays, un diplôme d'ingénieur est légalement requis pour porter le titre d'ingénieur .
Histoire

La comtesse et mathématicienne britannique Ada Lovelace est souvent considérée comme la première programmeuse informatique. Elle a conçu un algorithme , publié en octobre 1842, permettant de calculer les nombres de Bernoulli sur la machine analytique de Charles Babbage . La machine n'étant pas achevée de son vivant, elle n'a jamais pu observer l'algorithme en action.
En 1941, l'ingénieur civil allemand Konrad Zuse fut le premier à exécuter un programme sur un ordinateur électronique fonctionnel et piloté par programme. De 1943 à 1945, selon l'informaticien Wolfgang K. Giloi et le professeur d'intelligence artificielle Raúl Rojas , entre autres, Zuse créa le premier langage de programmation de haut niveau , Plankalkül .
Les membres de l' équipe de programmation ENIAC de 1945 , Kay McNulty , Betty Jennings , Betty Snyder , Marlyn Wescoff , Fran Bilas et Ruth Lichterman, sont depuis considérées comme les premières programmeuses informatiques professionnelles.
L'industrie du logiciel
L' industrie du logiciel a connu une expansion fulgurante au début des années 1960, presque immédiatement après la commercialisation à grande échelle des premiers ordinateurs. Les universités, les gouvernements et les entreprises ont créé une demande de logiciels. Nombre de ces programmes étaient développés en interne par des programmeurs salariés à temps plein ; certains étaient distribués gratuitement entre les utilisateurs d'une même machine, tandis que d'autres étaient commercialisés. D'autres entreprises, comme Computer Sciences Corporation (fondée en 1959), ont également commencé à se développer. Les fabricants d'ordinateurs ont rapidement intégré des systèmes d'exploitation , des logiciels système et des environnements de programmation à leurs machines ; l' IBM 1620 était fourni avec le système de programmation symbolique 1620 et le langage FORTRAN .
L'industrie a connu une forte expansion avec l'avènement de l' ordinateur personnel (PC) au milieu des années 1970, qui a démocratisé l'informatique auprès des employés de bureau. Dans les années qui ont suivi, le PC a également contribué à la création d'un marché en constante croissance pour les jeux, les applications et les logiciels utilitaires. Il en a résulté une demande accrue de développeurs de logiciels durant cette période.
Nature du travail

Les programmeurs informatiques écrivent, testent, corrigent et maintiennent les instructions détaillées, appelées programmes informatiques , que les ordinateurs doivent suivre pour exécuter leurs fonctions. Ils conçoivent, élaborent et testent également des structures logiques permettant de résoudre des problèmes par ordinateur. De nombreuses innovations techniques en programmation — technologies informatiques avancées, nouveaux langages et outils de programmation sophistiqués — ont redéfini le rôle du programmeur et considérablement amélioré le travail de programmation actuel. Les intitulés et descriptions de poste peuvent varier selon l'organisation.
Les programmeurs travaillent dans des environnements variés, notamment au sein des services informatiques d' entreprises, de grandes sociétés de logiciels, de petites entreprises de services et d'organismes gouvernementaux de toutes tailles. Nombre d'entre eux travaillent également comme consultants chez leurs clients . L' obtention d'une licence n'est généralement pas requise pour exercer la profession de programmeur, bien que les certifications professionnelles soient courantes. La programmation est considérée comme une profession .
Types de logiciels
Les éditeurs de programmation, également appelés éditeurs de code source , sont des éditeurs de texte conçus spécifiquement pour permettre aux programmeurs ou aux développeurs d'écrire le code source d'une application ou d'un programme. La plupart de ces éditeurs incluent des fonctionnalités utiles aux programmeurs, telles que la coloration syntaxique , l'indentation automatique, la saisie semi-automatique , la correspondance des parenthèses, la vérification de la syntaxe et la prise en charge des extensions . Ces fonctionnalités facilitent le travail des utilisateurs lors du codage, du débogage et des tests.
Mondialisation
Évolution du marché aux États-Unis
Après l'éclatement de la bulle Internet (1999-2001) et la Grande Récession (2008), de nombreux programmeurs américains se sont retrouvés sans emploi ou avec des salaires en baisse. De plus, les inscriptions dans les cursus d'informatique et autres filières STEM (attrition dans les filières STEM) aux États-Unis sont en baisse depuis des années, en particulier chez les femmes, ce qui, selon Beaubouef et Mason, pourrait être attribué à un manque d'intérêt général pour les sciences et les mathématiques, ainsi qu'à une crainte apparente que la programmation soit soumise aux mêmes pressions que les carrières dans l'industrie et l'agriculture. Pour les programmeurs, les prévisions initiales du Bureau américain des statistiques du travail (BLS) tablaient sur une croissance de 12 % entre 2010 et 2020 , suivie d'une baisse de 7 % entre 2016 et 2026, puis de 9 % entre 2019 et 2029, de 10 % entre 2021 et 2031 et enfin de 11 % entre 2022 et 2032 Les prévisions actuelles pour la période 2024-2034 tablent sur une baisse de 6 %. La programmation informatique pouvant être effectuée à distance, les entreprises recrutent parfois des programmeurs dans des pays où les salaires sont plus bas . Si la demande intérieure a augmenté, c'est principalement pour compenser le départ à la retraite des programmeurs vieillissants ou de ceux qui quittent la profession. Cependant, le BLS prévoit une croissance actuelle de 15 % pour les développeurs de logiciels , un chiffre inférieur à sa prévision de 22 % pour la période 2019-2029, qui tablait sur une augmentation de l'emploi de 1 469 200 à 1 785 200 postes, avec un salaire médian de base de 110 000 $ par an. Cette prévision est également inférieure à la précédente prévision de 30 % pour la période 2010-2020. Bien que la distinction soit parfois ambiguë, les développeurs de logiciels interviennent dans un plus large éventail d'aspects du développement d'applications et sont généralement plus qualifiés que les programmeurs, ce qui réduit les risques liés à l'externalisation. Une autre raison du déclin du nombre de programmeurs est la fusion de leurs compétences avec celles d'autres professions, comme le développement, les employeurs relevant progressivement les exigences pour un même poste (par exemple, développeur full-stack ). Cette consolidation des compétences a conduit certains employeurs à affirmer qu'il existe une pénurie de talents en programmation. Cependant, les programmeurs et les syndicats américains rétorquent que certains exagèrent leurs propos afin de recruter des programmeurs dans des pays où les salaires sont plus bas et d'éviter de financer des formations à des technologies très spécifiques. S'ajoute à cela l'inquiétude que les progrès récents en intelligence artificielle et en programmation intuitive puissent avoir un impact considérable sur la demande pour les futures générations de professionnels du logiciel.
Évolution du marché au Japon
Au Japon , la demande de programmeurs augmente rapidement depuis 2024, principalement en raison du vieillissement de la population active et du faible taux de natalité, insuffisant pour assurer le renouvellement des effectifs. Ce phénomène a conduit à un recours accru à l'IA pour pallier ce manque. Par ailleurs, bien que le Japon compte plus de 1,2 million de programmeurs en 2020, plus de 40 % des entreprises japonaises déclarent ne pas disposer d'un nombre suffisant de personnel informatique qualifié, notamment de programmeurs. D'ici 2030, le nombre de programmeurs devrait dépasser 1,6 million, mais une pénurie d'environ 800 000 personnes, programmeurs compris, est attendue.
formation en programmation
L'enseignement de la programmation englobe l'apprentissage des concepts, des langages et des pratiques de la programmation informatique . Il est proposé sous diverses formes : cursus universitaires en informatique , formations professionnelles , centres de formation technique et professionnelle , formations intensives en programmation, bibliothèques , cours en ligne et apprentissage autodirigé. Les initiatives pédagogiques mettent souvent l'accent sur la résolution de problèmes , la pensée computationnelle , le raisonnement logique et le développement d' algorithmes . Dans l'enseignement primaire et secondaire , la programmation est de plus en plus intégrée aux programmes d'initiation à l'informatique grâce à des initiatives telles que « Hour of Code » , « Code Club » , « Learn to Code » et l'introduction d'ordinateurs en classe . Dans l' enseignement supérieur , la formation en programmation peut inclure des cours de génie logiciel, de structures de données , de débogage, de conception logicielle et des domaines spécialisés comme le développement de jeux , l'intelligence artificielle, la cryptographie ou la science des données . De nombreuses plateformes et ressources, comme les chatbots d'IA , les logiciels de programmation éducatifs et les environnements de développement intégrés en ligne, ont élargi l'accès à l'enseignement de la programmation.