Si vous n'embauchez pas le Jones, alors vous ne méritez pas les seigneurs

Permettez-moi de vous raconter l'histoire d'une entreprise très prospère qui a fait une grosse erreur stupide:
Nous n'engageons pas de programmeurs juniors et de stagiaires ... Si vous n'avez pas de chiot, vous n'aurez pas à nettoyer les flaques.
- netflix

J'ai été complètement étonné de voir comment quelque chose d'entreprise a réussi à présenter les chiots sous un jour négatif, et même quelqu'un l'a convaincu. Les chiots sont les créatures les plus propres de la Terre, vivant une joie moelleuse! Rayons de lumière dans un monde solitaire. Mais passons au point.

De nombreuses entreprises ont suivi cette stratégie «n'embaucher que des seniors». Ils le justifient ainsi:
  • Nous n'avons ni le temps ni les ressources pour embaucher des programmeurs juniors; nous développons trop vite.
  • Notre entreprise peut se permettre des personnes âgées, il n'y a donc pas besoin de joons.
  • Au stade actuel, nous ne pouvons pas nous permettre d’erreurs. Les enjeux sont trop importants.
  • Notre processus offre aux employés une plus grande autonomie. Nous ne sommes pas prêts à tenir les jones par la poignée, car ils en ont besoin.
  • Nous voulons jeter les bases du produit avant de commencer à embaucher des employés inexpérimentés.

Le message est que les programmeurs juniors présentent un risque, une mesure que l'entreprise prend soit par sentiment de dette publique, soit par manque de budget. Il s'avère que d'autres entreprises doivent pouvoir se permettre des résultats de bienfaisance et de second ordre, mais certainement pas nous.

Soit dit en passant, aux États-Unis, il y a plus de 100 000 sociétés informatiques , et je n'ai pas entendu quelque chose pour qu'au moins un PDG dise, "pensez, erreurs!" ou "il faudrait réduire le budget supplémentaire quelque part". Alors attention, organisations, où "l'entrée est interdite au mois de juin"! Peu importe comment vous voyez vos avantages, peu importe comment vous justifiez votre piratage de la vie, la réalité est que vous avez inventé tout cela pour vous-même. Il n'y a aucun avantage concurrentiel à se débarrasser du mois de juin. Et vous venez de montrer au monde votre gestion des problèmes.

L'hostilité envers les développeurs juniors est un moyen facile de repérer une culture d'entreprise toxique.

- April Wensel (@aprilwensel) 1 août 2017

L'hostilité envers les jeunes programmeurs est un signe clair d'une culture d'entreprise toxique.


La façon dont vous embauchez et gérez les programmeurs juniors est un indicateur indirect important de la santé de votre organisation, de votre gamme de produits et de votre culture interne. Les personnes âgées y prêtent attention. Et si cela seul ne semble pas suffisamment convaincant, alors l'embauche d'un nombre équilibré de programmeurs juniors offre également des avantages financiers.

Prévention des problèmes


Si vous refusez les programmeurs juniors parce qu'ils «créent des problèmes», vous envoyez automatiquement un message important à vos employés sur la culture d'entreprise: les erreurs ne sont pas autorisées. Vous créez l'image d'une entreprise qui licencie quelqu'un chaque fois que le serveur tombe en panne. Peu importe combien vous payez, personne ne veut travailler dans un environnement qui ne donne pas confiance en l'avenir. Et les tentatives d'intimidation des programmeurs pour qu'ils ne commettent pas d'erreurs multiplient une culture de peur et de menaces, qui affecte de manière catastrophique la santé psychologique et la productivité.

Vous pouvez affirmer que cette attitude encourage les programmeurs à être prudents et à créer des processus qui protègent contre les erreurs: par exemple, les tests automatiques, l'assurance qualité, le basculement, la protection d'accès et les modifications de code réversibles. Mais cette théorie met la charrue avant le cheval. Si la politique de l'entreprise encourage la création d'une telle assurance et que l'entreprise elle-même fournit aux programmeurs suffisamment de temps et de ressources pour cela, alors une culture d'irrecevabilité des erreurs n'est pas nécessaire et inutile; la plupart des problèmes seront détectés bien avant la production. Et chaque programmeur, qu'il soit junior ou senior, préfère un environnement dans lequel des processus fiables protègent contre les erreurs catastrophiques.

