jeudi 5 juillet 2012

Chef de projet, aboutissement de la carrière d'un développeur ?

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) proclament et même réclament 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 développeur devenu 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.

43 commentaires:

Bob a dit…

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

Unknown a dit…

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, ça fait 3 essais...

Unknown a dit…

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...

Unknown a dit…

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.

Gauthier a dit…

@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.

Gauthier a dit…

@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 !

Unknown a dit…

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.

Jean-Luc a dit…

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...

Unknown a dit…

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"

Unknown a dit…
Ce commentaire a été supprimé par l'auteur.
Gauthier a dit…

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 !

Jean-Christophe Sirot a dit…

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.

pasmalin a dit…

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)...

Bsa a dit…

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 $$$ ....

Batmat a dit…

"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).

Gauthier a dit…

@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 ;)

loic a dit…

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!

Anonyme a dit…

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...

Unknown a dit…

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....

Unknown a dit…

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.

Batmat a dit…

@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.

djcrontab a dit…

Pour reprendre le proverbe, celui qui n'est plus développeur ne l'a jamais été.

Unknown a dit…

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.

Anonyme a dit…

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.

Unknown a dit…

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 !

teycir a dit…

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.

teycir a dit…

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.

Francois a dit…

Très juste.
Ces observations revêtent pour moi le caractère d'une révélation. Une révélation de choses qui semblent maintenant pourtant évidentes. Effectivement, en école d'ingé le discours était "vous allez pisser du code pendant 3 ans, et puis après vous passerez chef de projet." Et le fantasme du salaire vient du mot "chef" (en général un chef c'est mieux payé), et de l'aura et de l'importance qu'il semble revêtir.

Anonyme a dit…

Bonjour,

je rejoint cette pensée mais cela dit dans le marché actuel en france et plus precisement en ile de france on se retrouve trés souvent face a un employeur qui dit que le max pour un devellopeur c'est 40ke ave 3ans d'experience et si tu veux plus tu doit passer chef de projet. puis sa depend des parcours mais on est souvent entrain de faire de la production/debugging des produit qu'on as livré que des nouveaux devellopements du coup on as l'impression de tourner en rond. donc faut pas nous en vouloir si on veux passer chef de projet c'est par ce que qu'on croit qu'on peux faire mieux (pas toujours vraie) et aussi une question de salaire et d'evolution social. je pense qu'as force de faire du debbug on finira pas tous architect.... même si ont est passionée par le dev

KB a dit…

Je partage totalement ton point de vue. Malheureusement les idées reçues ont la vie dure et beaucoup ne pensent pas comme nous sur le marché du travail. Espérons que cela évolue ... dans le bon sens.

Gauthier a dit…

merci de vos derniers commentaires :)

@KB c'est pour ça qu'il faut renvoyer les chefs et autres directeurs vers cet article pour mieux négocier ;)

rebolon a dit…

N'est ce pas un problème franco-français ?
ça fait des années que les sociétés par lesquels je suis passé tente de me faire passer CP. J'ai même tenté l'expérience une fois, mais ça ne m'intéresse pas. Je préfère être le garant d'un produit qui marche.

On peut toutefois prendre d'autres responsabilités en plus de son rôle de développeur. Faire un peu d'avant-vente, être un évangéliste d'une technologie, faire des conférences, former les personnes...

Pour le salaire, il faut évidemment savoir se vendre. Mais attention, se vendre ce n'est pas mentir.

Après, peut être qu'un départ à l'étranger n'est pas à exclure pour avoir enfin la reconnaissance de son métier. Pas certains par conter que les projets soient plus intéressant, quoi que.

Anonyme a dit…

Bon les gars, développeur c'est un super métier mais c'est déjà un piège, l'évolution de carrière d'un développeur c'est d'être développeur parce que le développeur il est pas formé pour faire autre chose en règle générale, c'est un peut comme violoniste ou électricien c'est super spécialisé comme profession et il est dur d'en sortir.
CDP c'est autre chose, je pense même q'un bon CDP n'a pas besoin de connaître le développement.
Bref l'évolution du métier c'est de monter sa boîte ou de se mettre en indépendant mais attention c'est pas facile de tenir longtemps, pensez quand vous aurez la cinquantaine (ça vient vite :-() et demandez vous si vous vous voyez encore taper des lignes de codes ?
Demandez-vous aussi si vous aurez encore envie de vous envoyer un langage révolutionnaire comme NodeJS ou le nouveau framework truc avec la nouvelle méthode machin super géniale ? (pour réaliser la même chose qu'avant)
En bref si vous voulez évoluer formez-vous à autre chose.

Anonyme a dit…

Pas d'accord avec l'article : dans les grosses boites comme atos ils obligent les futurs chefs de projet a passer par la case développement pour mieux comprendre le métier et devenir un bon manager.

Gauthier a dit…

C'est cocasse : tu n'es pas d'accord avec mon propos, et pourtant ton commentaire vient parfaitement confirmer ce que je dis :)

"Ils obligent les futurs chef de projet..."

Obliger quelqu'un a exercé un métier avec lequel il n'a pas d'affinité, c'est un management brillant !!

"Pour mieux comprendre le métier"

Lequel ? Leur faire comprendre un métier (développeur) pour les préparer à en exercer un parfaitement différent ? Là encore, c'est brillant.

"Devenir un bon manager"

Oo je ne vois pas le rapport entre le métier de cdp et la responsabilité de manager, si ce n'est l'imbroglio qu'il existe autour des notions de management et de gestion.

Un CDP n'a - a priori - aucune des compétences requises pour assurer le management d'une entreprise.

Si Atos pratique bel et bien ainsi(je laisse cette assertion sous ta responsabilité, Anonyme :)), alors je comprends mieux certaines choses que j'ai pu observer :)

Anonyme a dit…

Bonjour,

Il y a le rôle de chef de projet certes, mais vous n'évoquez pas le rôle de responsable d'applications, évolution beaucoup plus naturelle pour un développeur. (Gestion des devs (1 à n developpeurs) : bugs, amélioration, voire nouvelle application + gestion des plateformes).
Un pas de plus vers le rôle d'architecte ...

Cordialement,
Patrick Bellabiod.

Gauthier a dit…

Bonjour Patrick, et merci pour votre commentaire.

J'identifie le rôle de responsable d'applications que vous évoquez au terme anglais de "Product Manager" - et de mon point de vue, ces rôles sont d'abord métier, même s'ils bénéficient clairement d'un "passé" technique.

Aussi je considère que cette évolution, en partant d'un rôle de développeur, n'est pas en droite ligne.

Toutefois, il existe de nombreuses façons d'envisager ces positions, qui sont d'abord une agrégation de responsabilités. La nature exacte d'un poste dépend de ces responsabilités et non pas du titre que l'on associe à l'ensemble !

Quoi qu'il en soit, votre commentaire est l'occasion d'évoquer un autre métier lié au développement, et vers lequel les passerelles existent.

Gauthier

Deix a dit…

