Signes de vrais programmeurs seniors et méthodes pour les suivre dans la nature

Il existe une grande variation dans les niveaux de compétence des développeurs. Et ce que l'on appelle la «seigneurie» ne dit souvent rien des possibilités réelles d'un programmeur. Qu'est-ce qui rend certains développeurs objectivement meilleurs que d'autres? Qu'est-ce qui les distingue de la foule grise?
Si un programmeur a cinq, dix ou même quinze ans «d'expérience pratique», cela ne garantit pas nécessairement qu'il est un senior efficace et productif. En fait, cela ne signifie même pas que cela peut même être appelé ainsi.

Bien sûr, il y a aussi de telles personnes malheureuses, à cause desquelles une mauvaise réputation a été établie pour les personnes âgées qui réussissent, qui ne sont généralement pas jeunes. Mais les jeunes seigneurs ne sont pas plus faciles non plus. Cependant, il existe certains traits et connaissances communs à divers programmeurs seniors.



Cela ne veut pas dire que les vrais seigneurs connaissent certains secrets de la compétence professionnelle. Ils se distinguent plutôt par une structure spéciale de connaissances, une pensée spéciale. Les deux se prêtent au développement.

L'auteur du document, dont nous publions la traduction aujourd'hui, dit vouloir parler de certains des signes qui aident à distinguer un vrai programmeur-sénateur d'un programmeur avec «seigneurie».

Paradigmes de programmation


Principes SOLIDES, programmation orientée objet et fonctionnelle - ce sont trois paradigmes de programmation, trois méthodologies d'écriture de code propre, qui constituent une partie importante des approches conceptuelles derrière la création de programmes.

Beaucoup de programmeurs juniors manquent une chose importante dans leur travail, c'est que la programmation est un langage. Cela signifie que la programmation est plus qu'un ensemble de règles de grammaire. Il s'agit d'un moyen de communication, un phénomène qui peut être structuré de plusieurs façons. Les paradigmes de programmation aident à former une certaine position concernant la façon dont le code est perçu et comment il transmet les informations.

Tout le monde peut écrire du code - tout comme n'importe qui peut écrire un message dans un messager ou une courte critique d'un livre sur Amazon. Mais de tels textes ne peuvent être mis sur un pied d’égalité avec les romans de Stephen King. Les paradigmes de programmation agissent comme la force directrice derrière le code que les personnes âgées écrivent. Cela rend les paradigmes similaires aux structures de l'intrigue que les auteurs de fiction suivent. Toutes les langues sont imprégnées de formules. Les développeurs seniors les comprennent à un niveau profond, auquel les Joons et les MIDL n'ont pas encore atteint.

Capacité à créer


Lorsque nous arrivons dans le monde des boucles for et if else , nous posons des questions et essayons de trouver des réponses sous forme de code qui peut être copié et collé dans notre projet quelque part. Le niveau de compréhension de ce code est ce qui caractérise les qualifications des juniors qui viennent de commencer et du milieu débutant.

Les personnes âgées, cependant, vont au-delà de la copie. Ils peuvent créer quelque chose de nouveau sans l'aide spéciale du tout-puissant Google. Ils savent ce qu'ils font, ils comprennent comment leurs décisions affectent les résultats de leur travail. Ils peuvent voir ou au moins anticiper des situations anormales. Ils comprennent les problèmes de leur code et savent comment y faire face.

S'ils ne savent pas quelque chose, ils comblent les lacunes de connaissances, comprenant sérieusement les questions peu claires, non limitées à leur étude superficielle. Ils comprennent profondément tous les outils qu'ils utilisent. Le monde du code ne regarde pas aux yeux des seniors de la même manière qu'aux yeux de juin ou du milieu.

Critique objective


Tout le monde préfère ce qu'il sait. Les juniors et les intermédiaires montrent une forte tendance à se concentrer sur leur propre expérience, plutôt que sur ce qui se rapporte au code qu'ils analysent. S'ils font une proposition, ou s'ils apprécient quelque chose - la base de tout cela est leur préférence personnelle. C'est un style d'écriture de code, des façons de nommer des entités, des méthodes de pensée.

Il n'y a rien de mal à cela. Tout cela fait partie du processus de croissance professionnelle. Afin d'atteindre une véritable objectivité des jugements, un programmeur doit aller dans de nombreuses situations et voir par lui-même comment quelque chose qui est inacceptable dans un cas, dans un autre peut être la meilleure solution à un problème. Cela développe une vision neutre des choses. Il n'y a pas une seule bonne façon d'écrire du code. Il n'y a que des moyens efficaces dans une certaine situation et dans un certain scénario. Les programmeurs seniors le comprennent. Ils sont prêts à accepter que leur code ne soit pas une sorte de «meilleur» code et qu'il puisse être amélioré.

