IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

L'importance de la vertu dans le développement logiciel
Par sean goedecke

Le , par Sean Goedecke

159PARTAGES

7  1 
L'importance de la vertu dans le développement logiciel, par sean goedecke

Les ingénieurs en logiciel se soucient beaucoup d'être intelligents et bien informés. Les conversations sur la façon de devenir un meilleur ingénieur logiciel sont souvent centrées sur l'apprentissage de faits : la syntaxe des langages de programmation, les modèles de conception, les détails du fonctionnement de certaines technologies, etc. Il est également indéniable qu'il est très utile d'avoir une bonne mémoire de travail, ne serait-ce que pour pouvoir faire tenir une plus grande partie d'une base de code dans sa tête. Cependant, il y a une toute autre dimension pour être un bon ingénieur logiciel dont on ne parle pas autant : la vertu.

Qu'est-ce que j'entends par vertu ? Je veux parler du type de personne que vous êtes : la qualité de votre moi intérieur. Faute d'un meilleur mot, votre "caractère" ou votre "fibre morale" . D'après mon expérience, les personnes qui ont un bon caractère sont des ingénieurs logiciels beaucoup plus efficaces.

Il existe environ un million de livres sur l'apprentissage des compétences en génie logiciel et environ zéro livre sur le caractère du génie logiciel. Pour une raison quelconque, il n'est pas très à la mode aujourd'hui de parler de vertu. Peut-être parce qu'elle est plus difficile à quantifier, ou parce qu'elle semble trop personnelle. Mais c'est toujours important. J'ai travaillé avec des ingénieurs très, très intelligents qui ont été freinés par leur manque de vertu.

Régulation émotionnelle

L'un des points que j'aborde souvent sur ce blog est que la gestion de ses propres émotions est un élément essentiel du métier d'ingénieur logiciel. De nombreux ingénieurs évitent le travail qui doit être fait parce qu'ils ont peur. S'ils recherchaient activement le travail qui leur fait peur, ils auraient un impact bien plus important - pas besoin d'écrire un meilleur code ou d'apprendre de nouvelles compétences techniques. Pour être un bon débogueur, il faut développer une forte tolérance à la confusion. Chaque projet connaît une période où l'on a l'impression qu'il va être un désastre. Il faut s'en sortir pour pouvoir expédier quoi que ce soit.

Quelle que soit la "vertu" ou le "bon caractère" , la capacité à gérer ses émotions au lieu de se laisser dominer par elles en est un élément clé. Cette idée remonte à Platon, qui pensait que la raison d'une personne vertueuse devait guider ses passions comme un humain conduisant un char. De nombreuses personnes pensent aujourd'hui que c'est plus compliqué que cela (par exemple, la distinction entre la raison et les passions est elle-même un peu floue), mais l'idée générale reste assez incontestable. L'incapacité à réguler ses émotions en tant qu'ingénieur logiciel nuit à chaque RP que l'on met en place.

Garder la tête froide en cas de crise

Garder la tête froide en cas de crise est une autre compétence sous-estimée des ingénieurs logiciels. Le déroulement normal d'un projet d'ingénierie logicielle est ponctué de nombreuses crises mineures : problèmes avec les clients, bogues, contretemps imprévus, nouvelles exigences, etc. Aucune de ces crises n'est particulièrement grave, à grande échelle, mais elles sont suffisamment sérieuses pour servir de tests de caractère.

Vous pouvez échouer à ces tests de façon modeste ou importante. L'échec mineur se traduit par un stress visible. Nous avons tous travaillé avec des ingénieurs qui ne géraient pas bien la pression et la répercutaient sur leurs collègues : ils se montraient brusques lors des réunions et des revues de code, difficiles à aborder et, d'une manière générale, ils n'étaient pas très sûrs d'eux.

Un échec retentissant se traduit par une panique totale. Soit on se ferme complètement et on ne communique avec personne, soit, au contraire, on envoie des messages de panique sur les canaux Slack. Dans un cas comme dans l'autre, cela inquiète les responsables, qui interviennent généralement pour imposer une certaine forme d'ordre. Souvent, ils le font en faisant appel à un autre ingénieur qu'ils savent capable de garder son sang-froid dans une situation chaotique - un ingénieur au caractère plus affirmé.

La connaissance peut être trop puissante

Les ingénieurs logiciels compétents sont en position de pouvoir réel dans toutes les entreprises technologiques où ils travaillent, quelle que soit la structure hiérarchique formelle. En effet, ce sont eux qui peuvent directement apporter des modifications au produit et, ce qui est peut-être encore plus important, qui peuvent répondre de manière définitive aux questions concernant le fonctionnement du produit. Ce n'est pas un pouvoir énorme, mais c'est un pouvoir certain. Malheureusement, ce pouvoir est suffisant pour monter à la tête de nombreux ingénieurs logiciels.

Si vous voulez être efficace en tant qu'ingénieur logiciel, vous devez travailler avec de nombreuses autres personnes qui n'ont pas le même contexte technique que vous. Il est très important de résister à l'envie de leur imposer vos connaissances supplémentaires. J'ai vu tant d'ingénieurs logiciels balayer des questions authentiques sur le produit en les qualifiant de questions stupides, ou écarter d'un revers de main une préoccupation réelle en donnant une réponse technique d'une ligne qu'ils savent que leur interlocuteur ne comprendra pas.

Cette arrogance est une faiblesse de caractère. C'est une faiblesse qui fait de vous un ingénieur logiciel plus faible, car vous avez besoin de personnes non techniques (ou moins techniques) pour faire quoi que ce soit d'utile dans une organisation. En fait, ces personnes possèdent de nombreuses connaissances que vous n'avez pas - elles sont juste assez vertueuses pour ne pas vous les montrer au visage.

Pourquoi les ingénieurs logiciels sont-ils souvent arrogants ?

Pourquoi l'arrogance est-elle si fréquente chez les ingénieurs en informatique ? C'est parce que les ingénieurs en informatique sont généralement recrutés pour leurs compétences techniques, de sorte que d'autres valeurs - comme la force de caractère - sont parfois négligées ou délibérément abandonnées. Pour les postes plus centrés sur l'humain, les recruteurs tentent directement d'identifier et d'écarter l'arrogance.

Vous pouvez également survivre dans un poste d'ingénieur logiciel si vous n'avez pas une grande force de caractère. Vous ne serez pas aussi efficace, mais vous serez en mesure de fournir un travail utile et de conserver votre emploi si vous êtes techniquement compétent. C'est beaucoup moins vrai pour les chefs de produit, les managers et d'autres fonctions.

Résumé

De nombreux livres et blogs vous expliqueront comment développer vos compétences en programmation fonctionnelle ou vous enseigneront les algorithmes. Mais si vous êtes déjà très bon dans ces domaines, vous feriez peut-être mieux d'essayer de devenir un être humain plus vertueux : mieux maîtriser vos émotions, mieux résister aux crises et faire preuve de plus d'humilité face au pouvoir institutionnel que vous confèrent vos connaissances techniques.

Source : The importance of virtue in software engineering

Et vous ?

Pensez-vous que cet avis est crédible ou pertinent ?
Quel est votre avis sur le sujet ?

Voir aussi :

Comment je livre des projets informatiques dans de grandes entreprises technologiques, par Sean Goedecke

Boostez votre carrière dans le développement de logiciels grâce à ces 10 compétences essentielles, par Mensur Durakovic

Pourquoi il n'est pas possible d'échanger les programmeurs : la programmation en tant que construction de la théorie, par Peter Naur
Vous avez lu gratuitement 83 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !