L'article du train de 13 h 37 ne pouvait donc pas trouver meilleur lecteur et pour le coup, il m'a permis de formaliser un peu mieux la façon dont j'aborde mon métier de développeur.

Tout d'abord, il m'a permis de comprendre que ce n'est pas pas parce que je ne lance plus Photoshop ou Illustrator qu'une fois par mois en moyenne que je ne suis pas pour autant créatif.

En fait, c'est même tout le contraire puisque je pense qu'en fin de compte, devenir développeur m'a permis de le devenir réellement.

On peut ainsi être créatif en utilisant une méthodologie ou une architecture originale au sein de son code, ou en gérant des situations difficiles avec des méthodes inédites.

Je suis en effet un fervent adepte du coder différemment, de la méthode originale, du truc improbable, quitte à battre en brèche le credo DRY si (trop) cher à certains dans certaines situations et plus particulièrement lorsque les outils à ma disposition me semble inadéquats ou être une partie du problème plutôt que de participer à sa résolution.

Évidemment, parfois, cela me coûte cher car il m'arrive de me planter, mais je m'enrichie tellement de cette démarche à contre-courant que je n'imagine pas un seul instant y renoncer.

En effet, c'est grâce à cette attitude non conventionnelle que j'ai autant appris au cours de ma vie de développeur et qui fait qu'aujourd'hui, je suis capable d'apporter une réponse correcte (ou tout au moins un début de solution) à la plupart des problèmes qui me sont posés, ou bien encore que je suis capable de coder un client sftp en une instruction PHP là ou d'autres le font en 300 lignes.

Cette volonté de différenciation m'oblige en effet à lire des tonnes de documentation, à discuter de tout avec tout le monde, à faire de la revue de code à m'en sortir les yeux des orbites et plus généralement à faire une veille constante sur tout et n'importe quoi afin de trouver de nouvelles voies, d'envisager les choses sous un autre angle et ainsi pouvoir apporter une solution plus simple, plus efficace et plus élégante que celle venant à l'esprit de tout à chacun.

Du coup, forcément, je passe souvent au mieux pour un extra-terrestre et au pire pour un extrémiste et/ou un dingue, que ce soit professionnellement ou dans le cadre de mes projets personnels.

J'ai ainsi fait par exemple certains choix hors normes lors du développement de atoum, mon framework de tests unitaires pour PHP ≥ 5.3 car ils me permettaient d'atteindre les objectifs de simplicité et de modernité que je me suis fixé lorsque j'ai débuté ce projet (j'espère que mon lecteur de chez Orange Business Service appréciera la subtile variation ;)).

Être créatif, ça veut dire être à contre-courant

Ces choix sont d'ailleurs parfois remis en cause par des utilisateurs qui les trouvent trop abruptes et/ou trop disruptifs car ils les obligent à sortir de leur zone de confort, à voir les choses autrement et donc à changer leurs habitudes, à évoluer.

Cela occasionne alors d'ardentes discussions entre les utilisateurs et les contributeurs, mais pour autant, je tiens bon et je reste fidèle à mes idées car même si je sais pertinemment qu'elles peuvent être être un handicap pour le projet pour certains, elles font également sa force et je n'ai aucune envie d'y renoncer.

En effet, atoum n'a jamais eu pour vocation d'être un clone de l'existant mais bien au contraire d'être innovant à tout point de vue afin d'apporter une expérience utilisateur différente et encourager indirectement certaines bonnes pratiques et ce sont ces idées qui lui permette d'y parvenir.

Y renoncer ou bien les dénaturer reviendrait donc à faire de atoum un produit équivalent à ce qu'il existe déjà sur le marché, et ça ne m'intéresse en aucune manière.

En refusant de fuir une situation d’inconfort provoqué uniquement par la pensée à contre-courant et en persévérant dans la pensée créative, il est possible de créer une nouvelle zone de confort où personne n’avait encore mis les pieds

Du coup, mes utilisateurs m'interrogent sur les raisons qui m'ont poussé à faire ces choix, à ne pas faire comme la concurrence, et la plupart du temps, je leur répond par une question.

J'ai en effet besoin de comprendre la motivation afin de pouvoir répondre à leur véritable problème car dans la plupart des cas, la question de départ a pour but de trouver une solution à un symptôme et non au problème qui en est à l'origine.

C'est d'ailleurs une attitude que j'ai souvent également en dehors du cadre professionnel, et si elle est parfois mal perçue puisqu'elle oblige en général (encore une fois) mes interlocuteurs à sortir de leur zone de confort en les forçant à affronter leur véritable problème, elle me permet d'explorer le problème sous différents angles et ainsi imaginer la meilleure solution possible.

Je ne peux donc que vous encourager à être créatif, car bien que nous n'ayons pas pas un métier considéré comme tel, nous avons tout à y gagner à l'être, surtout lorsqu'on fait le parallèle avec l'interview dont j'ai parlé dernièrement dans laquelle Roberto Di Cosmo considère que la création de logiciel est la tâche la plus complexe au monde actuellement mais que c'est aussi et surtout de l'artisanat.

Alors la prochaine fois que vous ouvrirez votre éditeur de code, ayez le courage d'avoir un regard critique sur votre travail et regardez si, par hasard, en faisant autrement, en utilisant d'autres outils, en n'étant pas la dans la norme ou bien en vous posant des questions ou en n'en posant à d'autres, votre code ne serait pas plus élégant, plus beau et plus efficace !