Le quotidien d’un ingénieur logiciel : entre développement, communication et adaptation
Découvrez les coulisses du métier exercé par Mathias Malandain, à la croisée de la recherche et de l’industrie, où l’apprentissage permanent est essentiel pour évoluer dans un secteur impacté par l’IA.
En quoi consiste votre métier précisément ?
Mes missions sont relativement variées, elles s’articulent essentiellement autour de deux axes. Le premier consiste à soutenir un projet de recherche, qui est actuellement mené au sein du laboratoire, et qui nécessite du développement logiciel. Il y a tout un aspect qui implique de développer de nouveaux outils dans différents langages de programmation. La seconde partie de mon métier concerne davantage la vie générale du service, avec des propositions de formation et du soutien aux autres ingénieurs du centre.
J’assure aussi le suivi des projets de développement logiciel. En fonction du degré de maturation d’une technologie, ou d’un outil, qui est développé(e) avec des chercheurs, il peut y avoir des propositions de collaboration avec des industriels, voire même du transfert de technologie ou de la vente de logiciels à différentes entreprises, à des partenaires privés.
En tant qu’ingénieur, je vais contrôler le suivi de ce processus de transfert avec le public ou avec le privé, en collaboration avec d’autres services qui peuvent être spécialisés sur les aspects juridiques, financiers, etc.
C’est donc un métier qui inclut de nombreux échanges avec plusieurs services différents, et qui s’appuie fondamentalement sur ce lien avec les chercheurs, mais aussi avec des industriels, des collaborateurs, etc. J’ai vraiment ce rôle d’interface entre le monde de la recherche et le monde extérieur.
Qu’est-ce que vous préférez dans votre métier ?
Ce que j’aime le plus dans mon travail, c’est aussi ce que j’aime le moins, c’est-à-dire l’immense variété et la diversité des tâches que je peux accomplir. Mon poste est assez particulier dans le sens où, bien entendu, il y a du développement logiciel, mais avec aussi un côté très management de projets. Sans oublier la communication, car on doit être capable de pouvoir échanger avec les différentes parties prenantes, dont les chercheurs. Mais aussi tout ce qui est en lien avec la formation continue des personnels du centre.
Il y a énormément d’aspects différents dans ce métier, la liste est vraiment très longue. Du coup, ce qui est extrêmement plaisant, c’est que l’on ne fait pas la même chose tous les jours.
D’un autre côté, cela demande quand même une certaine organisation, ce qui n’est pas toujours évident, car on peut très vite être bousculé par une urgence qui va surgir. Il faut être très rigide dans son organisation, être très bien organisé, très clair, très détaillé, tout en se gardant la possibilité de chambouler cette organisation pour répondre à un besoin qui va survenir. C’est ce qui peut, parfois, me gêner le plus dans mon travail. Mais c’est aussi ce qui m’a le plus attiré vers ce poste.
Pourquoi l’anglais est-il une langue indispensable dans votre métier ?
Je travaille beaucoup en anglais, parce que j’évolue dans un environnement de recherche, qui est globalement universitaire. On a beaucoup d’étudiants d’origine étrangère qui viennent faire leur thèse, mais aussi des ingénieurs, des chargés ou des directeurs de recherche. L’anglais reste une langue internationale. On parle donc beaucoup en anglais, les publications scientifiques sont aussi en anglais, et même dans le milieu de la programmation, la grande majorité des ressources sont en anglais.
Il n’est pas forcément nécessaire d’en avoir la maîtrise absolue, mais avoir de bonnes compétences linguistiques en anglais, cela reste un impératif !
Quelles sont les autres compétences indispensables à maîtriser pour devenir ingénieur logiciel ?
Il faut bien sûr avoir des capacités d’organisation pour ne pas se laisser complètement envahir. Les chercheurs sont très forts pour mener de nombreux projets en même temps. Je dirais aussi qu’il faut avoir des compétences en communication car, en tant qu’ingénieur, on est amené à interagir en permanence avec des personnes qui ne sont pas du même monde que nous.
Il faut donc être en mesure de servir d’interface entre ces différents acteurs, avec un effort de communication, parfois de traduction. C’est intéressant, mais cela demande de l’énergie, de l’adaptabilité et de la flexibilité.
Qu’est-ce qui vous a aidé à évoluer dans votre métier (ressources, livres, podcasts, mentors…) ?
Ce sont les interactions avec les autres personnes, à l’image des chercheurs avec lesquels j’ai interagi et qui m’ont appris des choses extrêmement précieuses. En particulier, le fait d’être intégré au sein d’un service d’une trentaine de personnes, avec un grand nombre d’ingénieurs qui maîtrisent chacun des choses très différentes. Cela a toujours été un grand plaisir pour moi d’aller voir d’autres collègues de mon service pour leur demander de l’aide sur un besoin spécifique. Il y a toujours au moins une personne qui va être capable de répondre, même sur des questions extrêmement techniques.
Et cela tombe bien, parce que cela fait partie de mon travail de continuer à apprendre des choses en permanence.
En fonction des projets, on va être amené à utiliser de nouveaux langages de programmation, à élargir nos compétences. C’est presque une responsabilité. Des ressources existent sur Internet, dans des livres, mais surtout dans le service : j’ai eu deux ou trois collègues qui m’ont permis d’acquérir des compétences qui m’étaient totalement étrangères il y a encore un ou deux ans.
Comment voyez-vous l’évolution de votre métier dans les prochaines années ?
C’est difficile à dire. L’explosion des IA génératives a déjà chamboulé pas mal de secteurs. Dans l’informatique, on est un peu entre deux. Les IA génératives, comme Claude, sont capables de générer du code rapidement, qui est presque parfaitement fonctionnel, tout en prenant en compte des remarques pour proposer de nouvelles versions. C’est assez fascinant.
Mais je crains que le recours systématique aux IA génératives incite les décideurs à se passer de main-d’œuvre technicienne ou de jeunes ingénieurs pour accomplir l’essentiel du travail de programmation.
Et si l’on n’a plus de techniciens ni de développeurs juniors, d’ici 10 ou 15 ans, on n’aura plus d’experts. Or, ce sont eux dont on a besoin, ne serait-ce que pour guider une IA générative et prendre du recul sur ce qui est produit. Pour l’instant, nous sommes dans une zone de flou. Je pense que c’est aux décideurs de se saisir de la question et de ne pas oublier qu’il y a un intérêt immédiat à utiliser les IA, mais que cela peut poser des problèmes à moyen ou long terme.
De mon côté, mes pratiques ont peu changé : j’utilise les outils d’IA pour du code non critique. Pour des tâches critiques, je garde la main, quitte à ce que cela prenne plus de temps.
Est-ce que ma pratique va changer dans les dix prochaines années ? Je ne sais pas. Est-ce que le métier va évoluer ? Sans aucun doute, il a déjà commencé. Pour moi, la question est : qu’est-ce qu’on laissera faire à une IA générative ? À quel point peut-on lui faire confiance ? Quelles tâches doivent rester entre nos mains ? Ce sont des discussions en cours qui risquent de guider l’évolution du métier à court terme.
Avez-vous un conseil à donner à celles et ceux qui voudraient se lancer dans ce métier ?
Le conseil que je pourrais donner, c’est de prendre en compte que le métier d’ingénieur logiciel implique de continuer à apprendre. Pas seulement pour se perfectionner sur ce que l’on sait déjà, mais aussi pour apprendre de nouveaux savoir-faire, regarder ce qu’il se passe au niveau des langages, des outils.
L’écosystème évolue sans cesse, on est obligé d’évoluer avec lui.
Être un bon ingénieur logiciel, ce n’est pas seulement écrire du bon logiciel. C’est aussi être en mesure de continuer à apprendre et à se développer. Il faut garder cette curiosité, mais aussi ce désir de découvrir de nouvelles choses, même quand elles ne semblent pas directement utiles sur le moment.

Mathias Malandain, Ingénieur logiciel
Mathias Malandain est ingénieur logiciel au Centre Inria (Institut national de recherche en sciences et technologies du numérique) de l’Université de Rennes. Il exerce cette fonction au sein du service expérimentation et développement.