Une fois avoir maîtrisé les rudiments du codage, il vous reste encore pas mal de choses à apprendre. En tant que programmeur pointilleux, vous devez continuer à développer certaines compétences pour coder comme un chef.
Très rapidement une question se pose : Qu’est ce que vous avez besoin de maîtriser en plus ?
En 2018, lorsque l’intelligence artificielle devient plus intelligente chaque jour et que par ailleurs que les gens se concentrent sur l’intelligence émotionnelle comme source naturelle de connaissances et de capacités, les spécialistes insistent sur les compétences générales pour réussir dans une carrière de développeur. La résolution de problèmes, la mémoire, la pensée critique, la communication et l’empathie c’est bien beau, mais y a-t-il autre chose à considérer ?
Voici cinq nouvelles compétences, non techniques et pourtant vitales pour les programmeurs avertis.
1) L’efficacité de la paresse
Non, la paresse n’est pas ce que les parents et les éducateurs vous ont enseigné. Pourquoi les gens qui réussissent, tels que Bill Gates, considèrent-ils cela comme une compétence incontournable pour les programmeurs ?
L’astuce consiste à développer votre appétence afin de réaliser un travail plus efficace. Il s’agit de la capacité à trouver des moyens d’accomplir des tâches difficiles, rapidement et de la meilleure façon possible (parce que habituellement vous êtes trop paresseux pour y consacrer beaucoup de temps et d’énergie). Dans ce contexte, la paresse est une compétence positive à développer, car il ne s’agit pas de procrastination, mais d’efficacité.
2) La pensée abstraite
Un code que vous écrivez n’est pas palpable. Ce que vous produisez ne peut pas être observé, mesuré et plagié (au moins, en cours de développement). Donc, vous devez exploiter votre pensée abstraite afin de créer quelque chose de concret.
La pensée abstraite est le fait d’observer à la fois sur plusieurs angles et plusieurs niveaux afin de tirer des conclusions analytiques de ce qui semble en apparence illogique ou imprécise. Un programmeur astucieux est capable de manipuler les symboles, les commandes et les processus, afin que d’utiliser le code comme un socle qui permet sa propre autogénération.
3) La logique
Vos connaissances en mathématiques, en physique et en programmation constituent un bon ensemble pour développer la compétence n°1 des programmeurs : la logique.
Entraînez-le comme un muscle : jeux cérébraux, puzzles de logique, jeux de société, journaux et lecture. Utilisez des applications comme Dcoder ou Dylomo pour résoudre des problèmes et créer des modèles de logiques en ligne. Aussi, faites de votre mieux pour développer une pensée conditionnelle, dont le modèle général ressemble à ceci :
if (une condition est Vrai) : alors faites ces choses seulement pour "Vrai" else : sinon, faites ces choses pour "Faux"
4) La persévérance
Jours et nuits passés sur un code pour le faire marcher : qui parmi les programmeurs n’a jamais connu cela ? Les échecs sont inévitables et doivent être utilisés comme des armes au quotidien. Plusieurs tentatives pour faire fonctionner un projet, différentes approches à essayer, des dizaines d’énigmes à résoudre : elles exigent toutes de la persévérance.
Prenez des erreurs comme des défis à surmonter plutôt que des signes de votre défaite ; votre attitude envers le succès est ce qui compte. Comme le définit Anurag Harsh dans son livre :
« La persévérance est la capacité de se remettre de l’échec, la capacité de se relever, de se débrouiller et de trouver un nouveau chemin vers la productivité et l’accomplissement, malgré l’échec involontaire… Cela contribue à la prise rapide de bonnes décisions. »
Pour développer la persévérance, vous devrez travailler sur vos vielles habitudes : la maîtrise de soi et changer votre état d’esprit sont la clé pour progresser. C’est dur, ça prend beaucoup de temps, mais ça vaut le coup.
5) Pensez binaire
Lorsque vous écrivez un code, vous faites des suppositions. C’est normal, car votre bon sens et votre pensée abstraite aident à élargir les fonctionnalités de votre futur application ou programme et, par conséquent, à améliorer sa réalisation finale. Mais ce que vous devez développer est une capacité à penser comme un ordinateur, ce qui ne signifie pas de fantaisie, d’hypothèses malvenues, ou de dépendances maladroites.
Pendant le codage, entrez uniquement ce que vous prévoyez d’entrer. Un ordinateur ne peut pas faire des ajustements qu’il n’est pas dit de faire. Soyez vigilant et ne vous laissez jamais dépasser contrairement au Stackoverflow de votre programme 🙂
Ne sous-estimez pas le rôle des compétences non techniques dans votre parcours professionnel. La connaissance technique est un must pour les codeurs avertis ; mais combiné avec l’empathie, la patience, l’attention aux détails, et l’indépendance, ils vous transformeront en véritable expert du métier que vous aimez tant !
Tentative d’Article traduit par Hugo C. et inspiré de : « 5 (New!) Skills You Need For Writing Better Code » de DZone