
Code-Garage #65 - Faut-il être doué en maths pour devenir dev ?
Durée: 6m55s
Date de sortie: 27/06/2023
Polynôme de second degré, sinus, cosinus, factoriel de pi, quelles compétences mathématiques faut-il pour devenir développeur ou développeuse ?
Notes de l'épisode :
- Article d'origine : https://code-garage.fr/blog/mythe-ou-realite-faut-il-etre-bon-en-maths-pour-devenir-developpeur/
- Farnell (sponsor) : https://fr.farnell.com
Salut et bienvenue dans ce nouvel épisode du podcast de Code Garage,
je m'appelle Nicolas Bondin-Bernard et aujourd'hui, la question qu'on va se poser,
c'est « est-ce qu'il faut être doué en maths pour devenir dev ? »
Mais avant ça, je vous laisse avec un petit mot du sponsor du jour.
Un réseau mondial de connaissance et l'engagement de vous accompagner à toutes les étapes de vos projets.
De la recherche à la conception en passant par la maintenance, Farnel.
Votre fournisseur de produits électroniques et industriels.
Pour en savoir plus, rendez-vous sur fr.farnel.com.
Alors là, grande question qui revient dans toutes les bouches quand on commence le développement informatique,
c'est « est-ce qu'il faut être doué en maths pour commencer à apprendre la programmation en informatique,
devenir développeur ou développeuse ? »
Alors la réponse courte que je vais vous donner, c'est non,
mais on va étoffer un petit peu plus tout au long de cet épisode.
Évidemment, simplifier le concept de ce que sont les mathématiques, c'est assez compliqué,
étant donné qu'absolument tout ce qui nous entoure est régi par les lois de la physique
et qui sont elles-mêmes régi par les lois mathématiques.
Alors à la place, je vais plutôt simplifier ce que « faire des maths » signifie pour la plupart des gens.
Il y a trois grandes choses.
D'abord, c'est jongler avec beaucoup de chiffres, et des lettres grecques, des symboles, etc.
Ensuite, c'est apprendre, comprendre et appliquer les règles et les théorèmes mathématiques.
Et la troisième, c'est utiliser la logique pour lier ces règles entre elles,
et simplement arriver à résoudre des problèmes.
Dans les débuts de l'informatique, la programmation était très bas niveau.
C'est-à-dire que le lien direct avec les composants électroniques était requis.
Les machines permettaient évidemment de résoudre des problèmes complexes,
en les décomposant en dizaines, voire centaines, milliers, d'opérations mathématiques beaucoup plus simples,
pour créer ce qu'on appelle un algorithme.
Il fallait, du coup, avoir de très bonnes connaissances en mathématiques
pour pouvoir programmer et utiliser ces machines.
Mais évidemment, ce n'est plus le cas aujourd'hui, en tout cas, pas forcément.
Les machines ont changé, les usages aussi, et les compétences requises ne sont plus les mêmes.
Alors, il existe tellement de domaines, de systèmes et de langages différents,
que vous pourriez devenir développeur ou développeuse,
sans jamais avoir à toucher aux mathématiques, comme j'ai rien de le dire.
En tout cas, pas au-delà des opérations classiques,
comme l'addition, la soustraction, la multiplication et la division.
Donc je pense que ça reste jouable.
Mais un des plus beaux concepts peut-être de l'informatique s'appelle l'abstraction.
L'abstraction, ça signifie qu'on va créer des systèmes simplifiés
par-dessus des opérations plus complexes.
L'interrupteur de la lumière de votre salon, par exemple,
c'est une abstraction du réseau électrique de votre logement.
Pas besoin de savoir comment ça marche,
il vous suffit simplement d'appuyer sur le bouton.
Et c'est justement ce concept merveilleux,
qui nous permet simplement de ne pas avoir à toucher aux théories mathématiques complexes,
mais d'utiliser les systèmes simplifiés qui nous ont été fournis par d'autres,
qui ont été créés par d'autres personnes.
Donc les mathématiques sont évidemment présentes partout dans l'univers de l'informatique
et dans les systèmes d'information en général.
Mais l'abstraction nous empêche de les voir.
Elle ne nous empêche pas forcément, on peut aller les voir,
on peut les modifier, on peut en créer, etc.
Mais on peut ne pas avoir à le faire grâce à ces simplifications, à ces abstractions.
Alors je serais quand même tenté de qualifier la programmation comme une cousine des mathématiques.
Parce qu'en réalité, même si on n'a pas forcément à écrire des mathématiques,
comprend les mathématiques, on est quand même amené à plusieurs choses.
On est amené à jongler avec des fonctions et des opérateurs.
Donc et ou plus, moins, si, alors, qui sont des opérateurs logiques.
Apprendre et maîtriser certaines méthodes de conception.
On a de l'orienter objet, de la programmation fonctionnelle, etc.
Et évidemment utiliser la logique pour lier tous ces outils,
pour résoudre des problèmes qu'on appelle aussi des algorithmes.
Donc on se rapproche quand même pas mal des concepts que j'ai donnés autour des mathématiques,
mais on ne fait pas des mathématiques directement.
Alors pour celles et ceux évidemment qui voudraient au contraire exploiter leur potentiel de connaissance mathématique
et de compréhension, je vous conseille de regarder du côté de l'analyse de données,
de la cryptographie, de l'informatique embarquée, on est très proche du bas niveau.
Ou même du développement de moteurs physiques et graphiques pour les jeux vidéo par exemple.
Et sinon pour tous les autres, vous avez tout le reste.
Et ça c'est quand même merveilleux.
Il existe même des domaines où les algorithmes sont quasiment absents
et où c'est le côté artistique.
De toute façon la programmation c'est un art en général.
On crée des choses à partir de code, c'est quand même artistique.
Mais il y a des métiers dans l'informatique qui dominent encore plus ce côté artistique
comme le développement d'interface, l'intégration web, etc.
Bon maintenant qu'on a dit ça, il faut quand même mettre un petit bémol.
C'est un métier dont j'ai parlé, qui sont plutôt dans le côté artistique,
plutôt que dans le côté algorithmiques et mathématiques.
Ce sont souvent les métiers qui persistent le moins longtemps sur le marché du travail.
Puisqu'en fait l'évolution des outils, et notamment les outils pour les personnes qui font le design
est de plus en plus capable d'exporter du code assez correct avec des animations, des choses comme ça.
Pour qu'en réalité on passe de moins en moins de temps à simplement réimplementer
des choses qui ont déjà été faites dans un logiciel de design.
Donc c'était le cas par exemple dans les années 2000, on avait énormément de posts d'intégrateurs web
et on en a réellement de moins en moins où ils se spécialisent, mais en tout cas le nombre d'offres d'emplois
pour être simplement intégrateurs sans faire beaucoup de codes algorithmiques et de moins en moins présents.
Mais c'est également une super porte d'entrée pour découvrir tout le monde de la programmation du développement,
que ce soit développement web, développement logiciel etc.
C'est d'entrer par des portes qui nous passionnent et pour lesquelles on pourrait coder pendant des heures et des heures et des heures.
Et ensuite avec les compétences qui viennent et avec la découverte d'autres domaines dans le monde du développement et de la programmation
on en vient à aimer l'algorithmie et la logique petit à petit.
En tout cas si je prends mon expérience personnelle, j'ai à peu près un niveau mathématique de milieu de lycée
et vraiment pas très très élevé et ça ne m'a jamais freiné dans ma carrière.
Donc la réponse est-ce qu'il faut être doué en mathématique pour devenir développeur-développeuse ? Non.
Est-ce que ça peut aider ? Bien sûr oui, surtout dans certains domaines, mais c'est absolument pas une obligation.
J'espère que cet épisode vous a été utile et que ça vous aura peut-être donné envie de vous lancer plus en avant dans la programmation
et que ça a enlevé un peu de vos peurs.
Moi je vous donne rendez-vous la semaine prochaine pour un prochain épisode du podcast
ou directement sur code-garage.fr pour retrouver tous nos articles, tous nos podcasts et toutes nos formations
pour devenir de meilleurs développeurs ou développeuses.
A la semaine prochaine, salut !
Episode suivant:
Les infos glanées
Code-Garage
Découvrons ensemble des sujets passionnants autour du métier de dev et de la programmation en général !
Tags
Code-Garage #66 - La différence entre JavaScript et ECMAScript