26 March 2013

Tags: enseignement informatique

Comme beaucoup, j’ai appris aujourd’hui la création d’une école de développement lancée par Xavier Niel. Mais dans cette annonce, j’ai été choqué par plusieurs choses, à commencer par cette citation:

Aujourd’hui, le système français ne marche pas. Il est coincé entre d’une part l’université, qui propose une formation pas toujours adaptée aux besoins des entreprises mais qui est gratuite et accessible au plus grand nombre, et d’autre part les écoles privées, chères, dont la formation est assez qualitative mais laisse sur le côté de la route le plus grand nombre de talents, voire de génies, que nous pourrions trouver en France.

Qu’est-ce qu’essaie de dire Xavier Niel ici ? Que seule les écoles privées sont capables de fournir une formation de qualité ? Que parce que l’Université est ouverte au plus grand nombre, la qualité n’est pas au rendez-vous ? Mais quid des IUT, quid des écoles d’ingénieur publiques (INSA, réseau Polytech’ dont je suis issu, …) ? Je ne doute pas que la citation ci-dessus ait volontairement omis ces organismes publics, qui sont j’ose le croire capables de formations modernes, techniques et dont les professeurs sont au moins aussi dévoués que ceux du privé !

Il ne s’agit pas non plus d’un problème de sélection de talents à l’entrée, car ici, contrairement à la Faculté qui se doit d’accueillir quiconque s’inscrit, les IUT et autres écoles d’ingénieur publics ont un processus de sélection à l’entrée. Et sur ce point, j’ai une petite anecdote à vous raconter. Il y a deux ans, lorsque j’ai changé d’entreprise, j’ai eu besoin de récupérer mon diplôme d’ingénieur (oui, parce qu’on me demandait de prouver que j’étais ingénieur) et je suis donc retourné à mon ancienne école, Polytech’Nantes, où j’ai croisé un ancien professeur. Au détour de la conversation, j’ai appris qu’il y avait moins de candidats à l’entrée de l’école qu’il y a 10 ans. Visiblement, les nouvelles technologies'' n’attirent plus autant qu’avant. Ils avaient donc, à l’époque, un problème de sélection à l’entrée pour trouver des étudiants, tout simplement, sans parler de trouver des talents. A ce propos, je rejoins quand même Xavier Niel sur un point (du moins, si je lis entre les lignes). Les écoles d’ingénieur privées en France, on les choisit surtout parce que c’est marketing, ça fait bien sur un CV de sortir d’Epitech. Au passage, si tu es étudiant et que tu lis ces lignes, méfie toi des écoles qui ne donnent pas droit à un diplôme d’Etat en sortie, car comme tu l’as constaté, c’est utile… Ces écoles, on y entre souvent parce qu’on a les moyens de payer. Bref, c’est plus un investissement qu’un problème de qualité de formation… En pratique, il reste à démontrer qu’un ingénieur sorti d’une école privée est meilleur'' qu’un autre…

Alors pour rire un peu, lisons le programme de l’école 42: Merise, XWindow, Corba, J2ME, que des technologies toutes neuves et incroyablement répandues dans l’industrie… j’avais les mêmes cours lorsque je suis rentré à l’IRESTE en 1999 ! Alors, certes, il y a du HTML5 au programme, de l’iOS et Android. En revanche, je cherche encore Spring, le framework alternatif à JEE le plus répandu dans l’industrie, Scala (ou encore Groovy, rêvons un peu). En clair, ce programme existe aussi dans n’importe quelle autre formation, y compris dans le public. Je vous conseille d’ailleurs, au sujet d’iOS, cet ">excellent post de Julien Ponge sur l’abandon de l’enseignement d’iOS à l’INSA Lyon (Ecole d’ingénieur publique, faut-il le rappeler). En clair, ce programme, si intéressant soit-il, n’a rien de révolutionnaire. C’est un classique qu’on trouve dans n’importe quelle école. Ce à quoi on pourrait me dire que ça n’est pas dans le programme mais dans la façon de l’enseigner que se trouve la clé, mais là, je demande à voir. Il y a des cours, il faut bien les suivre. Si c’est faire des projets annexes pour bidouiller, etc, c’est sympa, mais ça, on le fait depuis longtemps ailleurs aussi. Non, je ne vois pas trop…

