Un trait simple qui fera avancer votre carrière de logiciel

Le génie logiciel peut être un travail absolument ingrat. Oh, bien sûr, il a ses avantages. Vous devez être créatif et résoudre des problèmes. Il existe une beauté et une élégance dans un code bien écrit parfois difficile à décrire pour ceux qui ne parlent pas la langue. Là où nous étions autrefois presque universellement décrits comme des nerds portant des lunettes de protection, Hollywood nous décrit maintenant comme des pirates informatiques d’élite qui peuvent s’asseoir devant un terminal jamais vu auparavant et prédire instantanément les mots de passe de tout gouvernement. dans le monde entier, et trouvez un moyen de copier, puis de supprimer toute leur base de données sur une clé USB en moins de 60 secondes. Je souhaite que. Je ne pense pas que je pourrais pirater mon propre ordinateur portable, encore moins celui de quelqu'un d’autre, et certains jours, cela peut prendre plus d’une minute pour copier des documents Word sur ma clé USB.

La réalité en tant que programmeur est cependant un peu moins sexy que celle de nos homologues hollywoodiens. Nos patrons et collègues ne se soucient guère de l’élégance de notre code. Ils ne comprennent pas qu'on nous demande chaque jour d’estimer le temps qu’il faudra pour coder des fonctionnalités et des correctifs dont nous n’avons absolument aucune idée jusqu’à ce moment-là. Franchement, on nous demande souvent de faire des choses par des gens qui n’ont aucune idée de ce qu’ils nous demandent même de faire! Notre valeur est souvent mesurée par notre capacité à créer du code à un rythme record, et par notre volonté de travailler pendant des heures insensées. Les délais impossibles sont communs. L'équilibre travail / vie peut souvent être inexistant. Et comme nous le savons tous, une «merde» peut effacer des volumes de «atta-boy». Au bout du compte, c’est votre travail de produire, et contrairement aux vendeurs et aux dirigeants, aller au-delà des attentes ne vous rapporte pas souvent un voyage aux Bahamas, une montre en or ou un chèque de participation aux bénéfices. En fait, travailler plus dur finit généralement par susciter l’attente des autres et lorsque vous vous retrouvez en deçà de la nouvelle barre que vous venez de définir, vous finissez par paraître et vous sentir comme un fainéant.

Nous regardons tous des personnes comme Steve Jobs, Bill Gates et Mark Zuckerberg et nous pensons que si nous étions juste plus talentueux, plus créatifs et plus motivés, nous aurions plus de succès dans nos emplois. Nous restons éveillés jusqu'aux petites heures du matin pour apprendre les derniers frameworks et technologies, passer des week-ends entiers à refactoriser nos bibliothèques de base pour les rendre plus rapides et plus efficaces, et dans de nombreux cas, nous finissons par négliger nos propres besoins, amis et familles. , et pour quoi? Je ne peux pas commencer à vous dire combien de fois je me suis plié en quatre pour que mon code soit terminé et archivé, pour rencontrer des frustrations et des plaintes de la part de mes patrons et de mes collègues, plutôt que les félicitations et les récompenses que j'étais. Espérer que.

«Pourquoi avez-vous mis si longtemps à coder cette nouvelle fonctionnalité? Pourquoi QA a-t-il trouvé des bogues dans votre code? Vous n'avez même pas testé quelque chose? Et pourquoi n'utilisons-nous pas dans notre application? "

Il est facile d’être sur la défensive lorsque les gens considèrent que nos bébés sont moches et lorsque notre travail acharné et nos sacrifices sont récompensés par la négativité et un manque d’appréciation. Même lorsqu'il s'agit de membres de l'équipe, le simple fait de signaler un problème négligé dans le code ou de demander une petite fonctionnalité supplémentaire peut entraîner une réponse aggravée et parfois accusatoire de la part de la personne qui l'a codée. Ce n’est cependant pas une attaque personnelle. Ce ne sont que des affaires. Lorsque le widget ne «fait pas le poids» et qu’il manque une «barre» au «foo», ce n’est pas la faute de la personne qui a trouvé le problème ni un problème d’attitude de la part des programmeurs. La façon dont nous répondons aux questions et aux plaintes des autres, que ce soient nos collègues ou nos clients, aura une incidence considérable sur la manière dont notre valeur pour l'entreprise est perçue et, en définitive, sur la mesure dans laquelle nous pouvons aller dans notre carrière.

