Vous n'êtes pas vraiment un développeur. Tôt ou tard, les gens se rendront compte que vous ne comprenez pas de quoi vous parlez. Vous n'êtes pas assez averti.
Peut-être avez-vous de telles pensées, sous une forme ou une autre. Personne ne vous a dit que vous n'étiez pas un développeur, mais vous continuez à y penser. Vous pensez peut-être ainsi en ce moment.
Je vais révéler un secret sur ce sentiment. Prêt?
Tous les développeurs, à un degré ou à un autre, pensent et ressentent de cette façon. Cela se produit si souvent que c'est devenu un chemin bien tracé que nous suivons tous.
Même les meilleurs d'entre nous - vétérans chevronnés et nouveaux arrivants très talentueux - sont saisis par des expériences désagréables similaires. Nous évaluons tous mal nos compétences en développement.
De plus, de telles pensées peuvent être nuisibles. Ils nous obligent à garder nos idées pour nous. Ils forcent les gens à refuser de participer à des projets. Ils réduisent nos perspectives et détruisent le potentiel. Ils épuisent la force et nous limitent. Ils nous privent de personnes.
Aujourd'hui, nous allons parler des sentiments . Pourquoi? Parce que les développeurs sont des personnes, pas des machines. Nos sentiments affectent la qualité et la jouissance de notre travail.
Cet article est dédié à tous ceux qui, au moins une fois, ont estimé ne pas pouvoir postuler à cette profession. Quiconque n'est pas satisfait de ses compétences en programmation ou ne se considère pas comme un développeur assez bon . Si vous vous êtes déjà senti mal à l'aise de vous appeler «développeur», cet article est pour vous.
Définition d'un développeur
Commençons par la définition principale. Prêt?
Un développeur est la personne qui écrit le code.
Et c'est tout! Il n'y a pas de Conseil Sacré qui vous donne le titre de développeur lorsque vous atteignez un certain niveau. Personne ne vous envoie un certificat sur parchemin avec des signatures ornées et un tampon argenté. Il n'y a pas d'examen officiel que vous devez réussir pour enfin, enfin, vous avez le droit d'être appelé développeur.
Parfois, ils jugent ce que signifie être développeur sur la base de critères artificiels. On appelle cela une filtration (gatekeeping), et
Si vous écrivez du code, vous êtes un développeur.
Peu importe si vous écrivez professionnellement ou pendant votre temps libre. Cela peut être fait dans la CLI, l'EDI, le Web ou dans une autre application. Il peut s'agir de code côté client, côté serveur, intégré, basé sur le cloud, local, distant ou autre. S'il s'agit d'un code, vous êtes membre du club.
Syndrome de l'imposteur
Le syndrome de l'imposteur est un état où vous vous sentez comme un tricheur: on dit, vous n'êtes pas assez bon et quelqu'un le comprendra à la fin, ou vous n'avez pas du tout votre place ici. La plupart des développeurs ressentent cela à un moment donné. Tu ne me crois pas? David Walsh a écrit un excellent article sur ses expériences comme celle-ci.
Dans notre industrie, il semble souvent qu'il y ait des super experts - des gens à la pointe du professionnalisme qui savent tout et ont des réponses à tout. Il est difficile de ne pas se comparer à eux et de ne pas ressentir vos lacunes. Mais cette sensation n'est que perception , pas réalité. Voici une bonne illustration :
Il peut sembler que tout le monde en sait plus que vous, mais ce n'est pas le cas. Un trésor entier de connaissances est stocké en vous. Au lieu de souffrir de ne pas savoir quelque chose, pensez à ce que vous pouvez faire et partagez-le avec les autres. Cela les enrichira non seulement, mais renforcera également votre compréhension de vos connaissances.
Entraînement de bâton de hockey
Lorsque vous commencez à coder, les choses sont extrêmement compliquées. À mesure que les compétences grandissent, cela devient plus facile. Et à la fin, vous arrêtez de penser au code et commencez à penser au problème à résoudre. C'est comme conduire: après une certaine pratique, vous pédalez déjà inconsciemment. Quelqu'un appelle cet état un flux .
Mais cela prend du temps . Il n'y a rien de mal si, même après des années d'efforts, vous n'êtes pas entré dans l'état de flux. Chaque nouvelle portion de connaissances vous en rapproche un peu plus. Chaque fois que vous entendez une énorme nouvelle fonctionnalité de langage ou une documentation lourde (ou apprenez simplement le jargon grok et grep ), vous vous rapprochez un peu plus du flux. Mais en réalité, la courbe d'apprentissage ressemble plus à un bâton de hockey.
Lorsque vous faites la moitié du chemin, vous tombez dans un piège.
Être développeur ne signifie pas monter au sommet des connaissances. Cela signifie grimper au sommet, profiter un peu de la vue, puis commencer à grimper au sommet suivant.
Il est tout à fait normal d'avoir l'impression d'avoir beaucoup à apprendre. Tout le monde a ce sentiment . Pour la plupart des développeurs, ce sentiment ne disparaît pas du tout. Voici l'une de mes citations préférées de John Archibald Wheeler:
Au fur et à mesure que notre île de connaissances grandit, les rivages de notre ignorance augmentent également.
Plus nous apprenons, plus nous comprenons combien il reste à apprendre.
Mentalité de croissance
Dans son excellent livre, Mindset , Carol Dweck explique pourquoi les gens adoptent l'une des deux façons de penser en apprenant.
La première image est figée : une personne croit que ses compétences ou ses connaissances dans ce domaine sont innées et immuables. Ce n'est pas qu'ils ne s'améliorent pas - ils s'améliorent - mais la personne est convaincue que ses capacités sont limitées. Et sa productivité illustre sa façon de penser. Le problème de cette façon de penser se manifeste dans des situations difficiles: les gens essaient d'éviter les difficultés parce qu'ils peuvent menacer leur image de soi.
La deuxième façon de penser est la mentalité de croissance. Cela implique que l'observation est une compétence qui peut être développée. Les difficultés sont perçues comme une opportunité d'apprendre de nouvelles choses. L'intelligence n'est pas statique, elle est mobile et changeante.
Les personnes ayant un état d'esprit de croissance surpassent presque toujours les personnes ayant un état d'esprit fixe au fil du temps. Oui, il y a des exceptions. Mais si vous regardez la situation dans son ensemble, la ténacité prévaut généralement sur le talent.
Il n'y a pas de honte à avoir un état d'esprit fixe. Chacun de nous adhère à l'un de ces types de pensée en relation avec des situations et des phénomènes différents. Mais le principal point à retenir des recherches de Dweck est qu'il est facile de basculer entre les deux.
L'astuce consiste à reformater votre attitude envers un sujet. Le développement logiciel est une compétence, pas une capacité innée. Il faut de la patience et de la pratique pour l'apprendre.
Alors la prochaine fois que vous mordez sur une tâche difficile, essayez de la voir comme une opportunité d'amélioration.
À quoi ça sert?
Qu'est-ce que tout cela signifie? Que vous êtes développeur . Bienvenue dans la communauté des développeurs.
Arrêtez d'évaluer votre position, vous n'êtes pas obligé. Les sentiments typiques du syndrome de l'imposteur ne sont que des perceptions. Soyez patient avec vos études. Changez votre façon de penser. Ce processus prend du temps et nous apprenons tous.
Et surtout: allez-y et écrivez le code .