Le problème n’est donc certainement pas dans les programmes, ni dans la sélection. Ce qui m’amène à parler des raisons pour lesquelles les gens comme moi en viennent à choisir l’informatique. Je les divise en deux catégories:

  • ceux qui sont passionnés, tombés dedans quand ils étaient petits: j’en fais partie. J’ai commencé à coder à 8 ans, je n’ai jamais arrêté depuis. C’est une passion autant qu’un boulot et rares sont ceux qui comme moi parviennent à combiner les deux.

  • ceux qui y vont parce qu’il y a du travail : on ne cesse de le répéter, on manque de main d’oeuvre dans l’informatique. Ca n’est (pour l’instant) pas trop mal payé, et donc on y va parce qu’on peut bien manger. J’en ai croisé beaucoup et j’en croise encore.

Dans la première catégorie, je classe les professeurs. S’il existe un vrai problème, ça n’est certainement pas l’enseigement, ni les programmes. Non, l’informatique souffre d’un problème de reconnaissance, et il existe à de multiples niveaux. Le premier, c’est celui de l’enseignement. Lorsque j’étais étudiant, j’ai commencé par faire un DEUG, puis j’ai choisi de ne pas suivre la voie de la recherche (doctorat) et de poursuivre en école d’ingénieur. Etait-ce le programme qui était en cause ? Non, certainement pas. Etait-ce le problème des classes surchargées et du fait de ne pas être choyé ? Non plus: j’étais extrêmement heureux de l’autonomie qu’ont les étudiants de Fac, tout comme j’étais totalement dans l’esprit de devoir travailler fortement à la maison pour compenser le manque de travaux individualisés''. Non, le vrai problème, c’est le salaire. Le calcul était simple: en sortie d’école, je toucherai autant, voire plus, avec un diplôme d’ingénieur que mon prof à l’Université. Et lui était incontestablement plus compétent que moi. Alors, être professeur en France, aujourd’hui, c’est de la dévotion pure et simple. Je l’ai déjà dis en privé à certains, je le confirme : je vous admire les gars. Alors j’ai choisi l’école d’ingénieur (publique, pas question d’aller dans le privé). Là encore, je caricature un peu, l’idée de l’école était aussi qu’elle était plus proche du monde de l’entreprise et que la voie universitaire'' avec carrière définie à l’avance, les mutations et autres ne m’enchantait guère, mais ça c’est un autre débat…

Bref, pour entrer, sélection à l’entrée. Il fallait montrer patte blanche, passer un entretien avec un professeur et un chef d’entreprise, avoir de bons résultats et faire partie des heureux élus (la sélection comptait 1/3 de l’université, 1/3 de l’IUT, 1/3 de prépas). Une fois entré, le plus dur est fait. On passe 3 ans à suivre ses cours, à s’améliorer, mais je regretterai toujours l’ambiance de la fac, les révisions autour d’un café, les impressions de polys, … Il est clair que les moyens de l’école étaient plus élevés, par rapport à la fac, et qu’on est entre de bonnes mains. A moins de faire l’idiot, difficile de ne pas en sortir avec un diplôme. Mon attachement à la fac et au monde de la recherche ne s’est pas arrêté à l’entrée à la fac, non, puisque j’ai décidé de faire en parallèle un DEA en informatique, possibilité qui était offerte par l’école à l’époque. On devait alors suivre des cours supplémentaires à la Fac. J’y ai appris beaucoup, de personnes brillantes. Alors, à l’école, j’ai aussi eu des professeurs moins ``bons'' que d’autres, mais franchement, même en entreprise, on trouve de sacrés boulets, ça n’a rien à voir avec le fait qu’on soit dans une école publique.

Dans le cadre de mon double diplôme ingénieur/DEA, j’ai eu la chance de participer à la création d’une entreprise issue d’un projet de recherche, qui m’a embauchée à ma sortie d’école… Je n’aurais pas choisi un autre type d’entreprise. En particulier, je fuis les SSII et je cherche plutôt des éditeurs de logiciels.