Les programmeurs les plus performants ont la bonne attitude. Une bonne attitude l'emportera sur les compétences de tous les jours et sera reconnue et récompensée par les personnes les plus techniques.

L'empathie est la clé

Cependant, ce qui peut vraiment nous retenir dans notre carrière, c’est notre attitude. Pour les personnes qui résolvent des problèmes pour gagner leur vie, vous penserez peut-être que nous y arriverons un peu plus vite. Comme nous en avons discuté précédemment, personne ne se soucie du nombre d'heures travaillées ni de l'élégance ou de l'imagination de votre code. Se casser le dos pour obtenir notre code est considéré comme «en quoi consiste notre travail», et personne ne vous récompense pour avoir fait ce que vous êtes censé faire.

Ce que les autres remarquent, cependant, c’est comment vous répondez à leurs besoins et à leurs efforts. Le même principe s'applique, qu'il s'agisse de collègues, de clients ou d'utilisateurs finaux. Si vous voulez que les gens vous reconnaissent comme un excellent employé, ils doivent d'abord vous connaître et vous apprécier en tant que personne. Aucune somme de compétence ou de travail ne pourra jamais remplacer ce fait. J'ai vu certains des pires programmeurs que j'ai jamais vus gravi les échelons, dépassant les programmeurs beaucoup plus expérimentés et talentueux qu'eux-mêmes, simplement parce qu'ils savent s'entendre avec les autres et jouer. le jeu. Habituellement, ces mêmes personnes finissent par devenir des dirigeants et des gestionnaires, tandis que d’autres programmeurs continuent à se débattre dans leur propre «bulle» personnelle, se demandant où ils se sont trompés et pourquoi ils n’ont pas obtenu les promotions qu’ils estimaient méritées.

Voyons quelques exemples typiques pour voir comment nous pourrions aborder les choses de manière à ce que les gens réagissent plus positivement à ce que nous faisons et disons, compte tenu de la façon dont nous le faisons et le disons.

Boss: Je ne comprends pas pourquoi il a fallu 3 jours pour ajouter un bouton à une page? Que faisais-tu tout ce temps? Joe a ajouté un nouveau bouton à notre autre application la semaine dernière, cela lui a pris 2 secondes!
Mauvaise réponse: Joe travaille sur une application Windows et il a ajouté un bouton à une barre de boutons déjà conçue pour y ajouter facilement des boutons! Cette application est une application Web. Elle doit être correcte et fonctionner correctement sur tous les appareils. Elle doit également s'adapter de manière dynamique à la taille et à la rotation de l'écran, ainsi qu'au navigateur et à l'internationalisation en évolution! Vous avez demandé ce bouton là où il n'y avait pas de place pour un bouton. J'ai donc dû remodeler la plupart de la page autour de cette demande, tout tester dans différents navigateurs pour que la mise en page ne se casse pas sur de petits appareils, créer un nouveau service, ajouter nouvelle logique, yada yada yada…

Alors, pourquoi est-ce une mauvaise réponse? Oui, c’est vrai, votre patron n’a probablement aucune idée de la quantité de travail «invisible» lié au back-end consistant à «simplement ajouter un bouton», de la quantité de tests que le travail frontal peut nécessiter par rapport à la couche de gestion, de la moindre idée fait des heures supplémentaires pour y arriver, et n'arrive pas à comprendre qu'ils comparent des pommes et des oranges. Mais ce n’est pas leur travail, non? Et à un moment donné, tous ces détails commencent à ressembler à des excuses et à des justifications, ce qui est dommage lorsque votre patron se demande déjà ce qui se passe.