Et qu'en est-il des erreurs qui traversent toutes les haies établies? Considérez-les comme de précieuses opportunités pour renforcer votre défense. Les programmeurs plus jeunes, il faut le reconnaître, ouvrent généralement de telles opportunités plus rapidement que les seniors. La question est donc: préférez-vous déboguer vos processus tôt ou tard? "Jamais" est bon, comme le confirmera tout programmeur expérimenté. Si quelque chose peut mal tourner, tôt ou tard, ça ira. Aucun stock d'expérience n'empêchera l'erreur humaine.

Bien sûr, vous aurez besoin de programmeurs seniors et de leads d'opérations pour jeter les bases et créer des précédents pour le cycle de développement du basculement. Personne ne propose d'embaucher uniquement des programmeurs juniors. Mais si votre bureau prend vraiment au sérieux les erreurs - en d'autres termes, les erreurs sont détectées tôt et souvent - alors les programmeurs plus jeunes seront utiles. Et tous les niveaux de programmeurs seront plus satisfaits de leur travail, car la tolérance aux pannes les libère pour créer de bons logiciels (au lieu d'éteindre constamment les incendies) et protège leurs soirées et week-ends.

Économiser de l'argent


Selon Indeed, l' ingénieur logiciel junior moyen reçoit 55 394 $ par an, tandis que l' ingénieur logiciel senior reçoit 117 374 $ par an. Les aînés sont deux fois plus chers que le mois de juin.

Ces coûts sont souvent justifiés. Une productivité plus élevée est attendue des programmeurs plus âgés que des plus jeunes. Mais ce n'est pas la fin de l'image, et vous obtiendrez un sou pour la justification irréfléchie et paresseuse des coûts accrus comme les coûts de faire des affaires.

Tous les codes d'application ne nécessitent pas plusieurs années d'expérience pour écrire ou même pour un travail bien fait. Chaque programme a une «colle logicielle» qui relie les différentes entrées et sorties de manière tout à fait ordinaire. En fait, peu importe qui l’écrit. Vous pouvez payer 28 $ de l'heure pour écrire ce code - ou vous pouvez payer 59 $ de l'heure pour écrire le même code. D'une manière ou d'une autre, le résultat ne différera pas beaucoup. Si vous n'embauchez que des personnes âgées, vous payez exorbitant pour une quantité substantielle de travail simple.

De plus, la base de code varie considérablement d'une application à l'autre et sa familiarité est un facteur clé de la productivité. Dans la plupart des cas, un programmeur junior qui a travaillé en équipe pendant six mois sera plus efficace pour faire face aux tâches qu'un programmeur senior nouvellement embauché - simplement en raison du degré de familiarité avec la logique du projet.

La colle logicielle et le code spécifique au domaine mentionnés précédemment représentent au moins la moitié de l'ensemble du développement. Le reste est le code qui a vraiment besoin de l'attention d'un spécialiste senior avec un avantage pour le résultat. Mais même avec ce code, un programmeur junior peut faire un travail incroyable avec un accès suffisant aux ressources éducatives et aux conseils d'un mentor expérimenté.

Compte tenu de cela, une paire de programmeurs juniors et seniors travaillent généralement avec l'efficacité de deux programmeurs seniors et pour moins de 75% du coût. Si votre objectif est une productivité maximale à un coût minimum, alors une telle paire de June + Senior devrait devenir la molécule fondamentale de votre organisation.

Il convient de noter un autre facteur incommensurable: la tendance des programmeurs seniors à débattre constamment sur des sujets finalement insignifiants - sur les algorithmes, les microoptimisations et le style de code. Si l'entreprise n'embauche que des seniors et n'a pas de processus décisionnel rigoureux, alors des centaines d'heures de travail peuvent être consacrées à de tels conflits. Les développeurs juniors sont généralement privés d'un tel problème.

Développement de carrière


Si vous n'embauchez pas de programmeurs juniors, envoyez un autre message au personnel - que vous ne savez pas comment fonctionne le développement de carrière.

Parfois, lorsque les entreprises disent qu'elles n'embauchent pas de développeurs juniors, je veux les secouer par leurs sweats à capuche et crier, d'où pensez-vous que les développeurs seniors viennent?!

