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