Les personnes âgées deviennent souvent des contrôleurs de qualité du code productifs, soulignant l'encombrement que leurs collègues font dans les programmes et notant les faiblesses de l'architecture des applications. Ils sont capables de voir l'image globale du projet, d'évaluer la possibilité de problèmes complètement inattendus. Cependant, ils ne sont liés à aucun style d'écriture de code ni à aucun paradigme de programmation. Le centre de leur attention n'est pas les outils, mais le résultat.

La différence entre un bon programme et un programme de travail


Les développeurs créent du code dont la tâche principale est de démarrer. Certains d'entre eux s'y attardent et pensent que le code de travail est tout ce dont ils ont besoin. D'autres vont un peu plus loin et s'efforcent de s'assurer que le code fonctionne non seulement, mais également écrit en haute qualité. Les meilleurs développeurs sont les professionnels qui éditent et réécrivent notre code dans le processus. Ils peuvent accepter d'utiliser une conception non réussie, mais dès qu'ils auront la possibilité de le réparer, ils le feront. Ces développeurs comprennent la différence entre un bon programme et un programme de travail.

La plupart des gestionnaires ne sont intéressés que par la performance du programme. Mais les bons développeurs seniors voient la situation plus profondément. Ils comprennent le coût caché de la dette technique et sont capables de reconnaître un code qui indique la présence de problèmes profonds dans le système. Ils savent combiner le besoin commercial de programmes de travail avec la qualité du code. Cela leur permet de trouver un équilibre entre la livraison des projets dans les délais et l'inclusion de fonctionnalités supplémentaires dont les clients du projet se souviennent loin du tout début du travail.

L'étendue de leurs connaissances, leur compréhension des frameworks et des langages de programmation, font d'eux des experts en matière de recherche de différence entre programmes de travail et programmes de qualité. Ils peuvent créer les deux. Cela donne aux vrais aînés l'occasion de trouver des solutions créatives aux problèmes dans diverses situations.

Capacité d'apprendre


L'enseignant médiocre pose. Un bon professeur explique. Un enseignant exceptionnel montre. Un grand professeur est inspirant.
William Arthur Ward

Les vrais développeurs seniors ont une passion pour la technologie qui inspire leurs coéquipiers moins expérimentés, aidant les débutants à devenir des professionnels de premier ordre.

La programmation, en soi, est un ensemble de certaines idées. Les aînés ont la capacité d'exprimer ces idées de façon concise et claire. La capacité des personnes âgées à transférer du code entre différentes interfaces et différents environnements démontre une véritable compréhension de leur langage de programmation choisi.

Pour enseigner quelque chose à quelqu'un, il faut un certain niveau de connaissance du sujet. Ce qui est appelé «expérience de travail» peut apparaître dans le curriculum vitae d'un programmeur comme une liste de ses projets terminés, ou comme le temps où il a travaillé dans différentes entreprises. Mais la capacité d'enseigner aux autres est une compétence qui n'est disponible que pour quelqu'un qui possède vraiment son métier.

Résumé


Un véritable développeur senior est une créature à multiples facettes qui, parfois, lorsqu'il s'agit de domaines en dehors de son cœur de métier, peut ressembler à juin ou à un milieu. Mais le seigneur a une base puissante dans le domaine de la philosophie de programmation.

Cependant, les caractéristiques ci-dessus des personnes âgées - c'est ce qui est présent dans leur personnalité et dans leurs connaissances professionnelles. Cela leur permet d'apprendre de nouvelles technologies plus rapidement que certains programmeurs "moyens". Souvent, les personnes âgées sont des personnes capables de saisir d'un coup d'œil le tableau général de ce qui se passe. Ils sont capables de regarder le code sans préjugé ni superstition.

Le vrai seigneur conduira ses collègues à prendre l'habitude de créer du code propre. En même temps, ce ne sera pas une force destructrice qui essaiera de presser tout ce qu'elle rencontre dans le lit procrustien de sa propre expérience. Cette personne accepte calmement les erreurs de ses collègues et les siennes aussi. Il cherche à apprendre et à apprendre des erreurs, et non à humilier des collègues moins expérimentés.

Un développeur senior peut être une personne de tout âge, il peut provenir de n'importe quelle branche des technologies de l'information, son «expérience pratique» peut être calculée en un certain nombre d'années. La caractéristique principale de ces personnes est qu’elles savent vraiment comment résoudre les problèmes et qu’elles sont capables de penser à long terme.

Chers lecteurs! Si vous êtes engagé dans la sélection de personnel dans le domaine des technologies de l'information - veuillez nous expliquer comment vous "traquez" les personnes âgées.

Source: https://habr.com/ru/post/fr460016/


All Articles