Développeur informatique
Transcription
Développeur informatique
Développeur informatique Rome M1805 1 Le métier Le métier : Développeur Informatique En charge du développement d’une application informatique, le développeur écrit tout ou partie d’un programme en recourrant à différents langages informatiques. De l’analyse du cahier des charges, répondant aux besoins de l’utilisateur, jusqu’à la réalisation d’une documentation ou la maintenance des applications, le métier voit son périmètre s’étendre au-delà de l’écriture de lignes de codes. Capacité à s’adapter rapidement et ouverture à l’idée de « formation permanente » faciliteront son évolution dans un métier où les connaissances et la pratique sont en constante évolution. ©programmeur analysteCRpaca Analyser et programmer. Le cœur de métier du développeur informatique consiste à réaliser l’écriture de logiciels en réponse à un besoin identifié d’utilisateurs. Ce travail d’analyse des fonctions souhaitées puis de programmation à l’aide d’un langage codé explique que le métier se soit appelé, à l’origine, « analyste programmeur ». Le développement peut concerner un logiciel destiné à fonctionner sur un micro-ordinateur, un serveur ou en « système embarqué » (système électronique ou informatique autonome, dédié à une tâche précise et « enfoui » dans un matériel, par exemple une carte bancaire). Il pourra être un outil de gestion de la chaîne logistique, d’un site Web, d’un réseau de télécommunication, d’un microprocesseur (puce) au sein d’une carte SIM, etc. En fonction de cette destination, les choix de langages sont différents, les contraintes technologiques aussi. Le développement d’un logiciel : du cahier des charges à l’intégration dans l’environnement final. Le développement répondant à un projet global s’organise en différentes phases de travail. La première concerne l’analyse des fonctions auxquelles devra répondre la solution logicielle et décrites dans le « cahier des charges ». Après conception de la solution technique, intervient l’écriture, à l’aide du langage informatique adapté, de tout ou partie du programme et des tests s’assurant de leur fonctionnement. Ensuite, les différentes parties du programme (les développements spécifiques, les bases de données, les progiciels standard à paramétrer) sont mises en cohérence et assemblées. Plus tard, après essais et validations, elles sont intégrées dans leur environnement final. La conformité de la solution logicielle avec le cahier des charges est vérifiée afin d’assurer la livraison finale, appelée « recette ». Cependant, le déroulement d’un projet et sa finalisation nécessitent de fréquents allers et retours entre les différentes phases et certaines actions peuvent s’organiser en parallèle. La qualification et l’expérience du développeur influent fortement sur la palette de ses responsabilités. Il peut n’intervenir que pour l’écriture de lignes de code ou participer à la conception d’ensemble de la solution logicielle. Il peut aussi se spécialiser sur l’une des phases de travail : le développement, les tests, la mise en cohérence des différents composants techniques du projet, voire l’intégration dans l’environnement final. 1 Le développeur travaille le plus souvent en équipe, sous la responsabilité du chef de projet. Un « petit » projet rassemble au moins deux compétences : le chef de projet maîtrise d’œuvre qui assure la responsabilité du contact avec le maître d’ouvrage (à l’interne ou client externe) et de l’analyse fonctionnelle, et le développeur, en charge de la responsabilité technique. Un expert de la technologie utilisée peut aussi intervenir. L’équipe grossit en fonction de la taille du projet ou des délais imposés par le client. La durée de réalisation des projets est variable et se répartit le plus souvent sur plusieurs mois voire des années. Connaissances techniques solides et capacité à l’autoformation. La conception, le développement et la réalisation de projets informatiques nécessitent de mettre en place une organisation précise. Le développeur doit connaître des méthodes de conception, des normes et outils de développement. Bien sûr, il doit connaître des langages de programmation. Si plusieurs d’entre eux sont étudiés en formation, ils ne sont pas tous utilisés en cours d’emploi. Avec l’évolution des outils de développement, l’activité se déplace vers l’analyse. Les professionnels interviennent de plus en plus en paramétrage de programmes déjà pré-écrits afin d’en faire un outil adapté à la spécificité du besoin du client. Les développeurs évoquent plusieurs qualités importantes pour réussir dans leur métier. La logique et la rigueur, le pragmatisme, la rapidité d’adaptation, la pugnacité en cas d’erreurs ou de dysfonctionnements, les capacités d’écoute et de dialogue pour échanger au sein de l’équipe et prendre en compte les contraintes de chacun. Mais aussi la curiosité professionnelle : ce métier nécessite d’être en veille permanente face aux évolutions techniques et de revoir régulièrement ses connaissances en adoptant une démarche d’autoformation. Une bonne part du travail consiste à apprendre. S’il n’est pas nécessaire d’être passionné, c’est une donnée facilitatrice pour ce travail de veille et de remise en cause. Une diversité de responsabilités suivant la nature et la taille de l’entreprise employeur. Ces activités cœur de métiers peuvent s’enrichir d’autres responsabilités. Le périmètre des tâches va dépendre du lieu de travail : une société de services informatique (SSII) réalisant des prestations pour un client utilisateur, une société industrielle produisant des biens électroniques ou informatiques, une grande entreprise, une très petite entreprise où la polyvalence sera exigée en raison des moyens humains restreints. Le développeur peut, par exemple, participer à la rédaction de notices techniques ou de « plans qualité », de guides utilisateurs, assurer le suivi des coûts, former des utilisateurs ou à minima garantir un soutien technique, être sollicité pour la maintenance et l’optimisation des systèmes et machines, etc. La diversité des tâches, leur aspect concret et l’autonomie participent de l’intérêt du métier et sont des motifs de satisfaction des professionnels. De la nature de son employeur dépend aussi la fréquence de ses déplacements. Plutôt mobile géographiquement lorsqu’il exerce en SSII afin de se rendre sur le site client - ce qui représente en moyenne un cinquième de son temps - il est souvent sédentaire au sein d’une grande entreprise réalisant ses propres développements. En société de service informatique, les horaires de travail s’adaptent aux spécificités des entreprises clientes. Les contraintes de délais influent aussi sur le rythme de travail. La pression de la concurrence génère la négociation par les entreprises de contrats « au forfait » où le temps de travail est défini à l’avance. Cette estimation est ajustée au plus serré afin d’emporter les marchés et les aléas doivent être absorbés dans des délais inchangés. SSII, un employeur souvent incontournable. En France, une majorité des développeurs exerce au sein de SSII (société de service en ingénierie informatique). C’est aussi le principal lieu d’exercice des développeurs en PACA. Ces entreprises travaillent pour différents clients utilisateurs, chacun ayant des contraintes et des exigences spécifiques, et réalisent des prestations de développement, de l’assistance technique, ainsi que du conseil ou de « l’infogérance » (la SSII reprend la gestion de l’activité informatique en cas d’externalisation). Les développeurs exerçant au sein d’entreprises industrielles ou commerciales sont plus rares. Ils réalisent alors un travail de développement interne, le plus souvent spécialisé, en réponse à la spécificité du marché et des besoins de son employeur. 2 Le marché de l’emploi Sur quels postes débuter dans le métier ? Un passage obligé au sein d’une SSII ? Ce sont les principaux employeurs en PACA. La diversité des missions et des clients crée une opportunité de professionnalisation et d’expérience pour les jeunes diplômés, mais avec un rythme de travail souvent intense. Dans l’enquête nationale, les développeurs indiquent, dans 8 cas sur 10, travailler sur plusieurs projets et 2 presque toujours pour plusieurs clients simultanément. Ce rythme de travail, souvent intense, pourrait contribuer au turn-over observé et multiplie les opportunités d’emploi. Un premier emploi dépendant aussi de la qualification. Un débutant, formé à Bac +2 ou Bac +3, s’insérera au sein d’une équipe et y réalisera des tâches encadrées de programmation. Son évolution de carrière pourra s’envisager après environ 3 ans d’expérience, mais restera souvent limitée. Un ingénieur ou un candidat formé à Bac+5 peut envisager d’emblée un poste polyvalent et autonome. Concurrence pour intégrer les entreprises utilisatrices. Les grandes entreprises attirent souvent les profils les plus recherchés. Les conditions d’évolution de carrière ou de salaire peuvent être plus attractives qu’ailleurs. Plutôt rares en PACA, une concurrence rend difficile l’insertion des débutants au sein de ces entreprises, à moins qu’ils n’aient un niveau de qualification ou un profil très pointus. Et demain ? Jusqu’à présent, de bonnes perspectives de postes à pourvoir selon le Ministère du travail. Le métier de développeur est jeune. Au sein des SSII, seulement 3 % d’entre eux avaient 50 ans en 2006. Même si les développeurs embauchés au sein de l’industrie ou des activités financières révèlent une pyramide des âges plus élevée, le « papy boom » (départs massifs à la retraite des générations du baby boom) ne devrait pas concerner ce métier. Malgré la jeunesse des effectifs et selon le Ministère du travail, les perspectives globales de postes à pourvoir des techniciens et des ingénieurs de l’informatique sont fortes, portées par le développement et la diffusion des technologies. Elles concerneraient d’ici à 2015 plus de 25 % des effectifs, sous réserve des variations du contexte économique international. Les délocalisations ou externalisations « off shore » : une réalité d’aujourd’hui. Un facteur non négligeable et dont l’impact est incertain est celui des « délocalisations ». Plusieurs entreprises ont recours à une externalisation de travaux informatiques. Le métier de développeur, même s’il n’est pas le seul, est concerné. Mais pour nuancer ce propos : cette sous-traitance à l’étranger a augmenté nous dit le syndicat professionnel SYNTEC, mais elle concerne, selon l’enquête nationale, une minorité d’entreprises des activités informatiques (6 % en 2006) et plutôt celles de 100 salariés et plus (17 % d’entre elles). toutes les prestations ne sont pas délocalisables. Est concernée la partie de développement pure, qui relève plus de l’exécution. La proximité avec le client est importante pour l’adaptation ou le traitement de parties spécifiques ou très techniques, issues des dernières technologies par exemple. Réduire les délais de réalisation et pour cela adapter ses méthodes de travail. Que celle-ci se développe ou non, cette délocalisation crée une concurrence qui oblige les entreprises à ajuster leurs coûts et leurs délais. Mais plus qu’un changement de métier, c’est une adaptation en terme d’organisation qui devrait marquer les prochaines années. Si des délais de réalisation de plus en plus courts sont permis par la rapidité croissante des ordinateurs, une modification de la façon de travailler génère aussi des gains de temps. Par exemple, faire plus d’architecture (en articulant des programmes pré-écrits comme des briques) et moins de programmation. Autre exemple : mettre en place de nouvelles conduites de projets comme l’« Extrême programming » : les équipes travaillent en intense collaboration (notamment en binômes changeants) et font preuve d’une forte réactivité en s’adaptant aux changements en continu. Les développeurs sont totalement polyvalents et peuvent intervenir sur n’importe quelle partie du développement. Une montée en exigence pour la qualification des développeurs. Une hypothèse est que les développeurs informatiques « purs », ou centrés sur le développement algorithmique, soient amenés à disparaître. Après la fonte des effectifs de programmeurs au profit des emplois d’analystes et d’analystes-programmeurs de la fin des années 1990, la demande de développement non externalisée va cibler des profils à nouveau plus exigeants de professionnels : des développeurs à la fois polyvalents et « concepteurs architecte » ou intégrateurs apportant une expertise technique aux équipes de production et aux utilisateurs ou intégrateurs. La complexité et le foisonnement des technologies comme la part croissante de logiciels vont influencer les besoins croissants en intégrateurs. La poursuite de la montée en exigence des clients, obligeant à être à la fois plus réactif et plus rigoureux, va dans le même sens. Et cette poussée des exigences risque de s’accroître dans un contexte de crise économique. 3 3 Evoluer Je veux évoluer dans le métier ou dans le secteur professionnel. Selon le Ministère du travail, les « vrais » changements de métier observés sur le plan national sont rares. Lorsque ces professionnels changent de métier, ils restent au sein de la famille des métiers de l’informatique. Si le métier doit s’adapter à de constantes évolutions dans les technologies et les méthodes, cela ne se traduit pas toujours par des temps de formation effectifs, ou alors des temps de formation courts. Ces derniers répondent à un besoin immédiat des entreprises, qui ont du mal à anticiper les besoins et se doivent d’être très réactives pour obtenir certains marchés. Beaucoup de professionnels évoquent une veille personnelle et une « autoformation » pour une remise à niveau permanente. L’enquête nationale de l’OPIIEC met en évidence des diplômes acquis quasi toujours en formation initiale et non en cours d’emploi. La Validation des acquis d’expérience est rare (1 % des Développeurs exerçant "en SSII"). Trois types de mobilités sont constatés : une évolution en interne, cas de figure plus facile lorsque le développeur est au sein d’une grande entreprise, et pour les développeurs travaillant au sein d’une SSII ; un départ vers une autre entreprise du même secteur. Selon l’enquête nationale, dans la moitié des cas, ils partent pour devenir chef de projet ; un départ vers une entreprise utilisatrice. Selon l’enquête nationale cela se constaterait, selon les entreprises, entre 3% et 11% des cas. Chef de projet MOE (maîtrise d’œuvre). Une évolution fréquemment souhaitée est celle « chef de projet ». Au sein des sociétés du secteur informatique, 7 % des développeurs informatiques sont chefs de projet. La fonction s’adresse en priorité aux plus diplômés : 65 % des chefs de projet ou des responsables ont un niveau d’étude Bac +5 ou plus. Architecte ou concepteur intégrateur. Il participe au choix des différents composants logiciels qui interviendront dans la solution technique, s’assure de leur cohérence et en réalise l’assemblage. Pour tenir cette fonction, il doit avoir une bonne vision de l’architecture technique du système d’information et une large connaissance des composants logiciels existants. Dans une grande entreprise, l’intégrateur d’exploitation ou de production, « intègrera » dans l’environnement final la solution logicielle livrée par le concepteur intégrateur. Exercer en indépendant : Il est possible pour un développeur informatique de travailler en tant qu’indépendant. Selon l’enquête nationale, 1 entreprise sur 10 du secteur informatique, et cela quelle que soit sa taille, fait appel à un free lance pour effectuer des travaux correspondant au métier de développeur. La raison la plus fréquemment évoquée est le surcroît temporaire de travail. Mais cela peut aussi correspondre à un problème d’absence de qualification en interne. Cette fiche a été produite par l’ORM PACA 4