Non, cent fois non !!!!!!!!!!!!!!!
Ceci est un cri du coeur... je viens de lire un billet très récent de Fred Hardy sur son blog mageekbox, lequel billet est une réflexion (amère oserais-je préciser) sur l'état du "marché" du développement. Une fois n'est pas coutume, je suis d'accord avec un certain nombre de constats de Frédéric, mais pas avec leur interprétation. Je reviendrai peut-être sur ces divergences ultérieurement, mais d'abord, je voudrais m'insurger contre cette idée parfaitement farfelue qui apparaît à plusieurs reprises dans les nombreux commentaires de ce billet : l'évolution normale, logique et surtout valorisante du statut de développeur serait celui de chef de projet.
Quelle aberration ! De ce que j'ai lu dans les commentaires, il semblerait que l'on fourre cette idée saugrenue dans la tête des futurs développeurs dès leur apprentissage... ceci expliquerait cela.
Ca fait des années (moi aussi je suis vieux ;)) que je m'interroge sur le fait que des développeurs qui ont encore du lait sur le clavier (2-3 ans d'expérience) proclame et même réclame la responsabilité de chef de projet. Je ne comprenais pas bien d'où leur venait cette idée absurde qu'il leur fallait accumuler de l'expérience sur un métier pour prétendre ensuite à en exercer un autre ! Comme si un serveur de restaurant devait naturellement devenir cuisinier. Non pas qu'il ne le puisse pas, mais simplement son expérience, même si elle est dans un domaine proche, n'a rigoureusement rien à voir.
Car la réalité est celle-ci : un chef de projet, ce n'est pas un développeur qui a réussi, mais au contraire, souvent, un développeur qui a échoué. Soit il s'est trompé en démarrant dans le développement (il n'était pas fait pour ce métier), soit il n'est pas parvenu à exercer convenablement ce métier (et donc il n'était définitivement pas fait pour). Et la confusion vient peut-être du fait que certains chefs de projet ont tendance à penser qu'ils sont également chefs des développeurs, en leur imposant des délais en dépit du bon sens, en faisant preuve d'une autorité artificielle et mal à propos, là où au contraire, ils devraient être à l'écoute et au service des développeurs pour maximiser les chances de succès des projets dont ils ont la responsabilité.
Un développeur produit du code. C'est le fondamental. Le corollaire, c'est qu'il conçoit des applications. Quand il est bon. Et ça, c'est être architecte. Et c'est ça l'aboutissement d'une carrière de développeur. En aucun cas chef de projet. D'autres possibilités s'offrent aux développeurs, comme consultant, formateur ou encore expert technique. Mais toujours pas chef de projet !
Pour résumer la situation, passer du développement à la gestion de projet, c'est une reconversion professionnelle. Rien d'autre. Ces deux métiers n'ont rien en commun, si ce n'est qu'ils évoluent en symbiose, l'un ayant besoin de l'autre. Mais les qualités requises pour exercer l'un et l'autre sont très différentes.
Un développeur doit avoir des qualités d'abstraction, de concentration, de conception, de persévérance et de compréhension technique là où l'on attend d'un chef de projet qu'il soit parfaitement organisé, capable de communiquer tant avec un client qu'un développeur (c'est leur seul lien !) et de suivre méthodiquement l'évolution d'un projet pour s'assurer qu'elle concorde d'une part avec la planification et d'autre part avec les contraintes dictées soit par le métier, soit par le client, selon les circonstances.
Les développeurs doivent s'ôter de la tête que leur salut passe par l'abandon de la technique (chef de projet, c'est un job du côté management de la force, pas du côté technique) - ou alors, je le répète, c'est qu'ils se sont fourvoyés.
Pour finir, un mot sur les fantasmes salariaux... une société qui paierait à prix d'or un chef de projet et négligerait ses développeurs fait une grosse erreur. Il est beaucoup plus difficile de trouver sur le marché un développeur compétent (fut-il spécialisé sur tel ou tel framework plutôt que globalement expert sur un langage, ping @mageekguy ;)) qu'un chef de projet. D'ailleurs, certaines statistiques démontrent que développeurs et chefs de projet, pour une expérience identique, ont des salaires très similaires, et même à l'avantage du développeur au-delà d'une certaine expérience (d'après une étude du cabinet Hayes et de Cadremploi citée dans un numéro récent du magazine Programmez).
Je jette donc un pavé dans la marre : un développeur mal payé, c'est sans doute qu'il s'est mal vendu (par exemple au mauvais employeur), ou alors qu'il se surestime (désolé de rappeler que l'on est pas développeur senior après 3 ans d'expérience !). Le développement est un métier difficile, qui requiert de nombreuses qualités et beaucoup d'expérience, et quand les deux sont réunis, le profil a de la valeur sur le marché, beaucoup de valeur.
Si vous aimez la technique, poursuivez dans cette voie, les entreprises ont besoin de vous ! En cela je rejoins Frédéric, les bons profils de développeurs se raréfient, et pas parce que certains se sont spécialisés des frameworks, mais parce que trop renoncent ou changent de carrières pour s'orienter, souvent beaucoup trop tôt dans leur carrière, vers le management.
27 commentaires:
J'aime bien ton point de vue sur le dév qui a raté sa carrière et qui devient CdP, cela rejoint le principe de Peter qui conduit les plus mauvais à s'élever à leur meilleur niveau d'incompétence, et le corollaire de Dilbert qui précise qu'on place les plus mauvais là ou sont censé faire le moins de dégats : l'encadrement. :-P
Totalement d'accord avec toi et en même temps l'évolution de carrière "développeur" vers "chef de projet" est une absurde réalité dans toutes les petites/moyennes SSII où j'ai officié. C'est complètement débile et cela représente dans 99% des cas un saut quantique dans le principe de Peter. On transforme ainsi de bons développeurs qui commencent à peine à avoir l'expérience suffisante pour bosser proprement, en chefs de projet aussi malheureux que calamiteux passant leur temps à tromper leur frustration en (re)codant en cachette les projets qu'ils sont sensés gérer. J'en ai maintes fois discuté avec les RH que j'ai croisé et définitivement il y a un vide mental sur le concept même de "développeur senior"... payé en conséquence. C'est aussi très représentatif de l'image même du développeur dans le monde d'ingénieur des SSII. Pour faire simple tous des "pisseurs de code".
Comme tu le dis, l'évolution naturelle de développeur c'est architecte. Mais là aussi généralement ce rôle n'existe pas dans les SSII de taille moyennes. Le "bon" développeur se retrouve donc proposé tacitement un rôle bâtard d'architecte-chef de projet assorti de la pénible tâche de debuggage du code pondu par des juniors qui n'ont encore rien vu et rien appris (mais qui sont persuadés de tout connaître ;-)
Généralement la seule voie d'issue est soit de passer chez un éditeur qui valorise encore l'expérience (au moins sur leur produit ;-), ou plus logiquement de passer en freelance/indépendant pour commencer à proposer à leur juste prix des services de développement senior.
D'ailleurs petit détail révélateur, alors que je vends parfaitement ce type de prestation à mes clients à un tarif de chef de projet SSII, lorsque je propose ces mêmes tarifs à des SSII qui voudraient que je bosse avec elles, la réponse est invariable "purée, mais c'est cher juste pour de dev"...
PS: Je sais que tu n'aimes pas les CMS mais c'est assez pénible Blogger pour commenter, çà fait 4 essais et cela ne passe toujours pas...
En te lisant, j'ai eu l'impression de lire un texte que j'aurais pu écrire.
Pour moi, la clé de voute de tout ça, c'est de penser que le chef de projet est de le chef des développeurs.
Tant que nous serons dans cet état d'esprit, les développeurs continuerons à penser que le chef de projet est l'évolution du développeur (on tends tous à évoluer vers le poste de son responsable).
Si les organisations où le chef de projet est le collaborateur des développeurs, et que ces derniers sont organisés, soit en équipe intelligente, soit avec un lead dev, alors nous pourrons changer la manière de penser.
@Bob et oui, malheureusement, l'éviction par le haut sévit partout :)
@Yoran il est vrai que ce sentiment que le développeur n'a aucune perspective d'évolution est particulièrement vraie dans les SSII ; j'ajouterai que cette situation est encore plus prégnante dans le domaine de PHP. Mais les choses évoluent. Pour ma part, les devs sont aussi respectés que les CDP, voire mieux payés (chez nous)
@Mickaël oui, la présence d'un lead développeur "à forte personnalité" permet souvent de rééquilibrer un peu les choses. Comme me l'a signalé Fred Hardy par mail, et il a eu raison de souligner que j'avais omis de le préciser, mais la mise en oeuvre de la méthodologie Scrum permet également de remettre les choses à leur place, et de mettre fin à cette situation contre-nature dans laquelle le chef de projet a autorité sur les développeurs.
@Yoran j'oubliais :) effectivement, les CMS ne sont pas de mon goût, ce n'est pas un secret :) Toutefois, pour un blog, je n'y vois absolument aucune objection. Dans mon cas... disons que j'avais créé ce compte Blogger de façon temporaire, le temps de trouver une autre plateforme et puis... tu sais comme sont les choses temporaires :) Souvent pérennes !
Je pense aussi que à force de côtoyer des CP médiocres on en arrive à penser que l'on ne peut que faire mieux (ou pas pire) et du coup ironiquement l'on boucle la boucle.
J'ai dû passer freelance pour continuer à exercer mon métier de développeur, sans quoi tout le monde dit que le chemin "naturel" est chef de projet. Ensuite, il faut clairement différencier le métier de CP fonctionnel et CP technique. Mais le CP technique tend toujours vers le CP fonctionnel avec le temps...
Je me suis permis de citer votre article sur le site
http://fierdetredeveloppeur.org/2012/07/06/garder-ses-dveloppeurs-en-interne/
Cette initiative va dans le sens de la promotion du métier de développeur, comme vous le faites fort justement remarquer.
Daniel COHEN-ZARDI
Président du mouvement associatif "Fier d'Être Développeur"
Pas de souci pour le lien au contraire ! Si ce post peut aider des développeurs à prendre de meilleures décisions dans leurs choix de carrière, tant mieux !
Cette idée reçue semble être bien ancrée dans la tête des plus jeunes aussi.
J'étais récemment membre de jury d'une école d'ingénieurs spécialisée en informatique ; quand on demande aux candidats comment ils se représentent leur futur métier, c'est l'ingénieur manager, le chef de projets qui revient en permanence. Écrire du code ? Oui, au début il faudra bien. Les qualités de l'ingénieur ? Communication, organisation... en un mot, celles citées dans cet article ; rarement il est question d'expertise technique, d'esprit d'abstraction et de synthèse. Bref, il y a encore du travail pour faire comprendre qu'on peut avoir une vraie et longue carrière de développeur.
Dans la boite ou je suis tout le monde est chef de projet et tout le monde fait surtout du dev (la gestion de projet étant proche de zéro au niveau de la direction). Le souci est aussi les RH et leurs grilles de salaires : Un CDP est moins limité qu'un dev (qui est foutu après 35 ans)...
J'ai une formation de base d'entraineur sportif, puis les circonstances ont fait que j'ai basculé vers le dev. Je suis un bon dev, pas un cador apres vingt ans et puis j'ai tjrs le point de vue d'entraineur. Du coup je fais des pieds et des mains depuis dix ans pour passer CP ou je sais que je serais bon (j'ai la formation d'entrinauer cela vaut toutes les formations de CP) mais pas moyen, car je ne suis pas ingé info. Alors que ingé c'est technique, pas manager (entrineur) et tous ces ingé a qui on force plus ou moins la mains sont malheureux et font boulette sur boulette, et tous les projets merdent ....
L'entrineur, le CP n'est pas sur le terrain et tous les ex-joueurs ne sont pas entraineurs. C pareil pour les CP, qquns sont bons, la plupart mauvais.
Les formations CP ne servent a rien pour l'essentiel. Un bon CP doit avoir des bases solides en socio, psycho, anthropo, plus compta. Les gars qui font des ecole de commerce sont encore pire, c juste des comptables des financiers.
Faut pas s'étonner que ce soit la cata partout dans les entreprises. Les mauvaises personnes aux mauvais postes. Les drh font quoi? Ben y suivent la doxa. Ce cercle vicieux est la cause 1ere de la faillite globale des entreprises.
Qd au prix des jours CP au double des jours DEV c tellement stupide, mais tellement bon en $$$ ....
"passer du développement à la gestion de projet, c'est une reconversion professionnelle".
+1. Perso, je dis souvent que, contrairement à ce que mon discours peut laisser transparaître, je crois au management en général. Ce à quoi je ne crois pas, c'est le micromanagement (un manager pour moins de ~15/20 personnes, et encore). Le fait est que le micromanagement et la réunionite sont devenus légion, et noient dans la masse les vrais bons managers qui eux restent totalement utiles.
Je pense aussi qu'il faut prendre garde à ne pas utiliser le terme "chef de projet". C'est une mauvaise traduction. Project Manager = Gestionnaire de projet.
Si on recadre la sémantique associée, peut-être que plus de gens comprendront que ce n'est pas un métier mieux, mais juste un autre métier, un autre cursus (et oui, dans lequel on peut aussi être très bon et utile).
Etre "chef", ça sert à rien à une entreprise, ça sert juste à l'ego de celui qui est chef. Un gestionnaire, un "manager", par contre, c'est indispensable. Par contre, il n'en faut pas trop, sinon on retombe dans une guerre de chapelles, avec pleins de petits chefs qui n'ont pas beaucoup de pouvoir, mais en ont juste suffisamment pour lutter les uns contre les autres).
@batmat tout ceci est fort bien dit ; tu as parfaitement raison de souligner cette traduction approximative qui nous conduit à employer à mauvais escient le terme de chef, la où gestionnaire est préférable, et même mieux encore, j'emploie plus couramment la terminologie de responsable de projet.
À ce propos, je souligne souvent qu'une hiérarchie saine confère plus de responsabilité et non pas d'autorité aux échelons supérieurs de l'organigramme. L'autorité doit exister, mais elle doit être naturelle, découler du respect, au moins du point de vue professionnel, de celui qui l'exerce par ceux qui la reçoive. L'autorité illégitime acquise artificiellement uniquement du fait d'une nomination est extrêmement malsaine pour l'équipe. Mais ceci fera probablement l'objet d'un prochain billet car le sujet de l'autorité et de la hiérarchie en entreprise le mérite je pense ;)
Il y a aussi un énorme problème de formation! Les "grandes écoles" se veulent généralistes (je trouve ça très bien) et on y apprends les bases de l'informatique; souvent de manière très larges (théorie des langages, algorithmie, réseaux, OS, développement, ...).
Bref, le développement n'est qu'une petite partie du parcourt et surtout, l'apprentissage est relativement long puisqu'il y a tout à apprendre.
A la sortie des écoles, on se retrouve souvent dans une société qui nous met sur un sujet très pointu (où on doit tout apprendre), avec beaucoup d'outils (gestionnaire de sources, intégration continue, librairies, frameworks...). Bref, toute la panoplie pour perdre n'importe qui, d'autant plus qu'aucune formation (ou coaching) n'est mis en place et que l'on doit être productif dès la première semaine!
Etant jeune développeur, je me demande bien comment acquérir l'expérience et les bonnes pratiques en matière de développement. Alors oui, blogs, conférences, tutoriels, livres... Le choix est large. Beaucoup trop d'ailleurs!!! Et surtout, tout est fait sur le temps libre. Pour ma part ça me plait et donc je le fais, mais je ne m'étonne pas qu'une majorité ne s'en préoccupent pas et restent à un niveau relativement bas.
Ces discussions (rôle du dev/avenir du dev) semblent fleurir sur la toile ces temps ci et la question que je me pose réellement est : si tous les dev se barrent ailleurs, c'est pas aussi que ça demande beaucoup trop de temps pour se former sachant que c'est systématiquement en plus du travail ? A 35/40 ans, avec une femme et des gosses, les priorités sont ailleurs et c'est bien normal!
D'accord avec @batmat sur l'emploi du vocabulaire "Chef de projet" qui ne veut rien dire. Pas forcément avec Gauthier sur la responsabilité : elle va de pair avec l'autorité, simplement parce que tu ne peux pas être responsable de choses qui ne dépendent pas de toi.
Je vais encore plus loin : dans une équipe fonctionnelle, le "manager" n'a pas plus d'autorité ni plus de responsabilités que les développeurs. Le manager sert à organiser la communication entre l'équipe de développement et le client / les métiers / la hiérarchie (en fonction du projet).
Dans une équipe de développement, celui qui doit assumer la responsabilité en cas d'échec, c'est l'architecte (s'il y en a un, sinon dans de petites équipes directement les développeurs). C'est lui qui doit être responsable du design et de la qualité, de bout en bout. Ça sous-entend au passage que c'est lui qui valide ou non la faisabilité des exigences fonctionnelles dans les délais.
Évidemment ça sous-entend une organisation différente de celle qu'on voit en France. Évidemment ça sous-entend aussi que les développeurs ne soient pas prestataires. Ça mène à un modèle à l'américaine où les développeurs sont payés plus que les PM, sont moins nombreux et plus indépendants.
Et vous savez quoi ? Ça marche juste mieux. Et tant que la majorité des boites françaises se leureront en pensant qu'un senior se paie sous les 40k, leur compétitivité s'en ressentira. D'autant plus que j'ai l'impression que les développeurs français se rendent de plus en plus compte qu'on les a pris pour des pigeons et se regroupent en petites structures ou deviennent indépendants...
Dans l'administration, quand on est dev on est technicien, si par voie de concours ou de promotion on passe à la catégorie supérieure (ingénieur), automatiquement on ne fait plus de dev, c'est un principe gravé dans le marbre.
Et malgré moi, en dépit des promesses, cela a été mon cas... Pour "tricher", j'ai du m'orienter vers des postes de responsables administration réseaux et systèmes qui offrent encore la possibilité de faire du technique...
un développeur mal payé, c'est sans doute qu'il s'est mal vendu (par exemple au mauvais employeur)
Je dirais surtout que l'employeur peut jouer la carte de la séduction tel un politicien près à emmancher un maximum insurgeant une orgie de dossier et un salaire de misère....
J'ai 47 ans, et je suis content de déclarer qu'après une carrière de chef de projet et de directeur technique, j'ai enfin réussi à devenir développeur. A aimer ce métier, à essayer de m'améliorer et non à courir après une promotion qui n'en est pas forcément une, sauf en terme de salaire... Et vive les méthodes agiles qui vont enfin nous débarrasser des chefs de projet et de tout un tas de pratiques et croyances inefficaces.
@loic : "Les "grandes écoles" se veulent généralistes (je trouve ça très bien)"
Moi non. Je n'ai jamais compris pendant mes études, et je ne comprends toujours pas aujourd'hui presque 10 ans après l'intérêt d'un ingénieur généraliste.
Personnellement, je travaille dans l'informatique. Si on cherche quelqu'un pour faire du développement, je ne réfléchirai pas 20 secondes pour choisir si je vais prendre quelqu'un qui a appris à faire de l'informatique (i.e. qui en a fait plusieurs milliers d'heure rien que pendant ses études), ou quelqu'un qui a vu ça pendant une dizaine d'heures...
Chez les artisans, on dit "moyen en tout, bon en rien". Je ne vois pas pourquoi les ingénieurs se voient différents de cette évidence.
Pour reprendre le proverbe, celui qui n'est plus développeur ne l'a jamais été.
Bravo pour cet article et vos commentaires. Pour moi, la suite logique d'une carrière de développeur est l'expert technique. Je connais peu de maçon qui sont devenu architecte. Par contre, j'en connaît plein capable de dire que l'architecte s'est trompé sans pour autant être capable de l'expliquer correctement. Et j'en connais pas mal qui sont devenu expert.
Je vous rassure, les RH maîtrisent parfaitement les différences entre la filière technique (DEV) et la filière projet. Cela ne fait nul doute que l’évolution de carrière naturelle d’un dev au sein de sa filière est l’architecture ou l’expertise.
Si l'on entend plutôt l'appellation "évolution professionnelle" que "reconversion" c'est sans doute par abus de langage. Probablement un travers RH qui vise à toujours à (sur)valoriser l’emploi cible.
La loi de l'offre et de la demande est en effet formelle : Un chef de projet est plus demandé qu'un développeur. Mais ne vous y trompez pas… Un CdP est aussi plus demandé qu’un conseiller téléphonique, qu’un technicien, qu’un administrateur, etc. Alors ? Chef de projet, aboutissement de carrière pour tous ?
OUI. Quoi de mieux pour une entreprise qu’une appellation générique de type « chef de projet » ? Une coquille vide à l’appellation plus flatteuse qu’ « employé polyvalent ». Elle permet une flexibilité maximale. A la recherche de cette adaptabilité permanente, le CdP sera tour à tour Architecte ou Ingénieur Développement, au projet suivant il sera Data Miner ou Admin Base de Données. Mélange des genres organisé. Au prix d’une confusion des intéressés tout est possible derrière cet écran de fumée.
Valorisant ? Oui pour quelqu’un qui mesure sa réussite pro à son salaire. En effet la flexibilité paye à court terme… vos valeur sont visiblement ailleurs et je partage votre analyse: aberrant.
En lisant l'article, je me rend compte que je me suis "fait avoir".
En effet, j'ai toujours pensé jusqu'à récemment qu'on passait de dev à CdP. Mais depuis, j'ai rencontré des architectes dans une boite où le distingo se faisait bien.
Je pense par contre qu'il faut une connaissance technique pour être CdP. Et, si on ne l'a pas, penser à consulter les développeurs avant de faire des promesses :)
Je rencontre trop souvent des CdP qui ne savent pas faire cette simple chose vu que je change souvent d'équipe (SSII oblige).
Par contre, maintenant je sais qu'il faut que je parle de reconversion quand je parle de mon souhait de devenir CdP. Car oui, je suis dev, mais je ne compte pas passer ma vie à coder. J'aime ça mais je préfère de loin la relation entre client et l'équipe de dev.
Bon et mon envie de "changer le monde" aussi étant donné que j'ai trop souvent vu des CdP incompétents alors que faire les choses bien me paraissait si simple et naturel.
Me serais-je donc trompé de voie ? :)
Merci pour ce billet en tout cas !
Le chef de projet obtient respect et salaire, le développeur le mépris.
Normal que tant de monde veut passer CDP.
Et je suis d'accord que CDP et Deve ce n'est pas le même métier.
Et si le développeur est mal payé, ce n'est pas qu'il s'est mal vendu, c'est parceque dans la tête des RH, développeur c'est le plus bas de l'échelle en informatique, et par conséquent doit avoir les plus bas des salaires possibles.
Enregistrer un commentaire