Tout d'abord, une réponse faisant autorité à une question comme celle-ci est presque toujours impossible. Nous pourrions parler des tendances du secteur, nous pourrions parler des projections de la croissance future, etc. Cependant, prédire l'avenir de manière irréprochable reste une compétence insaisissable (ce qui serait la meilleure compétence à avoir, en fait). Malgré tout, nous pourrions construire une estimation éclairée.
1 - Y aura-t-il trop de médecins ? Y aura-t-il trop d'avocats (c'est déjà le cas ?) Y aura-t-il trop de professeurs de littérature américaine ? ce sont les mêmes questions, en fait. La différence est que les barrières à l'entrée sont perçues comme étant plus élevées dans ces professions. Il n'y a pas de moyens détournés pour devenir médecin, avocat ou obtenir un doctorat. Il semble donc que le nombre d'écoles et d'institutions délivrant des diplômes constitue une véritable barrière à la surpopulation. Comparez cela au génie logiciel, ou aux domaines liés à l'informatique en général. Les gens pensent aujourd'hui que tout adolescent un peu tenace peut s'inscrire dans un camp d'entraînement au codage et devenir instantanément ingénieur en logiciel. La barrière perçue à l'entrée est beaucoup plus faible dans le monde numérique. Mais il s'agit surtout d'un fantôme. Laissez-moi essayer d'expliquer pourquoi.
2 - Imaginez que les hôpitaux puissent employer des médecins autoformés. Imaginez qu'il y ait des camps d'entraînement à la médecine qui enseignent "Comment diagnostiquer en 6 semaines". Pensez-vous que nous ne serions pas en train de parler de "y aura-t-il trop de médecins ?". Cela changerait-il vraiment le secteur ou obligerait-il simplement les hôpitaux et les cliniques à appliquer une procédure de sélection plus rigoureuse ? Au final, le marché ferait le tri entre les bons et les mauvais médecins. Parce qu'au final, un médecin qui connaît suffisamment la biologie, l'anatomie, l'épidémiologie sera bien plus performant qu'un médecin " boot camp " dont la compétence principale est de parcourir WebMD et de mémoriser des médicaments qui correspondent à des diagnostics sur un système automatisé.
3 - La distinction que j'essaie d'illustrer ici est que le génie logiciel est plus que le codage, même la programmation. La compétence de codage est un outil, un facilitateur utilisé par l'ingénieur. La compétence critique nécessaire pour devenir un ingénieur logiciel réussi est la pensée analytique. Sans pensée analytique, vous ne pouvez pas traduire les problèmes du monde réel en problèmes informatiques. Et cette traduction est l'élément clé pour devenir un ingénieur logiciel de haut niveau. Nous ne vivons pas dans le monde isolé du silicium. Tout ce que nous faisons consiste essentiellement à traduire un problème analogique et concret (quelle page montrer ensuite à un client, quelles réponses afficher aux utilisateurs de Quora, etc.) en un problème numérique, puis à le résoudre. La connaissance des langages de programmation et le codage ne sont que des outils que nous utilisons dans ce processus.
4 -La mécanique du codage n'est pas si difficile que cela. En fait, c'est beaucoup plus facile que d'apprendre une nouvelle langue (beaucoup moins d'exceptions et de nuances. Essayez d'apprendre à parler français, ou arabe, ou coréen en un mois). Il s'agit de la partie la plus facile du génie logiciel et toute personne ayant terminé ses études secondaires peut l'apprendre. Les parties les plus difficiles, la connaissance du domaine (avez-vous une bonne maîtrise des besoins spécifiques ou particuliers du domaine d'activité sur lequel vous travaillez ?), la pensée algorithmique (ce n'est pas l'équivalent de mémoriser les algorithmes les plus utilisés), et surtout la pensée analytique sont beaucoup plus difficiles à enseigner. La connaissance du domaine s'acquiert avec l'expérience, mais il s'agit surtout de montrer un véritable intérêt pour le domaine. Les bases de la pensée algorithmique et du raisonnement analytique peuvent être apprises auprès d'experts, mais elles dépendent en fin de compte de votre capacité intellectuelle. Vous pouvez l'entraîner, l'aiguiser et, quels que soient vos efforts, vous ne deviendrez jamais un expert dans ces domaines. Et même les meilleurs, dotés du plus haut potentiel intellectuel, doivent s'exercer et s'entraîner très dur pour utiliser ces compétences de manière magistrale. Ainsi, les vrais résolveurs de problèmes resteront une denrée rare malgré la pléthore de cours de codage, de camps d'entraînement au codage, d'académies en ligne, etc.
.