Concevoir puis mettre en place des logiciels de comptabilité, de gestion des stocks, de traitement des images, d'applications web... en suivant les demandes des entreprises ou des administrations, c'est le rôle de l'ingénieur logiciel.
Code ROME : M1805
Concevoir puis mettre en place des logiciels de comptabilité, de gestion des stocks, de traitement des images, d'applications web... en suivant les demandes des entreprises ou des administrations, c'est le rôle de cet ingénieur en informatique. Il rédige un cahier des charges fonctionnel (spécifications, délais, coûts...), puis technique, et élabore une maquette du logiciel, en concertation avec ses futurs utilisateurs. Il peut avoir un profil polyvalent, ou se spécialiser dans un domaine précis de l'informatique, notamment en informatique de gestion, en informatique embarquée ou en informatique industrielle.
Avant de concevoir un logiciel informatique, l'ingénieur logiciel étudie les besoins de l'organisation (entreprise de services, administration, industrie...) afin de définir les fonctions du logiciel (spécifiques pour la comptabilité, par exemple) qu'il doit créer. En concertation avec les utilisateurs (notamment les salariés de l'entreprise) du futur logiciel, il analyse et décrit les tâches à exécuter par ordinateur.
Du projet au cahier des chargesIl rédige ensuite un cahier des charges fonctionnel (spécifications, délais, coûts...), puis technique, et élabore une maquette du logiciel, en concertation avec ses futurs utilisateurs.
La réalisation du logicielLes cahiers des charges dûment validés par les futurs utilisateurs, l'ingénieur passe à la programmation au sein d'un atelier de génie logiciel : il utilise alors des outils et des méthodes informatiques d'aide à la production de logiciel. Enfin, il effectue les tests qui permettront de valider le produit avant de le mettre à la disposition de l'entreprise (de services ou industrielle) ou de l'administration.
L'ingénieur logiciel possède une solide culture scientifique qu'il doit sans cesse mettre à jour pour s'adapter aux évolutions des technologies liées à l'univers des logiciels. Il maîtrise les méthodes et les outils de développement (UML, Merise, Rational Rose...) et a une excellente connaissance des langages de programmation (Java, C++...), en fonction du domaine informatique dans lequel il intervient (informatique de gestion, informatique embarquée...). La maîtrise de l'anglais (notamment technique) et la connaissance des normes et des procédures de sécurité informatique sont également indispensables.
Généraliste ou spécialisteL'ingénieur logiciel peut être polyvalent, concevant et mettant en place des logiciels pour le compte d'entreprises et d'administrations, et évoluer dans des secteurs d'activité variés : industrie, banque et assurance, commerce, transport et logistique... À l'inverse, il peut choisir de se spécialiser dans un domaine précis de l'informatique. Par exemple, en informatique de gestion, en informatique embarquée (pour l'industrie)...
La plupart des ingénieurs logiciel travaillent pour le compte d'ESN (entreprises de services du numérique), comme les sociétés de conseil en informatique, les éditeurs de logiciels..., qui répondent à la commande de clients (entreprises, administrations).
En entreprise utilisatriceD'autres organisations emploient, en interne, des ingénieurs logiciel, notamment les grandes entreprises utilisatrices industrielles. Par exemple, un constructeur automobile ou aéronautique, ayant son propre service de recherche et développement, ou les administrations (ministères, collectivités territoriales...).
Des perspectives d'évolutionÀ terme, l'ingénieur logiciel peut évoluer vers des fonctions de chef de projet ou d'équipe (encadrant une équipe d'informaticiens) ou accéder à des postes qui requièrent plus de technicité et/ou plus de responsabilité : consultant, expert technique...
Pour exercer ce métier, il faut être titulaire d'un diplôme d'un bac + 5 (master ou diplôme d'ingénieur) en informatique.