Devenir plus confiant en tant que développeur

Devenir plus confiant en tant que développeur

J’ai reçu un mail d’une certaine Pauline il y a pas longtemps. Elle se présentait et me demandait si ses connaissances étaient suffisantes pour devenir, et je cite, “une vraie développeur”. J’ai tellement reçu ce mail, de tellement de personnes différentes, que j’en fais carrément un article.

Un vrai développeur

Aujourd’hui, on va parler de cette idée que certains développeurs seraient plus des développeurs que d’autres.

C’est quelque chose qui revient tout le temps chez les développeurs plus juniors. C’est quelque chose qui concerne tous les développeurs.

Quand on veut faire partie d’un groupe, ou d’une communauté plus globalement, on se plie à ses règles et coutumes. Impossible d’échapper ça. Chez nous, c’est évidemment la même chose.

Et chez nous, ça se traduit par des choses du style : « un vrai développeur fait du C++ », ou « un vrai développeur n’utilise jamais sa souris », « un vrai développeur passe tout son temps libre sur leetcode » et d’autres conneries du genre.

Je t’épargne tous les autres exemples, j’ai vraiment lu et entendu de tous.

Sur un développeur senior tout ça à moins d’effet. Au pire, ça va t’énerver et tu risques de mettre des claques avec ton clavier à la personne en question.

Sur un développeur junior, c’est catastrophique. Car pendant que tu te construis tes compétences et ta vision du métier, tu te fais harceler. Des remises en question permanentes qui n’ont rien de logique.

La confiance en prend un coup et la capacité à apprendre avec. Souvent, juste pour faire plaisir à une autre personne qui croit bien faire à ce moment-là.

Et la tragédie commence quand tu apprends des choses par pression sociale, et non par désir. C’est une histoire sans fin.

L’histoire sans fin

Je suis passé par là. Comme beaucoup de monde, j’ai commencé par HTML/CSS/Javascript. La Sainte Trinité du web.

Je vais pas rentrer dans le débat qu’on eu tous les youtubeurs cette année. Faut-il commencer par la Sainte Trinité du web ? Moi j’ai commencé là et ça va très bien aujourd’hui. C’est peut-être pas optimal. En vrai, on s’en branle.

Sauf que tu t’y attends, très rapidement on m’a fait comprendre que je faisais pas du dev. J’étais pas un vrai. Au mieux, je faisais du traitement de texte.

Un vrai développeur, ça fait du vrai code tu comprends ? Un vrai langage avec de l’objet, des classes et tout ce qui va avec. Alors j’ai appris PHP.

Et puis quand t’es développeur PHP mais que t’es pas un tueur dans un framework, c’est bizarre. On te regarde comme si tu venais d’atterrir avec ta soucoupe volante. Alors j’ai appris Symfony. C’est devenu ma religion. Je t’en parlais dans une de mes vidéos dernièrement.

Et puis après on m’a dit que quand tu fais du web, t’es pas vraiment un développeur. Tu fais des sites internet, ça n’a rien de compliqué.

Alors j’ai appris Python. Et puis après on m’a dit que Python c’est trop facile. Pour être un vrai développeur, il faut attendre un langage plus complexe comme C++. Alors j’ai appris C++ en essayant de coder un jeu vidéo sur Unreal Engine.

Et j’ai continué comme ça pendant des années, d’outil en outil et de nouvelles connaissances en nouvelles connaissances. Je me rappelle perdre tout espoir devant certaines questions LeetcodeEst-ce que je suis vraiment fait pour ce métier ?

Enfin, j’ai fini par comprendre qu’il n’y avait pas de fin à tout ça. J’ai fini par comprendre que c’était un problème seulement dans ma tête. Un problème d’élitisme.

Comprendre l’élitisme en 30 secondes

L’élitisme existe partout. Ce n’est pas quelque chose qui est propre aux développeurs. Ceci dit, il est fortement présent dans notre métier. Et c’est très logique qu’il soit aussi présent.

Le développement est un métier très compliqué. Celui qui pense le contraire à un problème d’égo. Et quand cette complexité est « maitrisée », notamment avec certains outils ou certaines façons de faire, c’est là que l’élitisme fait son apparition.

Ce qu’il faut comprendre c’est que les gens qui imposent leur élitisme et leur façon de faire comme vérité absolue ne le font pas sans raison. Ce sont des gens qui se sont battus pour arriver à leur niveau de connaissance. Les professions complexes ont cet effet sur les gens.

Le développement ne fait pas exception à la règle.

Tant que tu n’auras pas galéré autant qu’eux, sur des sujets aussi complexes qu’eux, tu ne seras pas un « vrai ».

Je déteste ce genre d’attitude, mais c’est humain de réagir comme ça. Je me suis déjà surpris à avoir ce genre d’attitude. Évidemment, dans une version bisounours de tout ça. Je suis pas complètement con non plus.

