L’ingénieur de développement participe à l’analyse fonctionnelle des besoins utilisateurs. Il étudie ainsi les opportunités et la faisabilité technologique de l’application. Aussi, l’ingénieur de développement élabore et rédige le cahier des charges technique, à partir des spécifications fonctionnelles.
La mission principale de l’ingénieur de développement est de concevoir une architecture logicielle. Pour cela, il analyse et développe les composants en utilisant les langages appropriés (C++, C, Java…).
Par ailleurs, l’ingénieur de développement est chargé d’assurer le développement et la réalisation des applications (prototypes et modules). Il peut aussi adapter et paramétrer les progiciels retenus pour l’architecture logicielle.
En outre, l’ingénieur de développement harmonise et industrialise l’ensemble des composants et applications.
L’ingénieur de développement définit les protocoles et les scenarii de test. Il est ensuite amené à tester, identifier et traiter les dysfonctionnements éventuels du logiciel développé.
Aussi, l’ingénieur de développement analyse ensuite les résultats et rédige le rapport de test. Enfin, il vérifie la conformité des capacités de l’ouvrage avec la demande formulée par le client.
Par ailleurs, l’ingénieur de développement est en charge de l’intégration des sites pilotes chez le client permettant de tester l’ouvrage, dans sa version définitive. Il va ainsi déployer en masse le produit auprès des utilisateurs.
La mission de l’ingénieur de développement peut se prolonger après la mise en service des applications. Cette étape porte le nom de tierce maintenance corrective et/ou évolutive applicative (TMA).
D’autre part, l’ingénieur de développement peut être chargé d’assurer une veille technologique afin de proposer au client des solutions prenant en compte les innovations en matière de développement et de langage.
Aussi, dans le cadre de ses missions, l’ingénieur de développement peut être amené également à rédiger les documentations techniques et dispenser des formations aux utilisateurs. Cette étape est une composante clé pour optimiser l’appropriation de l’outil par les populations cibles.
L’ingénieur de développement peut être en charge de la conception d’applications variées :
D’autre part, la nature des projets sur lequel l’ingénieur de développement est amené à intervenir, peut varier selon leur taille et leur durée :
Ces projets impliquent peu d’interlocuteurs. Ils peuvent donc être gérés de manière autonome par l’ingénieur de développement. Cela lui permet d’avoir une vision globale d’un cycle de production (analyse du besoin, conception et développement, tests et livraison de l’application).
Ces projets impliquent un nombre important d’interlocuteurs (architectes, consultants fonctionnels, chefs de projet…). Ils nécessitent une définition précise du périmètre d’intervention de chacun des acteurs. Dans ce cas, l’ingénieur de développement est souvent spécialisé sur des éléments bien précis : tests, débugage, développement de modules spécifiques…
Enfin, en SSII, l’ingénieur de développement est en contact direct avec le client. De sa capacité à s’imposer non seulement techniquement mais également au niveau relationnel dépend la satisfaction du client et donc la pérennité de sa mission.
En somme, l’ingénieur de développement peut travailler :
Dans ce cas, l’ingénieur de développement exerce au sein des équipes du client. Il exerce alors un rôle très opérationnel de développement sur des tâches précises et encadrées. Sa mission peut prendre fin rapidement selon les besoins du client.
Dans ce cas, l’ingénieur de développement est mandaté pour la réalisation d’une mission spécifique qui prend fin à la livraison du projet.
Ainsi, l’ingénieur de développement est davantage soumis aux aléas conjoncturels du marché : il peut passer rapidement d’une mission à une autre, doit pouvoir s’adapter sans difficulté à un nouvel environnement technologique. Il peut aussi traverser des périodes d’intercontrat, c’est-à-dire sans mission.
Le poste d’ingénieur de développement s’adresse le plus souvent à des débutants. Il constitue un passage incontournable pour les jeunes diplômés informaticiens. Il est parfois demandé un stage significatif et/ou deux à trois ans d’expérience professionnelle, en fonction des contraintes technologiques associées au projet.
L’ingénieur de développement doit maîtriser les méthodes et outils de développement (UML, Merise, Rational Rose). Aussi, il doit connaître différents langages de programmation (C#, Javascript, C++…), ainsi que de certains systèmes d’exploitation (Windows, Unix, Linux…).
D’autre part, l’ingénieur de développement doit avoir une bonne connaissance des normes et procédures de sécurité. Il doit également être capable de comprendre l’environnement et le fonctionnement de l’entreprise.
En somme, la maîtrise de l’anglais technique peut être suffisante mais un bon niveau en anglais est un atout majeur pour l’ingénieur de développement. Cela lui permettra de comprendre les documentations techniques et/ou se voir confier des missions en environnement international.
Un sens développé de l’écoute et de l’expression permettra à l’ingénieur de développement de communiquer efficacement avec les utilisateurs.
Compte tenu de la variété des problématiques clients et technologiques, l’ingénieur de développement doit faire preuve d’ouverture d’esprit.
En effet, l’ingénieur de développement interviendra généralement au sein d’une équipe réunissant différents corps de métiers.
L’ingénieur de développement exerce souvent son activité en dehors de son entreprise. Il lui faut donc faire preuve d’autonomie une fois placé chez un client car il ne dispose pas toujours d’un support.
En particulier chez les ingénieurs de développement en SSII car les missions sont de durées variables et l’ingénieur peut être affecté chez des clients différents dans un laps de temps limité.
L’ingénieur de développement doit faire preuve de motivation afin de pouvoir s’impliquer dans des projets souvent lourds et longs.
Source : https://www.apec.fr/
Projet Application d’assurance
■ Oracle (pl/sql)
■ Rédaction des spécifications fonctionnelles
■ Tunning, améliorations des requêtes
■ Développement des nouvelles spécificités
■ Tests et recettage
■ Univers Bo et rapport
Projet Application de tracking de la base Agence Chronopost
■ Migration de Sybase vers Oracle
■ Rédaction des spécifications fonctionnelles du module collecte
■ Développement des nouvelles spécificités
■ Tests et recettage
Projet Application de tracking Way (TMA évolutive en interne) pour le suivi de marchandises en conteneur et en vrac
■ Gestion, vérification et correction des anomalies : réalisation des paramétrages, Développement de nouvelles fonctionnalités, Rédaction des fiches d’incident en cas de bug ou d’anomalie technique, évolutions
■ Tests et recettage
Projet TMA : Application de gestion des succursales Volkswagen (Gestion, Stock)
■ Migration des bases de données DBMS Carbase (Volkswagen).
■ Correction des rapports financiers de tous les sites.
■ Mise en place de procédures pour amélioration des corrections.
■ Mise en place d’une base de connaissance.
Projet Outils décisionnel sur les ventes des produits pour 12 filiales européennes
■ Construction de bases homogènes pour chaque filiale européenne
■ Création et maintenance d’univers
■ Création et maintenance de rapports
■ Développement de procédures stockées, Extraction de données : mis en place de traitement batch pour récupération quotidien des données de chaque filiale.
Projet Reporting quotidien des divers produits de vente bancaire (France)
■ Rapports (Quotidien, Hebdomadaire, Mensuel).
■ Amélioration des performances de chaque état,
■ Développement de procédure batch pour une sortie quotidienne des Etats, automatisation de l’envoie aux utilisateurs concernés par mail.
Projet Gestion des documents (PDF, Audio)
■ Création de base, Reprise et importation de données
■ Création de page HTML dynamique dans ORACLE