- Kate Heddleston (@ heddle317) 13 septembre 2018

Parfois, lorsque les entreprises disent qu’elles n’engagent pas de programmeurs juniors, je veux les saisir par les seins et crier: d’où pensez-vous que les programmeurs seniors viennent?!

Encore une fois, il ne s'agit pas de s'acquitter de la dette civique des entreprises et non de «participer au développement» de la communauté informatique. Il s'agit de transformer votre entreprise en un lieu de travail décent où les programmeurs voudront s'installer et rester assez longtemps pour apporter une contribution tangible.

J'ai entendu des programmeurs: «Fatigué de changer de titre de poste. Je veux juste rester pour toujours un programmeur senior. " Cependant, personne ne m'a encore dit: «J'espère que je ne recevrai jamais d'augmentation de salaire, je n'apprendrai rien de nouveau et ne serai pas reconnu pour mes services.» Et, curieusement, les ressources nécessaires pour soutenir à la fois les carriéristes ambitieux et les programmeurs seniors assidus mais enthousiastes sont à peu près les mêmes. Nous avons besoin de moyens de changer et de reconnaître un travail bien fait, une quantité suffisante de ressources éducatives et une variété de projets d'âges différents dans le pipeline de développement. Vous devez créer un sentiment de développement, même pour ceux qui ne sont pas intéressés par la promotion.

Mais ne vous enfermez pas sur ces gars-là. Leur minorité. La plupart des informaticiens ne seront pas des programmeurs seniors avant 40 ans. Ils rêvent de devenir architectes logiciels, chefs d'équipe, directeurs techniques et fondateurs de studios. Et une entreprise qui se vante de son indifférence à la croissance de carrière se retrouvera en bas de la liste des employeurs prometteurs.

Je ne recrute que des développeurs seniors.

L'astuce est que j'en recrute certains plus tôt dans leur carrière.

- Reginald Braithwaite (@raganwald) 17 septembre 2018

Je n'engage que des programmeurs seniors.

L'astuce est que j'engage certains d'entre eux au début de ma carrière.

L'une des phrases les plus impressionnantes qu'un programmeur puisse entendre lors de l'entretien est «Bonjour, je suis un chef d'équipe, j'ai travaillé ici pendant huit ans, en commençant par le stagiaire.» Très impressionnant et très rare. Une telle personne est extrêmement importante pour l'entreprise - il sait tout sur la gamme de produits, il a vu le code de tous les projets dans un rayon de cent mètres et il a travaillé avec tous les employés de l'entreprise. Il est capable d'offrir des innovations au sein de l'entreprise pas comme les autres. Et l'entreprise tire des dividendes indénombrables du travail de cette personne, car elle a pu comprendre comment garder son intérêt pendant huit ans - environ 1/10 de l'espérance de vie moyenne. C'est la preuve du succès de la culture d'entreprise. C'est le signe d'un bureau dans lequel règne l'esprit de combat, dans lequel la reconnaissance trouve du travail bien fait, et des projets intéressants attendent à chaque coin de rue.

Prétendre que «nous n’engageons pas June» est, au contraire, un aveu ouvert que l’entreprise n’est pas prête à jouer un rôle dans la carrière de qui que ce soit. Il s'agit en fait d'une démonstration de stagnation: l'entreprise veut attirer des programmeurs expérimentés et talentueux qui apporteront leur contribution pour un seul salaire. Certains accepteront de telles conditions, mais vous ne verrez pas leur meilleur travail.

Cependant, si votre entreprise prend vraiment au sérieux la croissance de sa carrière, une restriction artificielle sur les programmeurs juniors ne fait que réduire la ligne de paiement de l'embauche et raccourcir le temps des employés de votre entreprise.

Écrire un excellent logiciel