Mais malgré toute ma bonne volonté et le recul que j’arrive à avoir sur les choses, parfois ça arrive.

Tu es un dev

Soyons clairs.

  • Si tu fais du code, tu es un développeur.
  • Si tu fais du code et que tu es payé pour, tu es un développeur professionnel.

Ce que je veux que tu comprennes aujourd’hui c’est que ces deux faits sont vrais. Et ça peu importe, ton langage, tes outils et ton niveau de connaissance.

Ne laisse personne te dire le contraire.

Tu n’es pas un « faux développeur ». Ça n’existe pas.

Mais je sais que ce sentiment est fort au début de carrière. Avec du temps et de l’expérience, une partie de ce sentiment va disparaitre.

Je vais pas te mentir non plus. Il ne va jamais complètement disparaitre. Je veux pas aborder le syndrome de l’imposteur aujourd’hui, car c’est un sujet à part entière. On y reviendra dans un article futur.

Tout ce que je veux te faire comprendre aujourd’hui c’est que l’élitisme dans le développement est la base de tout ça. Des gens qui n’hésitent pas à dénigrer les autres juste pour se prouver des choses à eux-mêmes. Et parfois, ça prend des proportions ridicules.

J’approuve le message de mon propre tweet. Tu serais surpris de voir combien de dev sont complètement remis en question quand ils changent de boite ou d’équipe. C’est courant et tout à fait normal. En général, ça remet bien en place côté élitisme.

Malgré toutes ces années d’expérience, rien n’est fixe et absolu. Le niveaux des développeurs est un long nuancier de gris qui bouge en permanence.

Tout n’est pas blanc ou noir. Il y a aussi des Arabes, des Chinois et des gens qui croient aider, mais qui font qu’empirer les choses. Cette blague est totalement volé à la série Crossed et j’en suis très fier.

En tout cas si ton objectif est d’être plus imperméable et te sentir mieux en tant que développeur, ll y a deux choses très simples que tu peux faire dés maintenant.

Pour te sentir mieux en tant que développeur, je pense qu’il faut être pragmatique dans sa façon d’aborder et de faire ce métier. Et prendre le temps de construire ses connaissances avec de la pratique.

Développeur pragmatique

Je me souviens que la première chose qui me faisait complètement paniquer en tant que junior c’est la quantité de savoir que les autres développeurs avaient autour de moi. Notamment en termes de bonnes pratiques, de philosophie d’organisation de code et de règles générales pour faire de la qualité.

J’avais toujours l’impression d’être à la ramasse. Ça me semblait insurmontable. Et en fait, si j’avais rien fait, j’allais rester dans la même situation.

Et puis un jour, je suis tombé sur le livre The Pragmatic Programmer. C’est de loin le bouquin qui m’a donné le plus confiance en moi et en mes capacités. Il parle évidement de technique, mais pas que.

Ce livre m’a enseigné l’approche pragmatique du métier de développeur. Et j’applique ces conseils tous les jours. Il a calmé mes angoisses envers mon code, envers les autres, et surtout envers moi.

Il m’a appris le principe d’entropie dans le développement. C’est responsable de la plupart des codebase pourris. Il m’a appris à parler requirement avec un client. Il m’a appris à débuger efficacement. Il m’a appris à résoudre des problèmes « impossibles » dans mon code. Il m’a appris à communiquer avec les autres développeurs efficacement. Il m’a appris à donner du feedback et surtout savoir recevoir du feedback négatif.

The Pragmatic Programmer est en trop grosse partie responsable de la confiance que j’ai en tant que développeur. Et je le conseille à tous les développeurs, peu importe le niveau.

Mais tous ces bons conseils ne sont rien sans la pratique.

Pratiquer

Je pourrais te donner toutes les astuces du monde pour te sentir mieux en tant que développeur, ça servira à rien si tu pratiques pas de ton coté.

Et normalement, je suis censé te donner une liste de side projets à faire. Des sujets complets, qui te font toucher à tout. Des sujets chiants à mourir que tu finiras jamais avant de te tirer une balle dans la tête à cause de l’ennui. Crois moi, ça va pas t’aider à apprendre plus de choses.

Je le sais parce que, encore une fois, moi aussi je suis passé par là. Et mon conseil est très simple. Fais un projet sur un sujet qui t’intéresse vraiment. Peu importe l’utilité, les technos utilisées ou ce que ça te fait travailler comme concept.

Si tu fais pas quelque chose que t’aimes pas, tu ne le finiras pas.

Comment trouver une idée ? Comment se motiver ? Comment trouver du temps ? Je répond à tout ça dans l’article dédié aux projets persos.

Un projet perso n’est pas une corvée. C’est en remplaçant la notion de corvée par le fun que tu feras beaucoup de pratique. Et la pratique est la clef ultime vers plus de confiance en tant que développeur.

Leave a Reply

Your email address will not be published. Required fields are marked *