Panorama simplifié des métiers de l’informatique
Fabian Piau | vendredi 6 septembre 2013 - 19:40Si Internet et son usage sont aujourd’hui bien ancrés dans notre quotidien (faire des recherches sur un sujet, envoyer un email, regarder la météo, faire des achats en ligne, utiliser les réseaux sociaux…), toutes les professions qui se cachent derrière sont souvent inconnues ou mal comprises du grand public (à part pour cette mamie peut-être…).
En France, en Belgique et surement dans beaucoup d’autres pays, on constate qu’il y a très peu de communication sur les métiers de l’informatique. Regardez cette vidéo pour vous en rendre compte. Pour moi qui suis dans l’informatique depuis des années, cela me fait rire au premier abord, mais je trouve cela un peu dommage ce manque de sensibilisation.
Si vous me lisez depuis quelque temps, vous devez être conscient que la majorité de mes articles est orientée technique. Ce blog s’adresse donc à un public assez restreint, mes articles sont souvent difficiles à comprendre ou tout simplement inintéressants pour la plupart des internautes.
En consultant le site de l’APEC, on trouve une liste des métiers de l’informatique. Toutes ces fiches métier sont plutôt bien réalisées, cela représente plus de 40 professions différentes. Pas facile de se repérer et trouver celui qui vous correspondra le mieux…
Faisons donc un tour des métiers informatiques qui existent d’une manière simple et pragmatique. Normalement, vous ne trouverez pas de jargon informatique (en tout cas, j’ai essayé de faire de mon mieux) et je vais me limiter aux métiers les plus courants.
Les métiers fondateurs
Le Développeur
Aussi appelé programmeur. Sans lui, pas de logiciel, c’est lui qui fabrique les éléments essentiels du produit! Il développe, il programme, il écrit du code à l’aide d’un langage de programmation. Il utilise les mots-clés définis par le langage (souvent en anglais) pour construire des phrases (on parle d’instruction ou ligne de code) qui formeront le code source qui sera ensuite traduit et interprété par la machine (ordinateur).
Un développeur est spécialisé sur un ou quelques langages, mais il peut potentiellement s’adapter à d’autres, car la logique est souvent similaire et il doit savoir s’adapter. Le développeur n’écrit donc pas de 0 ou de 1 (le langage binaire), ce dernier est généré par l’ordinateur automatiquement.
N’est pas développeur qui veut! Un bon développeur n’écrit pas bêtement du code, il doit comprendre et maitriser de nombreux concepts sous-jacents (gestion de la mémoire, de la performance, algorithmique…) et avoir certaines qualités (communication, autonomie, logique, esprit de synthèse…).
Au risque d’en décevoir certains, l’image d’un geek barbu dopé au café, portant des lunettes rafistolées, travaillant exclusivement entre minuit et 6h du matin, patchant régulièrement son noyau Linux… (Ouf je m’égare là) n’est pas applicable pour bon nombre d’entre eux. La photo à droite est bel et bien truquée, en tout cas espérons-le!
L’Architecte
C’est un développeur expérimenté. Il façonne le logiciel en en décidant les bases. Par exemple, il préconise ou choisit:
- Le langage de programmation à utiliser pour le logiciel. Un langage Web? Un langage plutôt orienté pour faire des calculs mathématiques? Il y a des centaines de langages de programmation qui existent. Le choix de l’architecte est aussi influencé par tout l’écosystème gravitant autour du langage (communauté active, nombre d’outils existants).
- Les outils pour aider dans le développement (car il est rare de réinventer la roue).
- Les normes à respecter lors du développement.
- La structure du projet. Un logiciel est rarement un bloc monolithique, il est souvent constitué de plusieurs modules qui communiquent entre eux. Par exemple, un module pour l’affichage des écrans, un module pour gérer l’enregistrement des informations, etc.
Il peut faire l’audit d’un logiciel existant et apporter ses préconisations en cas d’évolution (nouvelle fonctionnalité, refonte technique…).
L’architecte a une vision globale du produit et peut servir de support aux développeurs en répondant à leurs interrogations et en les conseillant.
Encore plus que le développeur, il est crucial pour lui de se tenir informer des nouvelles technologies. Une veille technologique est indispensable, c’est un passionné.
Le Designer
Si l’architecte et le développeur conçoivent et fabriquent le produit, le designer lui donne un look visuel, un visage. C’est lui qui établit la charte graphique:
- Utilisation de telle palette de couleurs.
- Utilisation de telle police de caractères.
- Graphisme (logo, images…).
- Organisation des écrans dans le logiciel (emplacement des boutons, blocs de texte, images, etc.)
Il peut aussi participer à l’ergonomie du produit (succession des écrans, accessibilité, aide, etc.). Un logiciel très design et joli peut être un cauchemar à utiliser.
Ergonome peut aussi être un métier à part entière. Un ergonome dédié sera présent plutôt sur les gros projets où vous aurez plusieurs milliers d’utilisateurs. L’ergonome interviendra de manière occasionnelle et aura plusieurs projets en parallèle pour l’occuper à plein temps.
Le Testeur
Aussi appelé recetteur (on le nomme ainsi, car il intervient pendant la phase de recette qui débute quand la phase de développement s’achève ou est bien avancée, rien à voir avec la cuisine!). Comme son nom l’indique, il s’occupe de tester le logiciel.
Il écrit des scénarios de test, les exécute pour essayer de trouver tous les bogues. Le testeur rapporte tous les bogues à l’équipe de développement qui s’occupera de les corriger. Il testera à nouveau pour s’assurer que le bogue est bien corrigé. Il agit comme un rempart contre la régression (une fonctionnalité qui marchait dans la version N et qui ne marche plus dans la version N+1) afin que le logiciel ait une qualité suffisante pour être livré au client.
Ce métier existe pour les gros projets où le risque est très important, par exemple une application bancaire ou un logiciel embarqué d’une navette spatiale. Si l’application de gestion de la boulangerie de Trifouilly-les-Oies se met à dysfonctionner, ce ne sera pas trop grave, alors que si toutes les transactions d’une banque sont rejetées ou si un avion crashe, ce sera tout de suite plus embêtant. Pour les applications de gestion plus traditionnelle, ce sont donc généralement les développeurs qui s’occupent de tester.
L’avantage du testeur est qu’il n’a pas besoin d’être technique, il doit seulement connaitre le côté fonctionnel du projet.
Le Responsable d’Exploitation
Si le développeur, l’architecte et le designer façonnent le produit, le responsable d’exploitation s’occupe de le mettre à disposition des utilisateurs. Dans le jargon, on dit qu’il déploie le logiciel ou l’application en production. Le responsable d’exploitation s’assure que des procédures de mise en production existent et sont à jour, il prévoit la possibilité de revenir à la version précédente en cas de problème. Il monitore les applications pour s’assurer qu’elles soient disponibles et respectent bien les clauses fixées dans le contrat.
Ce rôle pourrait être amené à évoluer dans le futur depuis l’émergence d’un nouveau courant appelé « DevOps » (concaténation de « development » et « operations ») où le développeur prend en charge une partie de l’exploitation. De plus, dans le passé on mettait en production quelques fois par an, maintenant il n’est pas rare de mettre en production plusieurs fois par semaine voire jour grâce à des procédures automatisées (voir modèle agile plus loin).
Ingénieur Réseau et Infrastructure
L’ingénieur Réseau et Infrastructure a plusieurs rôles:
- S’assurer du bon fonctionnement du réseau au sein de l’entreprise. Un réseau qui tombe pendant 15 minutes peut représenter des pertes sèches importantes pour l’entreprise.
- Permettre l’accès aux outils pour les nouveaux employés (création des identifiants, installation et configuration des postes).
- Gérer et maintenir le parc informatique du site (inventaire et maintenance des serveurs, ordinateurs, câbles, sièges, projecteurs, disques durs, mise en place des backups, etc.).
Il ne s’agit pas toujours de la même personne qui s’occupe à la fois du réseau et de l’infrastructure. Cela dépendra de la taille de l’entreprise.
Les métiers spécialisés
Pour les plus gros projets, je dois parler de deux métiers plus spécialisés où la personne est souvent qualifiée d’expert technique. Ne pas parler technique pour les décrire est un peu ardu, mais je vais essayer.
L’Administrateur de Base de Données
Aussi appelé DBA (DataBase Administrator). Un logiciel gère des informations, lorsque vous utilisez le logiciel de nouveau, vous retrouvez ces informations selon l’état où vous les aviez laissées. Toutes ces données sont conservées quelque part, cela s’appelle une base de données.
Si le projet est très grand avec des centaines de données différentes, un administrateur dédié sera nécessaire pour s’assurer du bon maintien de la qualité et de la disponibilité des données. Il intervient sur:
- La structure des données (une adresse postale ne se stocke pas de la même façon qu’une date);
- La cohérence du stockage (respect des normes, pas de duplication de données);
- L’accessibilité de la base (backups, solutions de redondance);
- Etc.
L’Administrateur Sécurité
Si l’application est accessible sur internet, par plusieurs utilisateurs simultanément et contient des données sensibles, il est indispensable d’avoir un bon niveau de sécurité. Je dis « bon », car un système infaillible n’existe pas.
Régulièrement, on voit des grands sites qui se font hacker. Il y aura toujours des failles, mais l’expert en sécurité pourra améliorer la protection et dissuader une bonne partie des hackers.
Cela passe par des bonnes pratiques comme le chiffrage des mots de passe dans la base de données, la mise à jour des outils utilisés suite à des découvertes de faille, etc.
Son rôle peut se généraliser à la sensibilisation des employés aux problèmes de sécurité, à la mise en place d’une stratégie de sauvegarde des données…
Les métiers de gestion
Le Chef de Projet
Ce terme est très générique et s’adapte à tous les secteurs. Nous trouvons donc aussi des chefs de projet dans l’informatique. Contrairement aux fonctions précédentes, c’est une position managériale donc non technique. Le chef de projet pilote le projet informatique dans sa globalité.
- Il est en relation avec le client et s’occupe de comprendre ses besoins, pour cela il rédige des spécifications qui seront utilisées par les développeurs.
- Il gère toute la planification du projet en s’assurant que cela ne dépasse pas le budget ou les délais.
- Il communique des indicateurs à sa direction et lève des alertes en cas de problème.
- Il fait le tampon entre le client, les équipes de développement et la direction en centralisant la communication.
- Il réalise le manuel d’utilisation de l’application et peut donner des formations aux utilisateurs pour les aider à utiliser le logiciel livré.
- Suivant l’impact du logiciel, il peut aussi faire de la conduite de changement. Dans le cas d’un remplacement d’un logiciel existant utilisé pendant des années, elle sera sans doute nécessaire.
- Il peut aussi avoir des fonctions commerciales en participant à des réponses à appels d’offres.
Certains chefs de projet sont techniques (un ancien développeur par exemple), certains ne le sont pas du tout (côté fonctionnel et business uniquement). Bien souvent, le développeur préfèrera un chef de projet technique, car il comprendra plus facilement si telle ou telle fonctionnalité est simple à réaliser ou non. En effet, sa traduction du fonctionnel vers le technique sera plus réaliste pour les estimations de charge.
Il y a différents types de chef de projet (Assistant chef de projet, Chef de projet mono-projet, Chef de projet multi-projet, Directeur de projets… et même Chef de projet technique) correspondant à des niveaux de responsabilité différents où le nombre de projets et d’équipes à gérer augmente.
En informatique, vous retrouvez aussi:
- Le commercial qui va permettre de ramener des affaires et gagner de nouveaux projets en s’appuyant sur son réseau de relations.
- Tous les métiers liés aux ressources humaines.
Je ne les aborde pas en détail, car ils sont bien connus et communs à beaucoup de secteurs.
Les métiers en informatique ne sont pas délimités
Il y a beaucoup d’appellations qui englobent plusieurs métiers. Par exemple, l’ingénieur d’études et développement est souvent pluridisciplinaire avec les casquettes de développeur, de testeur, d’analyste, d’administrateur de base de données… L’analyste-développeur, le consultant sont aussi des titres un peu fourre-tout.
Un ingénieur infrastructure et réseau peut prendre des responsabilités dans la sécurité informatique. Les frontières sont souvent très floues entre les différents métiers.
Pire encore est le métier d’ingénieur informaticien, on peut mettre ce que l’on veut derrière. Tout juste me fait-il penser à Michel, attention âmes sensibles s’abstenir!
Vous aurez compris qu’il est très rare de se cantonner à une seule facette d’une fonction. Pourquoi? Tout simplement, car cela dépend de la taille du projet et de son budget. Un petit projet avec un petit budget n’aura pas forcément besoin d’un designer dédié, d’un testeur dédié et un développeur pourra faire l’affaire en utilisant des outils existants pour l’aider à créer quelque chose de design et testé. Moi-même, je suis plus orienté développement, mais aux dernières nouvelles, mon blog n’est pas horrible visuellement (enfin j’espère).
Pour un projet, il est donc très commun d’avoir une équipe composée d’un chef de projet et de quelques développeurs.
Les métiers du Web
Pour les logiciels accessibles depuis un navigateur internet (on parle d’application web plutôt que de logiciel), on a l’habitude de préfixer les professions avec le mot-clé « Web ». Web developer, Web designer, Chef de projet Web (bon ok ça marche aussi en suffixe…). Le travail et la fonction sont les mêmes que pour les métiers fondateurs, seuls les technologies et outils seront différents.
On entend aussi souvent Webmaster qui est un terme qui ne veut pas dire grand-chose, mais en général c’est celui que l’on connait car il existe depuis l’avènement du Web. Normalement, il doit être utilisé pour désigner un administrateur de site (dans mon cas, je suis le Webmaster de ce blog).
L’explosion d’internet dans les années 2000 a fait apparaitre de nouveaux métiers informatiques. Voici deux métiers spécialisé Web:
Le Référenceur Web
Egalement appelé SEO (Search Engine Optimization) manager. Le but est de rendre un site visible sur Internet pour accroitre son nombre de visites. Le référenceur connait toutes les méthodes de référencement et d’analyse (aussi bien technique que marketing) pour que votre site remonte dans les premiers résultats sur les moteurs de recherche.
Autrement dit, si je cherche « Vol pas cher » sur Google, je veux que mon site « Ryanair » s’affiche dans les 5 premiers résultats. J’en aurai sûrement besoin d’un pour mon blog, alors si vous aimez cet article, n’hésitez pas à le partager sur les réseaux sociaux…
Le Community Manager
Ce métier a vu le jour avec les réseaux sociaux (Facebook, Twitter, LinkedIn et compagnie). Il est donc très récent et se rapproche du marketing. Le CM gère des communautés pour véhiculer une bonne image de l’entreprise et/ou d’un produit.
Les moyens sont variés. Cela peut être l’animation d’une page Facebook, la gestion d’un compte Twitter, répondre aux questions des internautes sur les forums, etc. Son objectif est de fédérer les personnes et de favoriser leurs échanges.
Tout comme les technologies, les métiers de l’informatique sont en perpétuelle évolution. Vous avez maintenant une bonne idée des fonctions actuelles dans le logiciel. Je tiens à préciser métiers orientés logiciel, car je ne me suis pas focalisé sur le matériel qui n’est pas mon domaine.
Les métiers de l’agilité
En fait, la liste n’est pas complète. Il y a encore d’autres métiers, car si les technologies évoluent, les méthodes de travail aussi. Ainsi, depuis plusieurs années, nous assistons à l’adoption massive du modèle agile dans le monde de l’informatique.
Une explication s’impose pour comprendre ce dont il s’agit.
- Le modèle traditionnel (dit waterfall) correspond à une séquence de longues phases: spécification, développement, recette et livraison. Le client reçoit son logiciel à la fin du cycle complet.
- Le modèle agile permet d’avoir une succession de phases courtes (modèle itératif). En quelque sorte, un projet est constitué de mini-projets où un mini-projet peut être une fonctionnalité dans l’application. A fortiori vous avez des livraisons régulières et le client peut voir son logiciel s’enrichir au fur et à mesure des développements et apporter son feedback rapidement.
Avec le modèle agile, de nouveaux métiers sont apparus comme Coach agile, Scrum master, Product Owner. Le but de cet article était de décrire les métiers de « base » de l’informatique, je ne rentrerais donc pas dans le détail pour ces nouveaux métiers. Cela dit, ça peut être une idée de nouvel article, le panorama des métiers de l’agilité.
En attendant, j’espère que le monde de l’informatique est moins flou et que vous serez incollable sur le sujet en cas de micro-trottoir.
Commentaires récents