skip to main | skip to sidebar
Code 18
Manuel du savoir-faire à l'usage des geeks et des curieux
RSS
  • Accueil
  • Le web au Québec
  • Liens
  • Twitter
  • Facebook
  • À propos

vendredi 2 juillet 2010

Réinventer la roue en programmation

Publié par Infinite Loop, à 19 h 53 0 commentaire

Quand on a des patrons qui manquent de connaissances techniques, il y a un risque pour que les programmeurs leur racontent un peu n'importe quoi. Qui pourra prouver le contraire ? C'est un peu la situation que j'ai vécu cette semaine et qui m'a causé un brin de frustration et la réflexion qui s'en suit.

Je vote pour ça
Lors des réunions, des décisions sont à prendre, les idées sont lancées et débattues et c'est la nature humaine de tirer sur son bord de couverture pour faire adopter sa proposition, même si ce n'est pas la meilleure. Il y a une réelle auto-satisfaction pour l'ego de savoir que sa proposition est retenue. Les gens sont généralement prêts à suivre les gens qui ont l'air sûrs d'eux. Et c'est ainsi que les efforts collectifs sont mis dans une direction qui n'est pas nécessairement bénéfique pour l'entreprise. Dans le monde idéal, il faut demeurer objectif et savoir apporter des arguments qui prouvent ce qu'on avance.

Dans la salle de conférence
Durant une de ces réunions, ce que j'ai entendu sortant de la bouche d'un programmeur aussi expérimenté que moi m'a fait faire le saut. Il proposait d'instaurer une standardisation dans notre façon de programmer alors qu'il a lui-même refusé de suivre les standards de l'entreprise dès son arrivée. Il a ensuite convaincu un autre employé qu'il valait mieux tout balancer par-dessus bord et recommencer à leur façon sans en parler aux supérieurs. Pour moi, c'est une source de problème sur l'efficacité qui instaure un rapport de cause à effet direct sur le bon fonctionnement de l'entreprise et sa rentabilité (les chiffres parlent : les projets qui leur sont assignés dépassent régulièrement les temps estimés, donc les coûts de production et les profits générés). Il y a plusieurs causes mais le temps passé dans l'ombre à réinventer la roue n'est pas étranger à ce phénomène.

Le problème est un peu ça : au lieu de pousser collectivement dans la même direction, de se concerter et de faire le mieux dans l'intérêt de tous, des clans se forment selon les écoles de pensées. D'un côté ceux en faveur d'une solution, de l'autre, ceux qui se rangent derrière l'alternative. Chacun va chercher l'approbation de ses pairs avec qui il s'entend bien et ça devient politique (et on sait que quand c'est politique, c'est contre l'évolution, ça fait du sur place). Ce qui fait que les standards changent selon qui réalise le projet, et ce même si l'entreprise est claire face aux technologies à favoriser. De toute façon, personne n'ira vérifier si c'est conforme et une fois le fait accompli, c'est souvent difficile de reculer.

Ce que dicte l'entreprise devrait avoir préséance sur tout le reste. Les patrons, qui signent notre chèque de paye, ont tranché. À moins d'une justification assez forte pour remettre en question la technologie en place, on devrait respecter le choix des investisseurs. En revanche, ce sont nous les spécialistes qui peuvent suggérer des pistes technologiques mieux adaptées à nos besoins. Les patrons sont ouverts à écouter les arguments mais manquent parfois de connaissances techniques pour faire un choix éclairé. Ils s'en remettent donc à nos bons conseils. Et alors apparaîssent les abus de confiance.

Gare aux sophistes!
Ceci ouvre la voie à celui qui parle le plus fort, qui se montrera le plus persuasif. Je racontais la situation à un ami et il qualifiait cette attitude de sophiste (vous vous souvenez, les cours de philosophie au Cegep ?). C'est un peu vrai. Certains sont passés maître du discours en utilisant une série de buzzwords pour se montrer convainquants en présence de la direction. Voyez ce qu'en dit Wikipedia :

Les sophistes développent des raisonnements dont le but est uniquement l'efficacité persuasive, et non la vérité. Des raisonnements ou des arguments apparemment solides mais contenant en réalité un vice ou une perversion volontaire visant à manipuler ou à tromper l'auditeur .

Dès que je reconnais ce profil chez quelqu'un, je me méfie immédiatement, qu'il soit vendeur d'auto ou programmeur. Je me refuse de jouer le même jeu mais je sens au fond de moi que je dois réagir, faire quelque chose.

Programmation sans ego
Il est vrai que certains développeurs voient un idéal d'être indépendant face à des outils populaires qui ont fait leur preuves. Ils veulent à tout prix essayer quelque chose de nouveau même si l'ancienne méthode fonctionne bien. Ils ressentent un besoin d'enrichir leurs connaissances personnelles plutôt que de répondre au besoin immédiat du client. C'est bien de vouloir se perfectionner, mais il faut aussi choisir le bon moment. Adopter une attitude saine comme "l'egoless programming" est de mise.

Personnellement, je ne suis pas réfractaire au changement, au contraire. Mais l'histoire m'a prouvé que des décisions stupides sont prises ou imposées par des employés de passage et que ce sera la base d'employés stable (core team) qui sera prise avec les problèmes causés par des mauvaises décisions, à éteindre des feux et à rétablir un certain équilibre. Croyez-moi, j'ai déjà donné plus souvent qu'à mon tour.

Habituellement, le roulement d'employés fait qu'ils restent en poste 1 an ou 2 et quittent pour offrir leurs services ailleurs. Moi, ça fait déjà 8 ans que je suis au sein de la même entreprise. D'autres se poussent dès qu'ils sentent la soupe chaude, qu'ils devront faire face à la responsabilité qui viennent avec leurs choix et à se justifier. Combien de fois ai-je eu à réparer les pots cassés d'anciens programmeurs ? Souvent et je ne compte pas le nombre de fois que j'ai sacré...

Pour un patron, qui croire ? Un employé de longue date fidèle à l'entreprise ou le petit nouveau qui, même s'il compte autant d'expérience, prétend autre chose ?

Carriériste ?
Pas tout à fait. Développer une relation de confiance et équitable entre employé-employeur, c'est ce qui est payant à long terme. Un peu comme un mariage, autrement c'est un divorce assuré. Et d'un côté comme de l'autre, il ne faut pas abuser de cette confiance. Pierre Péladeau père disait à ses employés : si tu me fais faire de l'argent, tu vas en faire toi aussi. Ça résume bien mon état d'esprit professionnel. Avec ce mode de pensée, on finit par prendre des décisions éclairées pour l'entreprise plutôt que des décisions basées sur des préférences personnelles. On sait qu'on devra vivre avec notre choix à long terme. Pour moi, c'est aussi ça une attitude professionnelle. J'aime mieux réparer mes gaffes involontaires que réparer les pots cassés causés par des programmeurs insouciants.

Méritocratie
Et pourtant, face à certains choix, je suis découragé. Je me demande si je ne suis pas le seul à pouvoir me projeter à long terme dans une entreprise alors qu'on vit dans une culture d'instantanéité. Notre génération veut tout, tout de suite et on leur doit tout. Des enfants-rois. Merci à mes parents, je n'ai pas été élevé selon ces valeurs. Chez moi, on nous a inculqué le mérite. On met nos efforts à la bonne place pour mériter ce qu'on a. Et ne jamais s'assoir sur ses lauriers (prendre pour acquis). Le mérite est biodégradable et doit être renouvelable.

Passer à autre chose
Remarquez, j'ai peut-être un peu une écoeurantite. Malgré toute ma bonne volonté, j'ai parfois l'impression de nager à contre-courant et de ne pas être en mesure de renverser la situation. Peut-être ai-je besoin d'un nouveau départ ?

À la lumière de ce que me disent quelques personnes de mon entourage, j'ai le profil d'un travailleur autonome. Serais-je prêt à faire le saut en affaires ou dois-je chercher à prendre plus de responsabilités (dans cette entreprise ou une autre) ? Chose certaine, j'ai besoin de défis stimulants.

Peut-être est-il temps de me lever et de combattre de front cette attitude néfaste ? Est-ce que je prends mon rôle trop à coeur ? Est-ce une assez noble cause pour y mettre des efforts ou est-ce que je gaspillerais mon temps ? Suis-je assez mûr passer à un niveau supérieur ? Définitivement, un changement s'impose.

La suite demain... Sur la performance de Zend Framework.


Tags: Le coin du geek, Programmation

0 réponse à "Réinventer la roue en programmation"


Publier un commentaire

