Deux types de développeurs : Hackers vs Builders

Il y a deux types de développeurs : les hackers et les builders — ceux qui aiment bidouiller et ceux qui aiment construire.

Le Hacker

Le hacker aime la bidouille, c'est un passionné de la programmation. Il aime chercher, trifouiller des solutions obscures et trouver des solutions innovantes. On le reconnaît par plusieurs points. Tous ne sont pas nécessaires pour correspondre à l'archétype du hacker, mais vous allez en trouver de nombreux chez vos amis bidouilleurs.

  • Il est souvent adepte des Raspberry Pi.
  • Il aime les belles architectures (clean architecture, architecture hexagonale, SOLID, etc.).
  • Il fait toujours du code très propre et lisible.
  • Il aime les tests unitaires et les tests d'intégration.
  • Il pense à toutes les questions de sécurité.
  • Il adore le TDD.
  • Il cherche à tout optimiser.
  • Il adore faire des pipelines pour automatiser la moindre tâche et passer des journées entières à les paramétrer.
  • Il pense au futur de l'application et à comment s'adapter à la future surcharge d'utilisateurs.
  • Les performances, c'est primordial.
  • Il développe à la main des librairies ou fork des librairies existantes pour correspondre parfaitement aux besoins de l'application.

C'est un passionné du code, il fera tout pour créer la meilleure application possible, mais sachez que le résultat importe peu : ce qui compte, c'est le chemin et que ce soit bien fait.

Le Builder

Le builder aime construire. Ce qui le passionne, ce n'est pas le code en lui-même, mais de construire quelque chose, d'avoir un produit final et utile. Il aurait très bien pu être dans un autre domaine comme la construction de logements. Il aime construire des choses qui sont utiles et qui résistent au temps. Voici plusieurs points vous permettant de reconnaître l'archétype du builder :

  • Il veut aller vite.
  • Il veut pusher directement sur master.
  • Il déteste toutes les cérémonies (les réunions, les sprints, les poker plannings, etc.).
  • Il n'écrit jamais de tests.
  • Il se fiche du typage.
  • Le langage ou le framework n'a pas d'importance. Il utilise celui dans lequel il est à l'aise.
  • Les architectures, ça ne l'intéresse pas du tout.
  • Moins il y a de CI, mieux c'est.
  • Plus l'infrastructure est simple, plus ça va vite et plus c'est robuste.
  • Il veut un prototype de l'application rapidement.
  • Il veut que l'application soit facile à utiliser et agréable à l'œil.
  • Tant que l'application marche, c'est bon.

Le builder, ce qui le fait vibrer, ce n'est pas le code, c'est de rentrer chez lui en ayant accompli quelque chose d'utile, quelque chose qui va être utilisé et qui aura une forte valeur. Il veut pouvoir livrer en main propre quelque chose de fonctionnel au client rapidement.

Conclusion

Voici les deux archétypes principaux de développeurs. Vous vous y êtes reconnu ou alors vous avez sûrement reconnu certains développeurs de votre entourage dans l'une des catégories.

Maintenant, j'ai quelques questions à vous poser. Prenez le temps de réfléchir pour chacune d'elles et répondez-y honnêtement.

  • Parmi les deux archétypes : hacker vs builder, lequel qualifieriez-vous de mauvais développeur ?

  • Pour construire votre application, privilégieriez-vous un bidouilleur ou un constructeur ?

  • Dans votre projet actuel, êtes-vous plutôt une équipe de hackers ou une équipe de builders ?

  • Dans le projet legacy de votre entreprise — celui qui a du succès et rapporte de l'argent — a-t-il été codé par un hacker ou par un builder ?

  • Dernière question et la plus importante : pourquoi avez-vous choisi deux archétypes différents pour la question une et la question deux ?