Le super programmeur !

Like This!

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Un rôle si important, mais qui, dans beaucoup d’organisations, est en voie de disparition. Pour ne pas dire inexistant.
Mais, qu’est-ce qu’un super programmeur? Pourtant, je suis sur que vous en avez connu. Vous savez ce genre de programmeur qui programme plus vite que son ombre. Celui qui est capable de programmer n’importe quoi, mais surtout à la vitesse super Grand « V ». Le Programmeur qui est capable de construire un bout de code de grande qualité, en temps ridicule. Ces machines à produire du code.

J’ai connu et j’en suis sûr, vous aussi, des programmeurs qui étaient capables de coder 3-4 fois plus vite que les autres. Quand tout le monde se sauvait et disait que c’était impossible à résoudre, eux apportaient la solution aux problèmes. Eux, leur cerveau est conçu comme à machine à programmer.

Mais, malheureusement aujourd’hui avec les « Échelles salariales », ces super programmeurs finissent par avoir atteint la limite de l’échelle et de l’avancement possible. De plus, il faut reconnaître leur « Excellent » travail. Et dans les échelles classiques, c’est un peu impossible.

Pourtant, on a souvent besoin de ces superhéros du code dans les projets. Surtout ceux qui, en plus de leurs qualités de codeurs, sont d’excellent travailleur d’équipes. Combien de fois, en tant qu’architecte, j’aurais souhaité avoir une de ces « bêtes rares » pour valider certains concepts que seuls, ces supers programmeurs, pourraient faire.

Mais, comme ce rôle de « Super Programmeur » a disparu ou n’existe tout simple plus dans la grande vision de nos gestionnaires, on doit souvent faire des tours de passes passes. Car, j’avoue que c’est difficile, voir complexe de différencier un programmeur normal d’un super programmeur. Ce travail demande une grande expertise pour les identifier. Il y a beaucoup d’appelés, mais peu d’élus. Surtout ceux qui seront heureux encore longtemps, d’être de super programmeurs.

Donc, beaucoup de gestionnaires ont choisi la voie facile, en leur donnant une promotion au titre d’architecte. Souvent à celui d’architecte organique.

Mais, le problème, le rôle d’architecte organique et celui de super programmeur, demandent des compétences totalement différentes. Le super programmeur doit avoir une connaissance très approfondie de code et du langage de programmation. Il doit pouvoir répondre au comment on va programmer ou coder cette procédure ou cette fonction. Il doit être une encyclopédie vivante du code ou de l’environnement en question.

Quant à l’architecte, il doit répondre à la question du design. Comment l’ensemble va fonctionner. Et non, le détail d’une procédure ou d’une fonction. Il doit apporter la vision sur l’ensemble du projet. Je m’amuse souvent à résumer que mon travail d’architecte, c’est justement de trouver comment on va éviter de coder telle ou telle partie. Et ce que veut le super programmeur, c’est justement codé !

Avoir un bon architecte et un super programmeur, c’est un pair qui augmente la possibilité de succès du projet. L’architecte apporte la vision de la solution et le programmeur confirme la faisabilité de la solution.
Les super programmeurs ont le droit aussi à l’avancement et de faire reconnaître leurs compétences si exceptionnelles. Je crois qu’il faut transformer nos organisations pour leur faire une place. La place qu’ils méritent vraiment.

Lorsqu’on donne une promotion à une personne, ce ne doit pas être une punition. Mais, une récompense. Un vrai programmeur, encore plus un super programmeur, déteste profondément faire de la documentation et du design. Donc, lui donner un rôle où il fera de moins en moins de code et où il aura à produire de la documentation. C’est vraiment lui donner la meilleure punition.

Je ne dis pas qu’un super programmeur ne peut pas devenir un architecte ou un analyste. Mais pour le devenir, il doit aussi avoir les compétences qu’implique telle ou telle fonction. J’ai vu souvent de super programmeurs qui sont devenus architecte (sans avoir les compétences nécessaires), malheureusement tant pour eux que nous. Le travail, surtout la documentation, était très teinté par le code qu’il imaginait derrière. Je crois qu’un bon architecte ne doit pas être influencé par le code. Mais par le travail qu’il doit accomplir et son environnement.

J’ai vu certains qui devenaient aigris, qui n’avaient plus la possibilité de faire ce qu’ils aiment vraiment. Permettons-leur d’exploiter leur si grand talent pour la programmation, permettons-leur de continuer leur excellent travail. Ce sont des gens d’exception, ne les détruisons pas à leur faire faire autres choses que ce à quoi ils sont les meilleurs.