Pourquoi ce choix ? Parce que je pense que les SSII font partie du problème en France. La formation technique à l’école n’était pas un problème mais il est clair qu’on nous met dans un état d’esprit plus que douteux allant directement dans le sens des SSII. Des cours de management, c’est intéressant, mais pourquoi s’enfoncer dans ce modèle détestable qui consiste à croire qu’au bout de 2 ans, on n’est plus capable de développer et qu’il faut passer chef de projet ? Alors certes, la catégorie 2 des personnes dont j’ai parlé plus haut s’en accomodent très bien, mais il est stupide de croire qu’un bon ingénieur ferait un bon chef de projet, tout comme il est stupide de ne proposer des augmentations de salaires qu’en changeant de poste et en passant à un poste de management. Si les entreprises, SSII en tête, prenaient moins les ingénieurs pour de la chair à commercial, on s’en sortirait déjà beaucoup mieux (nous les ingénieurs, l’entreprise, elle, c’est moins sûr). Même après 2 ans d’expérience, on est très loin d’avoir un niveau de compétence suffisant pour égaler la productivité d’un senior. Les experts, ça existe, et il faut les respecter. Le vrai problème est là: le respect du développeur. Le choix de devenir développeur senior est très difficile en France, de part cet aspect social assez négatif (non mais allô quoi ? T’as 30 ans et t’es développeur ? Non mais allô !) et le fait qu’avec l’âge, on aimerait bien s’offrir une maison quand même…

Au sujet des SSII, j’ai une petite anecdote. Il y a quelques années, l’entreprise pour laquelle je travaillais se portait assez mal, et donc par précaution j’ai commencé à passer des entretiens d’embauche. J’ai mis mon CV sur Les Jeudis'' et à peine quelques heures plus tard, j’avais déjà décroché un entretien… dans une SSII. Comme il faut bien manger et que les offres des éditeurs ne courent pas les rues (à mon grand désespoir), je suis allé à cet entretien en le prenant comme un entraînement. Et heureusement. Pour l’entretien, j’ai été confronté à un potentiel futur supérieur'', un commercial en fait qui m’a présenté cette grande SSII leader en France, n’embauchant que des dieux'' (je caricature à peine). D’une part, se dire qu’un ingénieur se trouve hiérarchiquement lié à un commercial me pose un sérieux problème. C’est qu’on vend un profil avant de vendre mes compétences. Il n’y avait aucun travail à me proposer. On m’a convonqué pour avoir un CV dans une base et le vendre à des clients. Ca n’est donc pas parce qu’il y avait un projet qu’on m’a convoqué, mais parce que potentiellement, je suis vendable. Alors, comme j’ai la chance d’être dans un domaine où il y a encore (un peu) de choix dans les offres d’emploi, non merci. Mais le plus choquant dans cet entretien, pour moi, ce fut la question finale, faite par ce commercial: pourriez-vous me résumer ce qu’on a dit dans cet entretien''. J’ai trouvé cette question humiliante. Déjà, j’étais venu en me disant qu’on avait un projet à me proposer, mais non, je commercial ne savait même pas que je n’avais pas postulé, mais qu’on m’avait cordialement invité à passer un entretien. Ensuite, mon égo en a pris un coup par cette question, qui sous-entend que je ne suis pas assez professionnel pour avoir compris le discours élitiste et commercial que l’on m’avait longuement rabaché dans cet entretien. Le lissage et la lobotomisation avait déjà commencé. Evidemment, on ne m’a pas rappelé et je ne m’en porte pas plus mal.

Ne soyons pas caricatural non plus, je suis certain d’être ``mal tombé'', mais au final, j’avais mon opinion sur les SSII et cet entretien n’a fait que la conforter. Il existe sûrement des sociétés plus petites où on n’est pas uniquement un CV dans une base…