Les programmeurs juniors ont un certain nombre de traits uniques que leurs collègues plus expérimentés perdent habituellement. L'un d'eux est un optimisme clair. Un autre est la volonté de suivre le leader. Mais la caractéristique la plus importante qu'offrent les programmeurs juniors est peut-être le manque de bagages. Les programmeurs seniors ont vu l'essor et le déclin de la technologie, les échecs des projets, les équipes déchirées par des conflits internes et toute autre vie de l'industrie informatique. Ils ont accumulé de fortes convictions et tirent souvent des conclusions de grande portée, suggérant qu'un scénario de réussite (ou d'échec) se déroulera de la même manière pour un autre projet ou une autre équipe. Ce qui peut conduire à la réticence à comprendre les nuances d'un nouveau champ de problèmes.

Les entreprises si désireuses d'embaucher uniquement des personnes âgées oublient souvent que désapprendre ce qui ne s'applique pas peut prendre plus de temps que d'apprendre ce qui le fait.

- DHH ( dhh ) 31 juillet 2017

Les entreprises désireuses d'embaucher uniquement des professionnels de haut niveau oublient souvent qu'oublier trop est souvent plus difficile que d'apprendre la bonne chose.

Parfois, la tâche du chef de projet est de dire "Je sais que cela n'a pas fonctionné là-bas, mais peut-être que cela fonctionnera pour nous." Un programmeur junior est généralement le meilleur candidat pour tester une telle théorie: il peut collecter un échantillon d'une idée ou d'un prototype sans y intégrer les préjugés accumulés par un programmeur senior au fil des ans. En tant que programmeur junior, je faisais souvent ce travail, testant de nouveaux outils et technologies, réécrivant des fragments de code d'une manière alternative, essayant des idées que d'autres employés rejetaient à la hâte. J'ai souvent découvert des améliorations architecturales et les éditeurs de logiciels se sont sensiblement améliorés. Dans certains cas, il a été possible d'accélérer le chargement des pages d'un ordre de grandeur; ou combiner plusieurs pages en une seule, évitant ainsi des semaines d'assistance à l'avenir; ou se débarrasser de technologies inefficaces qui entraîneraient une perte de temps. Les avantages d'un look frais et frais ne doivent pas être manqués.

De nombreuses entreprises peuvent se permettre des extravagances telles que la résolution d'un problème ou l'écriture de code en enfermant quelques programmeurs seniors dans une salle de réunion pour arriver à quelque chose. Mais si vous ajoutez quelques jones - c'est-à-dire des développeurs dont le temps est acceptable à consacrer à des expériences ponctuelles et à des idées inhabituelles - vous pouvez voir quelles améliorations cela apportera à vos produits.

En ce qui concerne la qualité des logiciels, les jeunes programmeurs effectuent généralement un travail important que peu de gens remarquent: ils retiennent le code abusif et exagéré que leurs collègues plus âgés ont tendance à écrire.

Un attribut de programmeur sous-estimé est la capacité d'écrire du code que les ingénieurs moyens ou médiocres peuvent facilement lire, modifier et étendre.

- Jamon Holmgren (@jamonholmgren) 17 septembre 2018

L'une des compétences sous-estimées d'un programmeur est la capacité d'écrire du code qu'un programmeur moyen ou médiocre peut facilement lire, modifier et développer.

Si vous remplacez «moyen ou médiocre» par «junior», vous verrez immédiatement le système. La base de code est une empreinte abstraite de la pensée critique de ses auteurs. Une combinaison robuste de programmeurs juniors et seniors permet de simplifier le code, ce qui accélère l'écriture des fonctionnalités au fil du temps.


Pour résumer: le principe «uniquement des seniors», très répandu en informatique, sous-estime les programmeurs juniors. Cela affecte gravement tout le monde, surtout lorsque l'organisation pense que sans spécialistes novices, tout sera plus facile. Bien que certaines de ces entreprises réussissent financièrement, on peut imaginer les énormes quantités de gaspillage qui doivent être arrachées à leur budget à cause de cette approche.

Si votre entreprise dépasse ses concurrents sur cette question - c'est-à-dire qu'elle sait embaucher, former et retenir des programmeurs juniors - alors vous ressentez vous-même tous les avantages que je n'ai décrits que superficiellement dans cet article. Vous avez un chiffre d'affaires inférieur, une plus grande diversité de spécialistes et moins de frais généraux que vos concurrents. Votre logiciel a moins de bugs et plus de joie. Il y a, bien sûr, d'autres facteurs. Mais une approche positive des programmeurs juniors est un signe important de la qualité du bureau à tous les niveaux.

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


All Articles