Ce que je suggère, c'est de «lire entre les lignes» et de voir les choses du point de vue de vos patrons. Votre patron n’a probablement jamais eu à écrire du code dans sa vie, et la raison pour laquelle cela vous a pris si longtemps n’est pas vraiment la question qu’ils se posent de toute façon. Ce qui importe pour votre patron, c'est de respecter ses délais, de rendre le client heureux, d'augmenter les ventes et de rendre son propre patron heureux. En vous souciant de ce qui préoccupe votre patron, vous les rendre heureux aussi. Utilisez votre empathie pour communiquer avec eux et avec leurs sentiments, et répondez à leurs besoins et objectifs. Par exemple…

Meilleure réponse: Je peux comprendre pourquoi vous vous sentez frustré et comprendre que l’ajout de cette nouvelle fonctionnalité est essentiel pour vous. C’est important pour moi aussi et je veux faire le meilleur travail possible pour que notre produit fonctionne parfaitement et que nos clients soient ravis. L'ajout de cette fonctionnalité a nécessité beaucoup de complexité en arrière-plan, et je suis heureux de vous en parler plus en détail si vous le souhaitez. Il a toutefois fallu un peu plus de temps pour s’assurer que le bouton fonctionnera parfaitement sur tous les appareils et dans toutes les situations, et pour le tester de manière approfondie afin de réduire l’assurance-qualité. À l'avenir, je veillerai à envoyer des mises à jour plus fréquentes pour que vous ayez une meilleure idée de l'endroit où je suis et de ce que je fais.

En d'autres termes, ne faites pas d'excuses, diable, vous n'avez même pas vraiment besoin d'expliquer, mais vous devez leur faire savoir que vous ressentez et comprenez leur douleur et que vous vous concentrez sur ce qu'ils sont. concentré sur. Faire une suggestion sur la façon d'améliorer les choses ne fait jamais de mal non plus, et les soulage de se faire une idée.

QA Person: J’ai testé à nouveau le nouveau bouton que vous avez ajouté, et c’est la deuxième fois que j’ouvre de nouveau ce ticket car il ne fonctionne toujours pas comme prévu. Avez-vous lu mes notes dans le bug? L'avez-vous même testé avant de l'enregistrer?
Mauvaise réponse: oui, j'ai lu vos notes et j'ai suivi toutes les étapes que vous avez décrites. Je ne peux tout simplement pas recréer le problème et je vous ai même envoyé une vidéo de ce qui se passe sur mon écran. Avez-vous vu ce que je vous ai envoyé? Si vous voulez que cela soit corrigé, vous devrez trouver un moyen de le recréer de telle sorte qu'il échouera également sur ma machine.

Le problème avec cette réponse est qu’elle est fâchée et inutile. Il exprime sa frustration à l’égard de la personne, puis lui impose le travail supplémentaire nécessaire pour faire quelque chose qu’elle estime déjà être de votre faute et due à votre inaction. Encore une fois, la meilleure approche consiste à «se mettre à leur place» dans votre réponse.

Meilleure réponse: merci de votre patience et d’avoir corrigé les erreurs que j’ai peut-être commises avant que le client ne les voie. Comme je n'arrive pas à reproduire cela sur mon système, pouvons-nous plutôt planifier une réunion demain matin? J’apporterai mon ordinateur portable à votre bureau et vous pourrez me guider dans ce qui ne va pas. De cette façon, nous pourrons nous assurer que nous comprenons ce qui ne fonctionne pas et peut-être que je pourrai régler le problème ici avant de partir afin que vous sachiez qu’il a déjà été testé et prêt pour l’enregistrement. Dites-moi quel genre de beignets vous aimez, et j'en apporterai!

Ici encore, la solution consiste à obtenir de la personne ce dont elle a besoin. Une personne d'AQ veut une facture en bonne santé sur l'application et est frustrée par ce qu'elle perçoit comme un manque de communication et de compréhension. En proposant de venir voir le problème de première main, cela témoigne de votre dévouement et de votre esprit d’initiative, et les aide à sentir comme si vous vouliez vraiment régler le problème. En fait, on leur offre une attention et un service individualisés, ainsi qu'une solution qui devrait garantir que le bogue sera corrigé correctement une fois l'enregistrement effectué. Les beignets pourraient bien être un peu un baiser, mais c'est tout. étonnant à quel point la nourriture vous mènera dans les relations.

