5 qualités d’un bon développeur

Aujourd’hui, nous vous proposons un sujet un peu particulier, centré sur les qualités qu’il faut avoir pour être un bon développeur. Dans l’imaginaire collectif, un développeur (et plus généralement un informaticien) est l’archétype du geek : c’est un homme seul, qui a une barbe, des lunettes, qui ne sort pas beaucoup de chez lui, qui aime les sciences, les chats, bref. Autant dire qu’il a une vie peu passionnante au regard des standards véhiculés par notre société. Bien que les caricatures puissent toujours posséder un fond de vérité, elles n’en demeurent pas moins poussives. Dans cet article, nous allons nous émanciper des stéréotypes et autres qualités requises dites factuelles et logiques, à savoir qu’il est important d’avoir un esprit analytique et un certain attrait pour les nouvelles technologies. Nous allons vous faire découvrir d’autres qualités que la majeure partie de la population ignore ou prenne pour des défauts et qui sont, sinon indispensables, tout aussi importants.

1. Le développeur est paresseux

Le saviez-vous ? Un bon développeur est une personne paresseuse à l’extrême. Ne lui demandez jamais de faire la même action deux fois, car c’est une fois de trop. Dès lors qu’il y a répétition, son cerveau comprend “automatisation”. S’il le faut, il passera plus de temps à développer (ou à trouver) un concept pour automatiser l’action qu’il n’aurait fallu de temps pour la faire de lui-même. En effet, il n’aime ni perdre son temps en chimère ni réinventer la roue. Si ce qu’il a à faire a déjà été pensé, conçu et exploité ailleurs, aucun doute, il utilisera et exploitera au maximum le filon. Il faut bien comprendre que chez un développeur, une ligne de code n’a pas d’autre destin propre que celui de faire parti d’un ensemble qui doit pouvoir être articulé et réutilisé n’importe où, n’importe quand, quelles que soient les circonstances. Cette raison fondamentale est au centre même de l’idée de bibliothèques logicielles et de paradigmes comme la POO (pour Programmation Orientée Objet). Comme disait déjà en son temps le philosophe grec Anaxagore, repris plus tard par Antoine de Lavoisier : “Rien ne naît ni ne périt, mais des choses déjà existantes se combinent, puis se séparent de nouveau”, ou, autrement dit : “Rien ne se perd, rien ne se crée, tout se transforme”.

2. Il est de nature pessimiste

Si le monde tend à vouloir être optimiste en toute circonstance, le développeur lui vit dans la dure réalité des programmes : “que se passe-t-il si ça plante ?”. Cette question se doit d’être au cœur de toutes les préoccupations dès les prémices de la conception. Le développeur doit toujours partir du postulat que ça ne marchera pas, justement pour faire en sorte que ça marche. Nous touchons ici la base des procédures permettant de garder un système opérationnel. Un programme informatique complexe peut être assimilé au corps humain : si le cerveau est le centre des opérations, d’autres parties cruciales doivent cependant pouvoir s’auto-réguler (le cœur, la respiration, etc.). Ce n’est pas parce qu’une portion du code plante que le programme dans son ensemble doit planter ! Il faut être en capacité d’imaginer les pires scénarios possibles. Les procédures de récupération doivent être pensées en amont, et seuls des esprits critiques et pessimistes sont en mesure d’imaginer, de conceptualiser, d’analyser et de résoudre de telles situations avant qu’elles ne se produisent.

3. Il couve une paranoïa aiguë

Autre qualité qui dans la vie courante est perçue comme étant un défaut : un bon développeur est une personne paranoïaque, qui comprend que tout ce qu’il met en place augmente le risque de faille potentielle. En effet, plus un programme est volumineux, plus il dispose d’instructions et de conditions à même d’être exploitées par des intervenants extérieurs. Dès lors, le développeur se doit de placer la sécurité au centre de son action en partant toujours du principe que son programme est vulnérable. Dans son travail journalier, cette logique sécuritaire l’amènera systématiquement à fermer son code à tout le monde, puis à l’ouvrir avec parcimonie en fonction des besoins et des circonstances.

4. Il cultive le goût du détail et de la perfection

Amateur de procédures et cartésien, le développeur aime s’astreindre très précisément à son cahier des charges. Il est exigeant et très pointilleux. Il comprend que le Diable se cache dans les détails et qu’une coquille peut faire s’écrouler une structure toute entière. En cela, il vérifie sans cesse son travail et celui de ses collaborateurs, il élabore des conventions communes (syntaxiques, manières de procéder, hiérarchisation de l’information et des priorités), il documente avec soin ses démarches et met en place les outils de suivi adéquats. Enfin, il pose souvent peu de questions, mais celles-ci ont une fâcheuse tendance à faire mouche. La pertinence de son propos est à la hauteur de son expertise technique. Souvent peu à l’aise en matière de communication, le développeur se rattrape par sa capacité très nette à expliquer en détails des concepts poussés. Cette clarté d’esprit et son inhérente malléabilité lui permettent de jongler sur différents aspects techniques et d’avoir une courbe d’apprentissage plus rapide que la moyenne.

5. Il possède une curiosité insatiable

Un bon développeur aime sortir des sentiers battus. Jamais à court d’idées, il s’évertue à ouvrir son champ des possibles. Le fait qu’il soit paresseux tend à augmenter sa curiosité, l’obligeant à aller littéralement chercher l’information, en confrontant son opinion aux autres. S’ennuyant très rapidement après avoir rongé un os, il se donne sans arrêt des défis. Avant tout, c’est un passionné et un imaginatif, qui n’hésite pas à passer des heures devant l’écran pour apprendre, comprendre et tester. Son esprit logique et analytique ne s’arrête jamais vraiment, il continue parfois sans s’en rendre compte à réfléchir à comment résoudre un problème ou mieux appréhender une solution trouvée. Par-dessus tout, il a ce besoin de partager ses connaissances avec d’autres développeurs. Il estime que son savoir n’est rien s’il ne peut s’agglomérer à celui des autres et, en cela, il est humble, conscient de l’immensité des connaissances qu’il n’apprivoise pas encore.

Pour conclure

Cet article est à présent terminé. Nous espérons qu’il vous aura mieux permis d’appréhender la mentalité d’un développeur et sa façon de penser. Nous ne saurions être complets sans ajouter que tout ceci s’apprend et n’est pas inné. De très bonnes écoles forment aujourd’hui des développeurs accomplis dans les métiers du web et plus globalement dans les métiers de l’informatique. Porteur d’avenir, le développement a le vent en poupe. Nous vous invitons à vous renseigner si cet article vous avait donné envie de rejoindre cette formidable communauté !

Vos commentaires