La différence entre «juin», «moyen» et «senior». Et que faire pour monter d'un niveau



Le niveau du développeur n'est pas nécessairement déterminé par de nombreuses années d'expérience en programmation: «June» pourrait bien être plus âgé que «senior», tout se résume à des compétences professionnelles. Cela ne signifie pas que le développeur senior doit être un spécialiste de tout, mais on peut dire avec confiance que ses compétences sont beaucoup plus développées que celles des développeurs de niveau junior et intermédiaire.

Mais les développeurs de différents niveaux se distinguent par quelque chose de plus que la capacité de programmer réellement. Alors, quelles sont exactement les différences?

Traduit en Alconost

Connaissances


De toute évidence, un développeur senior possède des connaissances beaucoup plus approfondies. Pour un développeur junior, l'apprentissage des modèles de conception, de l'architecture, de l'automatisation des tests, des méthodes pour améliorer la productivité et assurer la sécurité, etc. est un excellent moyen de combler ce fossé de connaissances.

Il est important de savoir comment le logiciel doit être créé. Mais savoir tout cela ne signifie pas être un développeur de niveau supérieur. La connaissance n'est pas une différence clé, mais seulement l'un des facteurs.


Photos - Clem Onojeghuo , Unsplash

Programmation


Malgré l'opinion de la plupart des gens ordinaires, la programmation ne parle pas à un ordinateur. La programmation signifie communiquer avec les gens et donner des instructions aux ordinateurs. Après tout, le code se compile finalement et se transforme en zéros et en uns.

Le code devrait avoir un sens pour ceux qui travailleront avec lui à l'avenir. L'équipe qui a récupéré le projet pour quelqu'un d'autre devrait pouvoir ouvrir son code source et commencer à travailler sur de nouvelles fonctionnalités ou corrections de bogues. Et c'est là que réside la différence essentielle entre le «juin» et le «senior».

Je ne prendrai pas en compte les développeurs de niveau intermédiaire dans cette comparaison, en ce qui concerne les compétences en programmation, elles représentent une sorte de zone de transition - plutôt plus proche du niveau de développeur senior. Fondamentalement, la position «intermédiaire» est déterminée par l'expérience, car généralement le «moyen» parvient à parcourir tout le cycle de développement au moins une fois, ainsi qu'à faire de nombreuses erreurs simples et à en tirer des enseignements.

Comment calculer "juin"


Les jeunes développeurs sont inexpérimentés: ce sont parfois des diplômés qui commencent tout juste à travailler à temps plein. Dans leur tête, la tâche principale est de faire fonctionner le code. Si l'application fonctionne, alors c'est bien.

L'écriture de code simple est une tâche difficile. Et les jeunes développeurs ne sont pas en mesure de le faire: généralement leur code est assez particulier. Vous pouvez les reconnaître à l'aide de lignes simples bizarres et d'abstractions excessivement complexes - c'est ainsi que les "jones" s'efforcent de se montrer et d'essayer de faire comprendre aux autres à quel point ils peuvent programmer. Mais ce n'est pas la bonne approche.

Les développeurs juniors se concentrent sur la partie «informatique» du code, surplombant la partie «humaine».

Comment écrire le code "seniors"


En regardant le code d'un développeur senior, vous pourriez penser: est-ce tout? Où est le reste? Un développeur assez expérimenté écrit du code simple, compréhensible, et peut-être même parfois trop simple - et c'est l'une des qualités les plus importantes en matière de programmation. "Senior" suit le principe KISS, qui stipule que le code doit être simple et clair: "Keep it simple, stupid"

Par conséquent, le développeur senior a une approche complètement différente de l'écriture de code: il prend en compte la commodité d'un support supplémentaire et l'évolutivité. Ceci est complètement différent de la pensée d'un développeur junior: le "senior" pense à ceux qui travailleront avec le code, et le "juin" est important en premier lieu pour faire fonctionner le code.

Ne pas en programmer un


En plus des compétences en programmation, il existe d'autres facteurs qui peuvent dire quel type de développeur est devant vous.

Les développeurs juniors effectuent généralement les tâches les plus simples et les plus importantes; ils ne développent pas d'architecture. Les développeurs de niveau intermédiaire ne développent pas non plus de solutions, mais exécutent simplement des tâches, mais elles sont moins contrôlées - si la tâche est assez typique. Mais les "seniors" peuvent développer l'application en toute indépendance.

Cela ne signifie pas que le développeur senior n'a pas de questions en cours de route: chacun d'entre nous a beaucoup de questions chaque jour, et les "seniors" ne font pas exception.