Quelques conseils généraux à suivre pour se distinguer et être reconnu au travail

  • Ne vous excusez jamais, à moins que vous ne deviez réellement réparer le problème. Au lieu de cela, essayez une réponse positive. Par exemple, au lieu de "Je suis désolé d’avoir pris autant de temps", essayez "Merci d’être si patient".
  • Émulez les plus performants. Recherchez les stars du rock au travail, les gens que tout le monde aime et sur lesquels on compte. Ils font les choses de la même manière que les autres. Faites-vous des amis avec eux et imitez la façon dont ils agissent et répondent aux gens. Considérez cela comme une «meilleure pratique».
  • Entrez avant la plupart des gens, partez après eux. Bien que ce ne soit pas toujours possible, les gens vous remarquent, et s’ils ne sont pas là pour le voir, cela ne s’est pas produit. Si tout le monde arrive à 7 heures du matin et que vous valsez environ 11 heures, les gens auront l'impression que vous êtes paresseux et sans ambition. Si la plupart des gens travaillent jusqu'à 18 heures et que vous sautez vers 4 heures, ils pensent que vous avez envie de partir et que vous ne voulez pas travailler aussi longtemps que tout le monde. Les apparences importent, alors prenez-en conscience.
  • Soyez la vie de la fête. Les programmeurs ne sont pas toujours les animaux les plus sociaux, mais les personnalités influentes de la société le sont. Si vous voulez qu'ils vous remarquent, soyez visible. Invitez les gens à déjeuner tous les jours. Envoyez des courriels amusants. Placez un bol de bonbons gratuits sur votre bureau. Apportez des bagels le matin. Faites ces choses pendant une semaine et observez combien de nouvelles personnes commencent à vous remarquer.
  • Communiquez tôt et souvent. Si vous êtes Scrum tous les jours, c'est bien, mais si vous ne le faites pas, veillez à informer votre patron, votre chef et vos collègues de ce sur quoi vous travaillez et des problèmes de blocage que vous rencontrez. Il n'est pas nécessaire d'être trop prolixe, une simple mise à jour permettra à tout le monde de savoir que vous êtes sur place et que vous travaillez sur quelque chose et que vous vous souciez de votre sort.
  • Lorsque vous ne travaillez pas, ne parlez pas de travail. Si vous déjeunez avec le groupe, à la fontaine d’eau ou ailleurs, où convergent des gens qui ne sont pas liés au travail, soyez plus vulnérable et plus personnel avec eux. Renseignez-vous sur leurs familles, comment étaient leurs dernières vacances, s’ils avaient des projets pour la soirée, sur tout ce qui montre un intérêt pour leur identité et ce qu’ils aiment faire.

En fin de compte, la meilleure personne pour le poste n’est pas toujours le meilleur programmeur, c’est en fait la personne à laquelle les gens se rapportent et qui fait le plus confiance. J'ai déjà connu un gars qui travaillait pour la compagnie depuis un mois. C'était un gars plus jeune et pas très bon dans son travail, et manquait d'expérience. Cependant, chaque jour, il passait chez le patronat pour bavarder et lui raconter une blague ou deux. Un jour, alors qu'elle sortait pour aller aux toilettes, il a sauté sur son ordinateur et a placé des photos de David Hasselhoff sur son fond d'écran. Au lieu d’être virée pour avoir utilisé la machine d’un responsable, elle a trouvé cela intelligent et hilarant. Quelques mois plus tard, il a été nommé à la tête de notre groupe, un groupe dans lequel la plupart des autres personnes avaient plus de 10 ans d'expérience. Maintenant, je ne dis pas de faire irruption dans le PC de votre patron. Ce que je suggère cependant, c’est que cette attitude soit roi et que vous constatiez peut-être que cela vous amène beaucoup plus loin dans la société que votre codage élégant.

Laissez-moi savoir comment ça se passe!

Si vous aimez cet article, prenez quelques instants pour le suivre et suivez-moi afin que vous puissiez voir davantage de mes publications!