Ce qui m’amène à un dernier point. Je suis un amoureux de l’esprit open source. Aujourd’hui, j’ai la chance d’en vivre et j’aimerais que beaucoup plus de développeurs puissent le faire. Ne serait-ce que pour redécouvrir leur métier. J’ai toujours rêvé de travailler dans une entreprise faisant de l’open-source, et quand je dis faisant de l’open-source, je ne veux pas dire utilisant des projets open source, non, je veux dire qui contribue directement à des projets OSS. Cet esprit me vient probablement de tout petit, lorsqu’à 10 ans, j’achetais ces revues dont j’ai oublié le nom, où je pouvais recopier le code source d’un jeu sur mon CPC, et après de longues heures de recopie, être émerveillé par ce que je venais d’accomplir.

Alors, oui, à l’époque, je n’inventais pas grand chose, mais je voulais et je pouvais bidouiller. Et je pense qu’il n’y a rien de plus instructif, en informatique, que la bidouille. Triturer du code, recopier, modifier, lorsqu’on est enfant, il n’y a rien de plus simple et on apprend énormément (aaaahhh, et donc là, je peux faire de l’overscan !). Il n’empêche qu’à une époque, j’ai eu besoin de structurer tout celà et que c’est à l’Université que ça s’est fait (comprendre les concepts qu’on manipule).

Au quotidien, l’open source tel que je le pratique à de nombreux avantages. D’abord, je suis consommateur. Je ne comprends pas ce que fait une fonction, j’ouvre le code, je le lis. Je peux aussi profiter du code et de l’expérience des autres (si tant est que la licence le permette). D’un autre côté, je contribue. Et en tant que développeur, je trouve que c’est extrêmement formateur. Lorsque j’ai commencé à développé sur Groovy, je pensais ne pas être mauvais (comme 90% des développeurs, je pense être meilleur que ma moyenne ;-)), pour autant, lorsque je lisais le code de nombreux projets open source, je me trouvais petit. Et encore aujourd’hui, je le suis, mais j’apprend. Faire de l’open-source, c’est par définition montrer son code à tout le monde, et en pratique, on n’aime pas spécialement montrer une mauvaise image de soi. Etre scruté par des milliers, voire millions d’yeux, c’est très formateur et ça pousse à s’améliorer. Ca ne veut pas dire qu’on ne fait pas de la m…, mais en tout cas, on la limite et si on en produit, on est vite rappelé à l’ordre… J’aime ce métier parce que je vois directement les résultats de ce que je produis : des utilisateurs contents (ou pas) et je n’ai rien à leur cacher. Bref, les qualités intrinsèques de mon ``produit'' passent avant toute chose. L’un des bons côtés de mon métier, c’est se balader dans une conférence et croiser quelqu’un qui vous dit que ce que vous avez fait lui a sauvé sa journée. C’est peut de chose, mais ça montre que le dev open source est avant tout tourné vers l’autre. Si je ne pouvais lire le code des autres, je ne mesurerais pas la marge de progression que j’ai et j’apprendrais beaucoup moins, ce qui signifie, au bout du compte, une qualité moindre et une dévalorisation générale du métier…

Alors non, clairement, je ne pense pas que le problème, en France, ce soit les écoles. Je ne crois pas non plus que le problème soit les enseignants, ou le public vs le privé. Et je ne crois pas qu’on perde des talents à cause d’un problème de sélection. Non, le problème, c’est la reconnaissance du métier. Faire que les gens soient fiers de leur travail et puissent en vivre dignement. En particulier, le problème du salaire des profs est à mon humble avis critique et explique que la France laisse disparaître des talents dans les méandres des inter-contrats. Non, commençons par définir des projets, faciliter l’innovation, arrêter de penser franco-français (le financement public du ``Cloud Français'' est un pur gaspillage, à mon humble avis) et défendons au contraire ce qui permet de faire émerger les talents: ouverture, neutralité du net, reconnaissance du travail. Arrêtez de demander des stagiaires avec 5 ans d’expérience. Bref, faites nous rêver !

Nous faire rêver, effectivement, Xavier Niel sait le faire, on peut lui reconnaître ça. En pratique, je ne suis pas convaincu de la solution, parce que je ne suis pas convaincu que le problème soit là. A moins que de cette école n’émerge une technique nous permettant de lire des vidéos YouTube sans saccade :-)