Tout est à la fois vrai et faux dans cet article et dans les commentaires. Une chose est sûre, les entreprises et les métiers autour de l'informatique évoluent / reviennent sur le devant de la scène plus vite qu'on ne change de chemises. A comparer avec les modèles d'entreprise libérées que j'ai sous le nez (rares dans l'informatique, plus compliqué également à mettre en place du fait de la dimension intellectuelle associée, quoi que), également très en retard par rapport aux nouveaux modèles de management de pas mal d'entreprises dans l'industrie.

Quant aux métiers de l'informatique, aujourd'hui (2015), ils contiennent beaucoup plus de strates, permettant une meilleure gestion de la carrière. Je ne vais parler par contre que de bac+5 car désolé, mais le reste n'évolue pas au jour d'aujourd'hui ou rarement et si ces personnes là s'offusquent de coder toute la journée, il fallait y réfléchir avant ou il est encore temps de suivre le moule car les attentes sont aujourd'hui très élevées même pour des Bac+5. On retrouve donc:
- Ingénieur en Tests A (destiné à intégrer les cellules de tests d'intégration normalisés CMMi ou Quality Center approval). Ce métier est jeune et désormais une filière à part entière. On orientera parfois les "mauvais" développeurs dans cette filière après quelques évaluations de compétences
- Ingénieur logiciel A: votre fameux développeur, analyse programmeur
- Ingénieur consultant fonctionnel A: destinés à être Architecte Entreprise ou dans le BI, être référent fonctionnel, Product Owner pour l'agile etc.
==== EVOLUTION ====
- Ingénieur Team Leader B: un développeur reconvertit ou "aiguillé" dans cette branche car il ne sera jamais assez bon techniquement. C'est votre Chef de Projet, renommé pour être plus in et normalisé, ou Scrum Master dans l'agile
- Ingénieur logiciel B: assure les rôles de Lead Dev / Architecte Solution junior. Les développeurs détectés comme ayant un potentiel de leadership technique très important en plus d'avoir de solides compétences en architecture et conception.
- Ingénieur consultant fonc. B: pas grand chose à dire, des référents fonctionnels en herbe
===== EVOLUTION ====
- Manager: Manager de carrière / Team leader avancé (dirige des Team leader B)
- Architecte Solution: Le lead dev/ architecte junior qui prend du galon et devient senior, formés explicitement aux normes TOGAF and co. Fin de carrière pour un excellent développeur et qui a su le PROUVER à ses managers.
- Architecte Entreprise: l'expert en urbanisation du SI, l'architecte fonctionnel

Mais, soyez-en sûrs et malheureusement - au delà de l'effet copinage et pistonage - la majorité des Architectes / Lead Dev le seront car ils excellent dans ce qu'ils font. Un bon lead dev / Architecte ne devient pas ainsi, il l'est et moi-même, puisque c'est mon rôle, je repère bien dans les équipes que je cotoie le potentiel Architecte de chacun. Un futur Architecte sera obsédé par l'optimisation et la qualité de ce qu'il produit et surtout, de ce que les autres produisent.

Unknown a dit…

Je suis d'accord avec Anonyme.
Un chef de projet technique(à ne pas confondre avec un chef de projet fonctionnel) doit avoir passé par le métier de développeur sinon il ne sera pas crédible vis à vis des développeurs qu'il va encadrer.

Dans la société où je travaille , on passe par dev débutant -> dev confirmé -> dev senior -> chef de projet technique -> directeur de projet technique.

Pour moi , pour donner des directives réalistes à son équipe de développeurs , le chef de projet technique se doit de connaitre les limites des techno utilisées dans le projet , donc il se doit d'être au moins aussi compétent techniquement qu'un dev senior , voir plus que ce dernier , sinon certaines de ces directives ne se baseront que sur des idées imaginaires, non réalistes, non adaptées(à moins de réaliser l'impossible).

Et actuellement , on se demande pourquoi beaucoup de projet web échouent ?
Ben , c'est justement à cause de l'incompétence de ces chefs de projet qui n'ont pas assez(ou pas du tout) d'expérience en développement et qui donnent des fausses estimations de chiffrage de temps , des directives non adaptées et non réalistes.

Donc pour moi, il est obligatoire de passer par la case dev junior , puis dev senior avant de passer au poste de chef de projet technique.

Et j'ai oublié de vous dire quelque chose, dans la société où je travaille, un chef de projet technique doit donner des formations techniques et fonctionnelles aux développeurs non compétents . Donc , le chef de projet technique(chez nous) doit être très bon techniquement, il doit tout gérer(équipe , fonctionnalité , technique).

Pour mon cas personnel ,je suis chef de projet technique d'un projet d'envergure mondiale sur une usine à gaz peu connue , je gère les fonctionnalités , la livraison , je développe beaucoup également , et même c'est à moi de trouver des solutions à des problèmes techniques inaccessibles aux développeurs seniors. Je forme les développeurs débutants qui ne connaissent rien de cet usine à gaz peu connue en leur offrant des cours théoriques et pratiques , avec des exercices corrigées.

jef a dit…

Bonjour, à vous lire un CP est un developpeur qui a échoué et quand je lis les commentaires faisant état de CP techniques ou CP fonctionnels, je fini de tomber de ma chaise.
Le CP est un métier en soit. Il n'est ni fonctionnel, ni technique, il est gestionnaire. Rien ne l'empêche d'avoir des affinités plus techniques ou fonctionnels, mais c'est toujours dangereux de multiplier les casquettes.
L'architecte pourte la responsabilité technique et le responsable fonctionnel celle de l'adéquation des specs au besoin. Le CP est là pour rappeler les dures réalités du budget et du planning.
Il demeure le patron du projet et est censé choisir l'équipe en adéquation avec le projet et la manager ensuite. Cela ne signifie pas que c'est lui qui estile les charges et challenge les RAF, son archi est là pour cela.
La difficulté est de pouvoir être CP et uniquement CP et de ne pas être obligé de chausser une autre casquette du fait des contraintes économiques ou de la petite taille d'un projet.
Ce que je lis montre à quel point il y a un fossé d'ignorance entre des métiers qui sont pourtant censés collaborer étroitement.
Le model SSII a en effet des lacunes côté dev senior ou des expert car cela coute cher et parce que le client est rarement prêt à payer ce prix. Par contre payer un archi à sa juste valeur est souvent accepté. Sur la grille AT du dernier projet que j'ai géré le profil archi était bien mieux valorisé que le profil CP senior.
J'adhère par contre au message selon lequel le devenir naturel d'un dev n'est pas CP (pas plus que pour un archi, un RT ou un RF) et que les jeunes dev se surestiment souvent en voulant progresser très vite au risque de se bruler les ailes.

Gauthier a dit…

Bonjour Jef,

merci pour votre commentaire (au passage, je m'aperçois que je n'ai pas répondu aux 2 précédents commentaires postés, et je présente mes excuses à leurs auteurs).

Pour revenir donc à Jef : avant de vous répondre, j'ai relu mon billet... il a pas loin de 4 ans maintenant quand même :) Et j'ai bien fait, car ma première réaction en lisant votre texte a été de me dire : c'est étrange ce raccourci pris dans la première phrase "A vous lire, un CP est un développeur qui a échoué", car pour le reste de ce commentaire, il me semble que nous soyons complètement d'accord.

Et après relecture, je comprends beaucoup mieux votre réaction (j'imagine par ailleurs que vous êtes vous-même chef de projet :)).

Pour faire simple : nous sommes vraiment d'accord, et je pensais avoir été plus clair : Chef de projet est un métier à part entière, qui n'est en rien méprisable ou dégradant ! Je parle bien des qualités nécessaires pour exercer ce métier, et du fait que devenir CP quand on est développeur est une reconversion professionnelle.

Mais à trop insister sur le fait qu'il ne s'agit donc pas d'une évolution de carrière logique, j'ai pu laissé à penser que je n'avait pas la moindre estime pour le métier de chef de projet, ce qui n'est pas conforme à ma pensée.

J'ai donc changé la phrase suivante, qui est la plus maladroitement formulée : "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é." pour devenir : "Car la réalité est celle-ci : un développeur devenu chef de projet, ce n'est pas un développeur qui a réussi, mais au contraire, souvent, un développeur qui a échoué.

Merci Jef d'avoir souligné ce malentendu.

Unknown a dit…

Message d'un petit développeur en contrat pro :

Il faudrait voir à penser que certains peuvent voir autre chose que le développement, au delà de l'informatique.

Je suis particulièrement intéressé par tous les systèmes financiers autour de l'informatique, donc en effet, ma perspective de carrière (Du moins celle que je m'imagine) serait d'acquérir un niveau technique solide pour être au plus prêt d'une équipe et être force de proposition même en tant que Chef de Projet).

Ce qui ne signifie pas que j'ai pour autant rien à foutre en développement.

Gauthier a dit…

@Zoolorg,

je n'ai pas dit que cette évolution n'était pas envisageable, et encore moins qu'aspirer à ce changement de carrière impliquait d'être un mauvais développeur.

J'ai plutôt insisté sur le problème inverse :)

Mais en l'occurrence, avoir la lucidité de se dire qu'on n'est pas forcément fait pour le développement, mais qu'il peut être avantageux d'être passé par là pour mieux comprendre les développeurs avec lesquels on va collaborer me paraît complètement cohérent.