La différence est que ces derniers savent poser les bonnes questions et que faire des réponses reçues. Les développeurs moins expérimentés peuvent poser les bonnes questions en ce qui concerne leurs tâches habituelles, mais dans des cas plus complexes, ils doivent demander de l'aide.

Un développeur senior n'est jamais perdu et sait comment agir correctement, ayant reçu une réponse à une question. Cela ne signifie pas qu'il ne demandera pas conseil aux autres - parfois la meilleure solution est de demander de l'aide à ceux qui ont plus d'expérience dans ce domaine.

Un développeur de niveau intermédiaire devrait également être en mesure de poser les bonnes questions, sauf s'il s'agit d'une tâche très difficile nécessitant un niveau de connaissances approfondi.

Mais dans le cas du «juin», il ne faut pas s'attendre à ce qu'ils soient capables de poser les bonnes questions: ils n'ont pas assez de pratique, ils doivent donc être dirigés par des collègues plus expérimentés. Le développeur junior doit disposer des ressources nécessaires ou bien pousser dans la bonne direction.

Passez au niveau suivant


Nous voulons tous nous améliorer, y compris professionnellement. Mais quelles mesures peuvent être prises pour passer au niveau suivant?

De juin au milieu


Les développeurs novices n'ont pas une riche expérience, il est donc important de parcourir tout le cycle de développement au moins quelques fois - de cette façon, vous pouvez rencontrer de nombreux pièges sur votre chemin et apprendre à les éviter.

Quant à la programmation, vous devez apprendre à écrire du code simple: imaginez qu'une autre personne travaillera sur le projet après vous. De plus, vous devrez apprendre à déboguer - cela approfondira votre compréhension de ce qui se passe pendant le programme.

Vous devez également vous familiariser avec les meilleures pratiques et en savoir plus sur l'architecture, les performances, la sécurité, etc. Combler le fossé de connaissances qui vous sépare du niveau intermédiaire.

De "moyen" - à "senior"


Les développeurs de niveau intermédiaire peuvent être difficiles à obtenir plus haut: certains restent à ce niveau toute leur carrière.

Le développeur senior sait dans quels cas un compromis peut être fait, et quand cela ne peut en aucun cas être fait - car il a réussi à le tester sur sa propre expérience amère.

Pour accéder au niveau "senior", vous devez être prêt à accomplir des tâches pour lesquelles personne ne sait comment s'y prendre. Vous devez savoir et être capable de faire plus que simplement faire votre travail.

De plus, en tant que développeur senior, vous devez aider les moins expérimentés: pour le reste, vous êtes une bouée de sauvetage que vous pouvez saisir lorsque vous ne savez pas comment faire quelque chose.

Dans ce contexte, il n'est pas surprenant que les "seniors" soient pleinement propriétaires de leur stack technique. Vous devez non seulement pouvoir programmer, mais aussi connaître tous les outils et applications utilisés dans l'entreprise qui vous a embauché.

Conclusion


La différence entre «juin», «moyen» et «senior» ne réside pas seulement dans de nombreuses années d'expérience. Oui, il est sûr de dire que ce dernier a des compétences beaucoup plus développées que les développeurs juniors et intermédiaires. Mais la connaissance n'est pas le facteur le plus important.

Les développeurs expérimentés écrivent du code plus simple et l'abordent différemment. Mais en plus de pouvoir programmer, il est également très important de savoir quelles questions poser et quoi faire avec les réponses reçues. C'est le développeur senior - cette personne dont la riche expérience permet de ne pas se confondre et de trouver une solution dans n'importe quelle situation.

«Juin», pour grandir davantage, vous devez essayer d'apprendre à écrire du code simple et passer par plusieurs cycles de développement complets. Pour dépasser la moyenne, vous devez vous concentrer sur l'apprentissage de quelque chose de plus que les tâches de routine de correction des erreurs. Vous devez être prêt à assumer les tâches les plus complexes et à maîtriser pleinement votre pile technique. Une autre responsabilité d'un développeur senior est d'aider les moins expérimentés.

Pour citer Martin Fowler:

«Tout imbécile peut écrire du code qu'un ordinateur comprend. Un bon programmeur écrit du code que les gens peuvent comprendre »

À propos du traducteur

L'article a été traduit par Alconost.

Alconost localise des jeux , des applications et des sites dans 70 langues. Traducteurs en langue maternelle, tests linguistiques, plateforme cloud avec API, localisation continue, chefs de projet 24/7, tout format de ressources de chaîne.

Nous réalisons également des vidéos de publicité et de formation - pour les sites qui vendent, présentent des images, de la publicité, des formations, des teasers, des explicateurs, des bandes-annonces pour Google Play et l'App Store.

En savoir plus

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


All Articles