Qu'est-ce qui fait un bon développeur?
Hey! Bienvenue sur mon nouveau site web. Pour commencer, j'aimerais t'introduire à des points clés que je trouve important pour un développeur dans son travail quotidien!
1. Réfléchis avant d'écrire
Je vois parfois de jeunes développeurs directement se lancer dans la programmation de leurs applications sans même s'accorder le temps de réfléchir à celle-ci. Bien sûr, c'est une méthodologie qui va fonctionner pour de petits programmes faciles après peu de fonctionnalités. Mais aussitôt l'application en question beaucoup plus complète et nécessitant plusieurs couches complexes, cela devient obligatoire de tirer une chaise, s'asseoir et prendre le temps d'écrire des notes, d'analyser, de dessiner des schémas et de réaliser des recherches avant de programmer quoique ce soit.
Beaucoup d'applications sont étrangement inmaintenable dû à une pauvre analyse ou un manque de recherche. Et croyez-moi, j'ai vu de nombreux projets tomber dans tous les coins à cause de ça. Attention, collègues développeurs! Tu veux toujours réaliser le meilleur pour ton travail.
2. Communique
2.1. Apprendre à connaître son client
Tout ce que tu construis pour ton client doit être le résultat d'un besoin. Pour identifier la meilleure manière de créer le produit qu'ils veulent, tu dois apprendre à connaître ton client. Apprends ce qu'ils font, comment ils le font et pose-leur des questions sur comment ils se sentent par rapport à ça. Si tu veux rendre ton client heureux, tu dois d'apprendre savoir ce qui peut le rendre heureux! 😉
2.2. Discute avec ton équipe
C'est vrai que tu vas passer une grande partie de temps face à ton ordinateur. Mais ne sous-estime pas le côté social de ton boulot! En tant que développeur, collaborer avec son équipe est vraiment important. À qui fais-tu appel quand tu as des problèmes? Comment procèdes-tu quand tu découvres un bug en production? Que fais-tu quand tu veux prendre une pause au travail? Chaque entreprise a son propre moyen de répondre à ces situations. Parler avec tes collègues t'ouvre à mieux connaître ton entreprise, tes collègues et le contexte dans lequel tu travailles.
Cela rend aussi le développement d'un projet plus facile pour tout le monde. Quand tu parles avec tes collègues, tu garantis que vous ne vous marchez pas sur les pieds en bossant sur une même fonctionnalité ou en faisant quelque chose qui a déjà été réalisé auparavant. Puis, c'est une bonne chose de parler avec les autres si tu as des points bloquants. Ils pourraient déjà avoir vécu ça et leur expérience est un très grand atout! Être capable de régler les soucis rapidement et de déployer dans le temps alloué est un point critique dans ta carrière de développeur. C'est ta responsabilité d'être productif, d'estimer précisément le temps nécessaire pour compléter des tâches et de les terminer dans les temps.
3. Suis les pratiques établies
Ce point est quelque peu lié au précédent. Plus vite tu identifies les standards et les "best practices" utilisés au sein de ton entreprise, plus efficace tu seras à travailler en conformité avec ce qui est attendu de toi. Parle avec ton équipe, pose des questions, vérifie toutes les choses que tu peux et accepte les conventions communes. Ce n'est pas seulement important pour le futur du projet auquel tu es assigné mais aussi pour ta propre carrière et réputation.
Cependant, n'aie pas peur de chercher des moyens pour améliorer les procédés si tu penses que ça peut améliorer la productivité et l'efficacité de tout le monde.
4. Sois fainéant
Le premier principe que tu devrais toujours suivre quand tu bosses, c'est d'être fainéant. Attention par contre hein, je te dis pas de rien faire toute la journée! Je dis juste que tu devrais te focaliser sur délivrer le Minimum Viable Product (MVP) demandé. N'implémente pas des choses qui n'ont pas été demandées par le client parce que "ça sera utile un jour". C'est une perte de temps. Tu vas plutôt terminer avec un code inutilisé que personne ne voudra retirer parce qu'ils ne connaîtront pas son utilité et que "si on le retire, toute l'application tourne plus". Berk.
Ne réinvente pas la roue
est un bel exemple d'être fainéant. N'utilise pas ton temps à construire quelque chose que d'autres font bien mieux que toi. Utilise leur travail! Si tu as besoin de changer quelques petits trucs, tu peux toujours y revenir plus tard.
5. Écris du code
5.1. Écris du code fonctionnel propre
Ça peut sembler bête mais tu es payé pour faire marcher des choses. Donc ne lance pas des instructions dans un fichier en espérant que ça marche correctement. Le plus tôt tu fais de bonnes choses, le meilleur ton application sera. Navdeep Singh a écrit une histoire sur pourquoi écrire du bon code est important, et comment le faire. Lis-le. C'est en anglais et c'est super intéressant!
5.2. Écris du code facilement maintenable et améliorable
C'est sympa d'avoir du code fonctionnel et qui fait ce qu'on attend de lui. Cependant, même si ton code est compris par la machine, l'est-il des humains? À un certain moment, il y aura un.e autre qui devra se pencher sur ton code et le modifier. Et ça devrait être super facile!
Pense toujours à comment ton code est évident en l'écrivant. Les standards de ton entreprise et les meilleures pratiques ne vont pas t'aider à écrire du code compréhensible. C'est plus ou moins la même situation quand tu expliques ton métier à quelqu'un qui n'est pas de l'IT: tu expliques les choses de manière simple. Garde en tête que tu écris en réalité une partie d'une application qui sera un jour refactorée par quelqu'un d'autre. Et tu ne veux évidemment pas que ces personnes te maudissent et t'appellent par tous les noms quand ils tombent sur ton code.
5.3. Teste ton code
Pourquoi tester ton code? C'est vrai qu'il fonctionne super bien mais quand même. Tu ne sais pas de quoi sont capables les utilisateurs finaux...
Je recommande vivement aux managers de projet d'utiliser la méthodologie Test-Driven Development pour leurs projets. Le testing dans le monde IT est à mon humble opinion l'étape la plus importante du processus. Et il y a beaucoup de raisons:
- ça assure la qualité du produit: ça empêche d'introduire de bêtes bugs en production;
- ça évite de gaspiller du temps et de l'argent: tu peux construire des choses dont tu es sûr que les changements (ex: optimisation) ne casseront pas la fonctionnalité X alors que tu travaillais sur la fonctionnalité Y
- ça aide à sécuriser l'app: ça assure qu'il y a aussi peu de brèches que possible (on sait tous que le "risque zéro" est un mythe).
6. Vois les choses dans les yeux de l'utilisateur
L'empathie est réellement un bonus pour les devs. Te mettre à la place du client te permet de créer des apps facile à comprendre et utiliser.
Parle avec les UX designers si tu ressens que l'application est trop compliquée quand son seul but est de boire une tasse de café...
C'est aussi une bonne chose d'avoir des testeurs dans ton équipe qui vont agir comme des utilisateurs finaux et vérifier que rien ne semble bizarre, ne produise de problème, ne soit surcompliqué, etc. Ils jouent évidemment un rôle important dans le développement d'un projet.
7. Sois curieux et améliore tes connaissances et compétences
C'est la dernière partie de mon article et je voulais partager avec toi le meilleur conseil qu'on m'a un jour donné... Sois curieux à propos de tout! Il y a plein de choses autour de toi et chaque jour apporte son lot de nouvelles librairies, protocoles, ... Il n'y a pas assez de temps dans une vie pour tout apprendre mais ça ne signifie pas que tu ne devrais pas essayer de rester à jour. Voici une liste de choses que je fais personnellement pour rester à jour sur mes sujets favoris et améliorer mes connaissances et compétences:
-
J'essaye toujours de prendre le travail challengeant et complexe au lieu d'un truc facile que j'ai déjà fait des centaines de fois.
-
Je vais à des événements et je rencontre des gens. Le DevDay, le DevFM et d'autres nombreux événements organisés par le MIC Belgique...
-
Je m'implique dans des communautés. Par exemple, je suis un membre actif de SpaceY!
-
J'essaie d'aider les gens (ex: je bosse sur des projets open-source).
La meilleure chose que tu peux faire est d'être proactif.ve. Sois passionné par ton métier comme pour tout ce qui t'apporte de la joie!
Conclusion
Les développeurs ne sont pas une ressource commune. Les bons développeurs encore moins. Reste impliqué et remets-toi toujours en question. Je suis convaincu que c'est ainsi qu'on apprend.
Et selon toi, qu'est-ce qui fait de quelqu'un un bon développeur?