L’informatique n’est hiérarchique. Mais une structure à cmpétences diverses. Donc, reconnaissons le travail de chacun et j’en suis sûr que nos projets n’en seront que de meilleure qualité et surtout livrés plus rapidement. En terminant, j’espère que vous ferez la réflexion de savoir si vous devez ou non ajouter ce rôle à vos équipes.

  1. Karl Metivier
    janvier 17, 2011 à 10:45

    Très bon billet Bruno, bravo !

    Effectivement, dans les grandes entreprises et au gouvernement, la seule manière de progresser pour un programmeur est de devenir analyste ou d’avoir une spécialité, comme l’architecture, ajoutée à son corps d’emploi.

    C’est pour cela que l’on retrouve une grande quantité d’internes qui sont analystes et plusieurs consultants qui font la programmation au gouvernement. C’est dommage et ça peut tuer la passion des technologies chez certains. Selon moi, on devrait traiter les analystes et les programmeurs sur la même échelle salariale. Juste à ajouter un boni ou des années d’ancienneté selon l’éducation (DEC ou Bacc.) Pour équilibrer les choses.

    J’ai déjà connu un vieil ami, qui lorsqu’il a terminé son baccalauréat en Informatique il s’est fait engager à la RAMQ. Ils lui ont dit, tu arrives de l’université, alors tu feras de l’analyse. Après quelques mois, il quitte son emploi pour s’engager dans l’armée à titre de soldat. Le système n’a pas eu raison de lui. Sa passion, il la vivra ailleurs.

    • janvier 17, 2011 à 11:11

      Tu as raison Karl, le diplôme ne fait les compétences et encore moins les intérêts !

      Et j’aime ton idée, de la même échelle salariale pour les analystes et les programmeurs.

      J’espère que vieil ami, possède encore un ordinateur .. et programme toujours, s’il aime encore cela ..!

      Ça fait un bout que je fait du recrutement. Et lorsque j’engage un programmeur, je lui demande de me parler de ces projets perso. Les vrais programmeurs, surtout dans nos structures de travail, font de projets perso pour garder la main et le plaisir de programmer.

      Et toi, c’est quoi ton dernier projet perso ?

  2. Karl Metivier
    janvier 17, 2011 à 11:21

    D’être membre du CA de la communauté Agile de Québec !

    J’ai aussi quelques idées d’outils que je prends en note par ci, par là. J’ai l’objectif de continuer à bricoler cela dans mes temps libre cette année. À suivre…

  3. janvier 31, 2011 à 11:08

    Je trouve ça assez bizarre comme message, car la plupart des hackers que je connais se sont trouvés dans des situations où ils sont responsables de monter des prototypes techniques seuls (ou avec peu d’aide). Ce ne sont pas des systèmes « plates » du côté enterprise, mais des projets comme l’écriture d’un compilateur multiplateforme pour des consoles de jeux. Ils sont extrêmement bien payés, mieux que plusieurs « architectes ». Ils se fouttent aussi du titre qu’on leur donne. Évidemment, je pense qu’on a surement des visions différentes de ce qu’est un super-programmeur parce que j’utilise le terme technique pour le désigner.

    • janvier 31, 2011 à 12:11

      D’abord merci de votre commentaire M. Stéphane Vaucher. Il est très intéressant. Mais, je pense que vous avez peut-être mal compris le contexte ou l’angle de mon billet.

      Quand, je parlais de mes « supers programmeurs » qui devenaient architecte. Je ne parlais pas de genre de projets hautement techniques comme vous parler.

      Pour ma part, je viens et je fais carrière dans le domaine de l’informatique de gestion. J’ai travaillé avec et pour les grandes firmes de consultations et les grands entreprises et gouvernements. Et c’est rare qu’on fasse des compilateurs !

      Peut-être; si c’est le cas, j’en suis heureux de l’apprendre; que dans le monde des jeux vidéos ce genre de poste existe. Je n’ai jamais travaillé dans ce monde.

      De plus, je ne parlais pas nécessaire la création de prototype complexe. Encore moins de travail individuel. Mais, un apport exceptionnel à une équipe de développement. Et surtout, le droit et le pouvoir d’exercer un talent si particulier pour coder.

      Dans nos grandes organisations, le travail d’architecte devient trop celui de « producteur » de documentation. Et ces « supers programmeurs », ou « hacker si vous préférer » ne veulent pas écrire de la documentation. Mais mettre en oeuvre quelque chose.. Généralement du code.. Mais surtout pas quelque chose qui se fait dans « Word » 🙂

      Je suis aussi d’accord avec vous, le titre ne veut rien dire. J’ai justement révisé mon CV professionnel. Et si à chaque fois, on m’avait attribué le « titre » basé sur la définition de mes responsabilités. Plus du 3/4 de ma carrière, j’aurais été un « architecte ». ET pourtant, ce n’est que tout ressent que j’ai ce titre !

      Donc, ce n’était pas de reconnaître le titre. Mais la vraie fonction et responsabilité de ces individus. Et surtout, reconnaître vraiment leur expertise exceptionnelle pour la programmation.

      Appelons-les des « supers programmeurs », « hacker », « designer », « le meilleur ami du code » sans n’a pas d’importance ! Il faut mettre les bonnes personnes dans les bonnes fonctions.

  1. No trackbacks yet.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

%d blogueurs aiment cette page :