Message plus récent Messages plus anciens Accueil
S'abonner à : Publier des commentaires (Atom)
    Suivre @code18 sur Twitter

    Catégories

    • Apache (21)
    • Citations (167)
    • Club Vidéo (24)
    • Coffre à outils (56)
    • CSS (8)
    • Curiosités (117)
    • Design Pattern (2)
    • Drupal (8)
    • Easter Eggs (22)
    • Extensions Firefox (20)
    • GIMP (7)
    • Histoire (21)
    • HTML (32)
    • Humour (57)
    • Intégration (34)
    • iPod (12)
    • JavaScript (110)
    • Jeu de combat (6)
    • Le coin du geek (128)
    • Liens (12)
    • Linux (56)
    • Livres (78)
    • Lois et principes (46)
    • Marché des saveurs (26)
    • Mathématique (18)
    • Mobile (5)
    • Montréal (32)
    • Musique (112)
    • Pancartes et écriteaux (16)
    • Perl (8)
    • Pérou (1)
    • PHP (130)
    • PostgreSQL (44)
    • Programmation (105)
    • Saviez-vous que (55)
    • Sécurité (22)
    • SEO (5)
    • SQL Server (22)
    • Vieilles publicités (6)
    • Virtualisation (8)
    • Voyages (1)
    • Zend Framework (26)

    Divers

    Archives

    • ►  2015 (6)
      • ►  août 2015 (1)
      • ►  juillet 2015 (1)
      • ►  février 2015 (3)
      • ►  janvier 2015 (1)
    • ►  2014 (8)
      • ►  décembre 2014 (1)
      • ►  novembre 2014 (1)
      • ►  octobre 2014 (1)
      • ►  août 2014 (2)
      • ►  juillet 2014 (2)
      • ►  janvier 2014 (1)
    • ►  2013 (53)
      • ►  décembre 2013 (2)
      • ►  novembre 2013 (1)
      • ►  octobre 2013 (3)
      • ►  septembre 2013 (2)
      • ►  août 2013 (5)
      • ►  juillet 2013 (3)
      • ►  juin 2013 (5)
      • ►  mai 2013 (3)
      • ►  avril 2013 (7)
      • ►  mars 2013 (7)
      • ►  février 2013 (11)
      • ►  janvier 2013 (4)
    • ►  2012 (105)
      • ►  décembre 2012 (8)
      • ►  novembre 2012 (5)
      • ►  octobre 2012 (4)
      • ►  septembre 2012 (1)
      • ►  août 2012 (8)
      • ►  juillet 2012 (7)
      • ►  juin 2012 (7)
      • ►  mai 2012 (10)
      • ►  avril 2012 (13)
      • ►  mars 2012 (15)
      • ►  février 2012 (15)
      • ►  janvier 2012 (12)
    • ►  2011 (146)
      • ►  décembre 2011 (14)
      • ►  novembre 2011 (11)
      • ►  octobre 2011 (12)
      • ►  septembre 2011 (13)
      • ►  août 2011 (15)
      • ►  juillet 2011 (17)
      • ►  juin 2011 (18)
      • ►  mai 2011 (15)
      • ►  avril 2011 (9)
      • ►  mars 2011 (7)
      • ►  février 2011 (3)
      • ►  janvier 2011 (12)
    • ▼  2010 (398)
      • ►  décembre 2010 (29)
      • ►  novembre 2010 (28)
      • ►  octobre 2010 (32)
      • ►  septembre 2010 (34)
      • ►  août 2010 (22)
      • ▼  juillet 2010 (35)
        • Les Inuits débarquent sur le web
        • Boucler sur des propriétés JSON
        • Nettoie tes oreilles ou articule quand tu parles!
        • Redémarrer l'univers
        • En quête de la tablette Android
        • Fabriquer un coin-coin en papier
        • Citation no. 92 sur l'Amazonie
        • Règlement de la route farfelu en Ontario
        • Classer des éléments du DOM avec jQuery
        • Grrrrr, bark, woof !
        • Lister les champs d'une table PostgreSQL par SQL
        • Séparés à la naissance : Georges Laraque et Vigo
        • Évaluation des variables en PHP
        • Corona glacée instantanément
        • Linux : pourquoi locate est plus rapide que find
        • Citation no. 91 sur l'appartement
        • Autres références à Hitchhiker's Guide to the Galaxy
        • Dictionnaire Français - Francine
        • Performance de Zend_ACL
        • Quand j'étais petit, j'étais con
        • L'âne de Sam Loyd
        • Super Mario Bros et la réalité augmentée
        • Origine du Babel Fish
        • Citation no. 90 sur les fesses
        • Ouvrir un PDF à la bonne page par le shell
        • La 9ème vie d'Internet Explorer
        • Tap Tap Revolution sur la guitare
        • Redirection .htaccess ASP vers PHP
        • Comme une odeur de Milliblatts
        • Un peu de simplicité volontaire
        • Installer XDebug pour PHP
        • Citation no. 89 sur les fonctionnaires
        • Performance de Zend Framework
        • Réinventer la roue en programmation
        • Pourquoi il y a si peu de femmes ingénieures
      • ►  juin 2010 (42)
      • ►  mai 2010 (36)
      • ►  avril 2010 (37)
      • ►  mars 2010 (34)
      • ►  février 2010 (32)
      • ►  janvier 2010 (37)
    • ►  2009 (430)
      • ►  décembre 2009 (32)
      • ►  novembre 2009 (34)
      • ►  octobre 2009 (33)
      • ►  septembre 2009 (37)
      • ►  août 2009 (37)
      • ►  juillet 2009 (39)
      • ►  juin 2009 (38)
      • ►  mai 2009 (37)
      • ►  avril 2009 (35)
      • ►  mars 2009 (37)
      • ►  février 2009 (32)
      • ►  janvier 2009 (39)
    • ►  2008 (84)
      • ►  décembre 2008 (34)
      • ►  novembre 2008 (39)
      • ►  octobre 2008 (11)

    Abonnés

Copyright © All Rights Reserved. Code 18 | Converted into Blogger Templates by Theme Craft