Du mythe de l'ingénieur informaticien
"Tiens je te présente Gustave-Rayond
- Salut GR ! Ca te dérange si je t'appelle GR ?
- Bah je préfère Ray
- Bon ok, Ray, tu fais quoi dans la vie ?
- Bah je suis ingénieur informaticien pour une boite du CACA 40"
Oh bah... Là tu m'as tout dit mon bon Gustave-Raymond. Tu me diras, c'est un beau merdier la nomenclature des métiers de l'informatique, d'autant que les termes sont tous à peu près aussi précis que "ingénieur informaticien".
Développeur ? Euh ouais, d'accord, donc t'es un expert du Visual Basic ou tu codes direct en assembleur ? Architecte ? Ca veut dire quoi, que t'es un développeur avec trois ans d'expérience et ta SSII veut te vendre plus cher, ou bien t'es animateur pour l'O.M.G ?
Voyez, au début, l'informatique, c'était une discipline pour des gars qui pensaient réellement en 0 et en 1. Mais globalement, à l'époque, c'était surtout des chercheurs, beaucoup d'entre eux étaient mathématiciens, donc ils avaient correctement formalisé quelques sur-ensembles permettant de se simplifier la vie.
Et sur ces sur-ensembles sont venus se greffer d'autres sur ensembles, bien compris par ceux qui connaissaient les deux, mais moins par ceux qui pensaient en 0 et en 1, et un peu moins formalisés <insérer ici une blague de mathématiciens sur les physiciens>
Puis encore d'autres sur-ensembles, successivement, permettant à chaque fois d'abstraire le niveau de réflexion informatique, mais détachant de plus en plus ceux qui pensent très finement de ceux qui pensent de façon macroscopique de sorte que dorénavant, aucun des deux ne comprend ce que fait l'autre.
Dans le tas le public s'en contrefout, il pense toujours que les ingénieurs informaticiens pensent en 0 et en 1, et les recruteurs et autres ressources humaines ne s'intéressent qu'a savoir si la mise en page du CV est jolie.
Bref, à l'instar de sciences, où au tout début un Descartes pouvait révolutionner les mathématiques tout en doutant philosophiquement de son existence, et où maintenant on peut faire une thèse sur la variation du spin d'un beta-isomère d'un éthyle de patchoulol entre 6h et 8h du matin le lendemain d'une finale de superbowl, l'informatique s'est diversifiée et spécialisée.
Bon, vous me direz, ça n'a pas fait de mal aux sciences. Normal, dans le monde scientifique, on se fait souvent chopper assez vite si on est une buse, c'est quand même un tantinet une technocratie ce milieu. Pas dans l'informatique.
Personnellement, je me l'explique comme suit : il est arrivé un moment où les experts informatiques avaient une réelle plus-value, et donc un réel salaire. Donc, être informaticien, quand même, ça faisait envie.
Et là, l'évolution des différentes strates a permis de mettre entre les mains de tout le monde (et c'est bien !) des moyens de produire facilement son propre "produit intellectuel informatique".
La vocation initiale était saine : fournir des niveaux d'abstraction et de facilité d'implémentation permettant d'accélérer grandement des tâches qui auraient du être simple, de penser l'informatique à un niveau plus organique et urbain et faire appel à la créativité avant la technique.
Le contre-coup de tout cela, c'est qu'en l'absence d'une réelle communauté de reconnaissances par les pairs (surtout parce que le théoricien n'est en général pas connu pour son caractère sociable), la valeur qui s'est démarquée dans le monde de l'informatique, ce n'était plus la compétence, mais la capacité à se vendre. Ce qui est normal là encore, mais j'y reviendrai dans un autre article.
Drame : on a créé l'illusion par une fausse inférence que n'importe qui pouvait être un bon informaticien et que ce n'était pas un travail qui demandait de réelles compétences intellectuelles.
La filière informatique est donc devenue (surtout dans la fin des années 90) une "voie lucrative par défaut" pour quiconque avait un bon diplôme. On le voit encore de nos jours, j'en veux pour preuve la discussion que j'avais avec un jeune développeur en SSII qui me disait "moi j'aurais voulu faire du recueil de besoins métiers, mais vu que ma commerciale n'arrivait pas à me caser elle m'a vendu comme développeur". Le gars sortait d'une école de commerce !
Ma question devient alors : pourquoi pour être informaticien dans une grande entreprise aujourd'hui faut-il un diplôme d'ingénieur ?
Il y a des sujets sur lesquels la technicité est très élevée : le développement embarqué optimisé, les algorithmes hautement performants, les primitives fondamentales, la programmation bas niveau qui demande de connaitre les fondamentaux, la programmation logique (prlog, réseaux de Pétri), les conceptions multi-dimensionnelles très proches de la géométrie, etc.
Cela demande une réelle formation, parfois en électronique, parfois en logique mathématique ou en algorithmique, et effectivement, ce sont des compétences qui demandent des années d'études avant d'être acquises.
Il y a des sujets sur lesquels l'aspect cadre du diplôme d'ingénieur est important : les chaines de production, la transcription technique des besoins métiers, l'organisation des équipes de développement et leur animation, le chiffrage, la plannification, bref la réelle gestion des projets, et j'en passe.
A-t-on besoin d'un diplôme d'ingénieur pour faire du code basique en Java, .Net ? A-t-on besoin d'être un ingénieur pour écrire au jour le jour du bête code transactionnel, du bête code de "binding" ou de requêtage SQL ?
Il suffit de regarder la communauté informatique qui s'exprime pour comprendre que non.
Dans le monde du web, qui traine une large communauté de personnes avec un potentiel plus sur la création multimédia, on voit émerger des profils extrêmement compétents sur ce genre de sujets, et la quantité de profils de qualité non qualifiés par diplôme est réellement impressionnante.
Si c'est de la simple technique, pourquoi voit-on si peu de techniciens, niveau BTS, et tant d'ingénieurs, qui n'ont pourtant pas plus de compétences ?
Comment peut-on laisser vivre cette pensée que la conception, matérialisée dans le monde de l'informatique par les spécifications et la modélisation, sont pour l'ingénieur informaticien moyen des "tâches ingrates", alors que la raison d'être même d'un ingénieur est de réfléchir à cela ? Avec des fois des phrases que l'on entend comme "Ecrire un cahier de spécifications est trop long, et le management ne le lira pas" ou "La spec, c'est le code" ?
L'ingénieur informaticien n'est pas défini, ma conclusion est qu'en réalité, il n'existe pas !
Sur ce blog, je ferai parfois référence à cet article qui pose le fond de ma pensée pour réfléchir à d'éventuelles solutions. C'est un sujet au fond de mes préoccupations, et au fond de longues discussions que j'ai avec des gens qui sont à mon sens des ingénieurs beaucoup plus compétents que moi.
- Salut GR ! Ca te dérange si je t'appelle GR ?
- Bah je préfère Ray
- Bon ok, Ray, tu fais quoi dans la vie ?
- Bah je suis ingénieur informaticien pour une boite du CACA 40"
Oh bah... Là tu m'as tout dit mon bon Gustave-Raymond. Tu me diras, c'est un beau merdier la nomenclature des métiers de l'informatique, d'autant que les termes sont tous à peu près aussi précis que "ingénieur informaticien".
Développeur ? Euh ouais, d'accord, donc t'es un expert du Visual Basic ou tu codes direct en assembleur ? Architecte ? Ca veut dire quoi, que t'es un développeur avec trois ans d'expérience et ta SSII veut te vendre plus cher, ou bien t'es animateur pour l'O.M.G ?
Voyez, au début, l'informatique, c'était une discipline pour des gars qui pensaient réellement en 0 et en 1. Mais globalement, à l'époque, c'était surtout des chercheurs, beaucoup d'entre eux étaient mathématiciens, donc ils avaient correctement formalisé quelques sur-ensembles permettant de se simplifier la vie.
Et sur ces sur-ensembles sont venus se greffer d'autres sur ensembles, bien compris par ceux qui connaissaient les deux, mais moins par ceux qui pensaient en 0 et en 1, et un peu moins formalisés <insérer ici une blague de mathématiciens sur les physiciens>
Puis encore d'autres sur-ensembles, successivement, permettant à chaque fois d'abstraire le niveau de réflexion informatique, mais détachant de plus en plus ceux qui pensent très finement de ceux qui pensent de façon macroscopique de sorte que dorénavant, aucun des deux ne comprend ce que fait l'autre.
Dans le tas le public s'en contrefout, il pense toujours que les ingénieurs informaticiens pensent en 0 et en 1, et les recruteurs et autres ressources humaines ne s'intéressent qu'a savoir si la mise en page du CV est jolie.
Bref, à l'instar de sciences, où au tout début un Descartes pouvait révolutionner les mathématiques tout en doutant philosophiquement de son existence, et où maintenant on peut faire une thèse sur la variation du spin d'un beta-isomère d'un éthyle de patchoulol entre 6h et 8h du matin le lendemain d'une finale de superbowl, l'informatique s'est diversifiée et spécialisée.
Bon, vous me direz, ça n'a pas fait de mal aux sciences. Normal, dans le monde scientifique, on se fait souvent chopper assez vite si on est une buse, c'est quand même un tantinet une technocratie ce milieu. Pas dans l'informatique.
Personnellement, je me l'explique comme suit : il est arrivé un moment où les experts informatiques avaient une réelle plus-value, et donc un réel salaire. Donc, être informaticien, quand même, ça faisait envie.
Et là, l'évolution des différentes strates a permis de mettre entre les mains de tout le monde (et c'est bien !) des moyens de produire facilement son propre "produit intellectuel informatique".
La vocation initiale était saine : fournir des niveaux d'abstraction et de facilité d'implémentation permettant d'accélérer grandement des tâches qui auraient du être simple, de penser l'informatique à un niveau plus organique et urbain et faire appel à la créativité avant la technique.
Le contre-coup de tout cela, c'est qu'en l'absence d'une réelle communauté de reconnaissances par les pairs (surtout parce que le théoricien n'est en général pas connu pour son caractère sociable), la valeur qui s'est démarquée dans le monde de l'informatique, ce n'était plus la compétence, mais la capacité à se vendre. Ce qui est normal là encore, mais j'y reviendrai dans un autre article.
Drame : on a créé l'illusion par une fausse inférence que n'importe qui pouvait être un bon informaticien et que ce n'était pas un travail qui demandait de réelles compétences intellectuelles.
La filière informatique est donc devenue (surtout dans la fin des années 90) une "voie lucrative par défaut" pour quiconque avait un bon diplôme. On le voit encore de nos jours, j'en veux pour preuve la discussion que j'avais avec un jeune développeur en SSII qui me disait "moi j'aurais voulu faire du recueil de besoins métiers, mais vu que ma commerciale n'arrivait pas à me caser elle m'a vendu comme développeur". Le gars sortait d'une école de commerce !
Ma question devient alors : pourquoi pour être informaticien dans une grande entreprise aujourd'hui faut-il un diplôme d'ingénieur ?
Il y a des sujets sur lesquels la technicité est très élevée : le développement embarqué optimisé, les algorithmes hautement performants, les primitives fondamentales, la programmation bas niveau qui demande de connaitre les fondamentaux, la programmation logique (prlog, réseaux de Pétri), les conceptions multi-dimensionnelles très proches de la géométrie, etc.
Cela demande une réelle formation, parfois en électronique, parfois en logique mathématique ou en algorithmique, et effectivement, ce sont des compétences qui demandent des années d'études avant d'être acquises.
Il y a des sujets sur lesquels l'aspect cadre du diplôme d'ingénieur est important : les chaines de production, la transcription technique des besoins métiers, l'organisation des équipes de développement et leur animation, le chiffrage, la plannification, bref la réelle gestion des projets, et j'en passe.
A-t-on besoin d'un diplôme d'ingénieur pour faire du code basique en Java, .Net ? A-t-on besoin d'être un ingénieur pour écrire au jour le jour du bête code transactionnel, du bête code de "binding" ou de requêtage SQL ?
Il suffit de regarder la communauté informatique qui s'exprime pour comprendre que non.
Dans le monde du web, qui traine une large communauté de personnes avec un potentiel plus sur la création multimédia, on voit émerger des profils extrêmement compétents sur ce genre de sujets, et la quantité de profils de qualité non qualifiés par diplôme est réellement impressionnante.
Si c'est de la simple technique, pourquoi voit-on si peu de techniciens, niveau BTS, et tant d'ingénieurs, qui n'ont pourtant pas plus de compétences ?
Comment peut-on laisser vivre cette pensée que la conception, matérialisée dans le monde de l'informatique par les spécifications et la modélisation, sont pour l'ingénieur informaticien moyen des "tâches ingrates", alors que la raison d'être même d'un ingénieur est de réfléchir à cela ? Avec des fois des phrases que l'on entend comme "Ecrire un cahier de spécifications est trop long, et le management ne le lira pas" ou "La spec, c'est le code" ?
L'ingénieur informaticien n'est pas défini, ma conclusion est qu'en réalité, il n'existe pas !
Sur ce blog, je ferai parfois référence à cet article qui pose le fond de ma pensée pour réfléchir à d'éventuelles solutions. C'est un sujet au fond de mes préoccupations, et au fond de longues discussions que j'ai avec des gens qui sont à mon sens des ingénieurs beaucoup plus compétents que moi.
""moi j'aurais voulu faire du recueil de besoins métiers, mais vu que ma commerciale n'arrivait pas à me caser elle m'a vendu comme développeur"
Tout est dit...
I share your point. It is a very nice thought. Though I wouldn't have been so sure about it. We shouldn't forget that any problem or question can be looked upon from different aspects .
Et que dire de la segmentation des métiers du web ?
Entre les graphiste qui ne savent pas coder et les codeurs qui ne savent (veulent ?) pas resizer une image ?
La techno nous permet d'être polyvalent comme jamais et pourtant, tout nous pousse au cloisonnement.
Que dire des gars qui font de l'intégration xhtml / css vendu comme des développeur web ?
Pour te citer
"la quantité de profils de qualité non qualifiés par diplôme est réellement impressionnante."
Et c'est là tout le problème, les instances ne suivent pas, tout comme l'éducation.
très bon billet en tout cas, bonne continuation.
Sido
Hello,
"L'ingénieur informaticien n'est pas défini, ma conclusion est qu'en réalité, il n'existe pas !"
La conclusion est juste, le développement est erroné.
Tu es partie sur sur un faux concept : On ne dit pas ingénieur informaticien. Mais ingénieur en informatique.
J'ai le statut d'ingénieur en informatique. J'ai ma spécialité. ca fait plus de 2000ans qu'on se spécialise. Pourquoi, aujourd'hui cela serrait-il différent ?(Le mythe du Hacker)
Bien a vous,
PS : j'aimerai bien connaitre cette boutade dont tu nous a parlé