Je vois que de nouveaux développeurs entrent dans un travail et se sentent immédiatement inadéquats. J'ai fait de même au début de ma carrière. Je pense qu'il y a au moins deux problèmes majeurs que la plupart des gars intelligents doivent surmonter: la perception du temps et leur propre capacité naturelle.
Perception du temps
Les gars intelligents sont habitués à résoudre les problèmes assez rapidement. Je me souviens avoir été consterné quand j'ai dû passer une heure sur un seul problème de calcul. Passer 60 minutes sur un problème n'est plus rien. Ces jours sont finis ... enterrez-les et dites au revoir. La complexité et la taille de la plupart des logiciels sont aujourd'hui scandaleuses. Les gens ne comprennent pas tous les outils dont ils ont besoin pour faire avancer les choses. L'un des hommes clés du langage JavaScript, Douglas Crockford, a déclaré:
"Misapplication of standard tools...is the new standard."
Il n'y a tout simplement pas assez de temps dans le monde pour apprendre tous les outils de développement.
Capacité naturelle
Votre intelligence, votre capacité à résoudre des problèmes et vos compétences naturelles vous ont permis de vous lancer dans l'ensemble du développeur. Il n'y a tout simplement pas de place pour rien de moins dans ce domaine. Alors, que faites-vous avec 100 000 lignes de code, langages et frameworks que vous connaissez à peine, les modèles de conception et les paradigmes que les gens vous poussent, les gars qui le savent le plus comme le dos de leur main, les clients qui le veulent hier et un patron qui attend le monde de vous? Freak out car votre capacité naturelle échoue.
Oui, c'est normal. Je panique toujours avec certaines des choses qui me sont jetées.
Ce qui peut être fait?
Il est temps d'améliorer ces capacités naturelles avec un bon travail dur à l'ancienne. Travaillez à décomposer les problèmes en parties plus petites. Et sachez que contrairement à beaucoup de choses que vous avez pu faire dans le passé, ces problèmes prennent beaucoup de temps à résoudre. Alors n'abandonnez pas après seulement 15 minutes d'examen d'un problème complexe. Au lieu de cela, décomposez les problèmes et arrêtez de regarder l'horloge. Après un certain temps, 30 minutes de travail avec un problème ne sont vraiment plus ce qu'elles étaient.
La confiance en soi joue un grand rôle dans sa capacité à s'autogouverner. Il en va de même pour l'équipe, en particulier les seniors les plus expérimentés. Il est bon de faire attention à ne pas casser les choses, mais cela ne signifie pas que vous devez poser un flux constant de questions.
Utilisez plutôt le contrôle de code source. Tant que vous ne consignez pas un changement, vous ne pouvez pas casser le produit principal et mettre les autres développeurs en colère. Apportez également des modifications que vous pouvez comprendre et tester et assurez-vous de les tester bien avant l'enregistrement.
J'ai même un petit projet de test que j'utilise pour écrire des programmes simples et uniques, donc je n'ai pas à me soucier de tout ce qui se passe dans l'application principale.
Enfin, n'oubliez pas que chaque décision s'accompagne d'un certain niveau de concessions mutuelles. Il est impossible d'avancer sans faire une sorte de sacrifice à un certain niveau. Ne cherchez pas la perfection, ne cherchez pas à être génial et soyez attentif à vos actions. Parce que vous devez toujours être prêt à accepter les critiques et à expliquer vos idées et pourquoi vous les avez faites. Soyez fier des décisions que vous prenez. Même lorsqu'ils ont tort, il y a beaucoup à apprendre.