Avec le recul, je comprends que la sélection a vraiment très bien fonctionné. Tous ceux que j'ai sélectionnés sont devenus des spécialistes respectés dans notre village. Plus de la moitié d'entre eux ont depuis longtemps ouvert leur propre entreprise informatique, dans divers domaines - du 1C au développement de systèmes CRM.
C'est cette expérience qui m'a embrouillé. À tel point que j'ai décidé de changer de méthodologie - je pensais que ce n'était pas elle, mais moi. Je suis un grand intervieweur technique.
Changements
Les changements que j'ai faits étaient très simples - maintenant, les gens écrivaient du code non pas sur papier, mais sur un ordinateur. Comment, pensai-je, pourraient-ils, comme dans un ancien monastère, s'asseoir et écrire des gribouillis. Je suis moi-même depuis longtemps déshabitué à me passer de l'IDE, des conseils contextuels, du débogage et d'autres beautés du développement moderne.
Il a donné des tâches au mec, l'a mis à l'ordinateur et est parti pendant une demi-heure ou une heure. Quand je suis arrivé, j'ai vu une solution toute faite. Et pas seulement tout fait, mais tout à fait putain - à la fois le code est beau et l'optimalité est à un niveau suffisant. Il est devenu fou lui-même - la génération moderne est-elle si imprégnée de technologie qu'elle écrit du code comme elle respire?
Eh bien, j'ai moi-même de tels mecs.
Premiers mois
Au début, tout s'est très bien passé. J'ai suivi toutes les mesures de leur productivité et de leur efficacité, et je n'ai jamais cessé d'être étonné de la croissance rapide de ces mecs. Dans l'ancien temps, les gens dans les premiers mois ont fouillé assez dur - ils pouvaient écrire le code de la tâche éducative, mais ils pouvaient difficilement faire face aux tâches des travailleurs. Il n'y avait pas de tel problème.
Il est clair qu'ils ont résolu facilement des problèmes simples. J'ai commencé à donner des problèmes plus complexes - ceux qui étaient précédemment émis après un an de service. Ces mecs ont réussi, sans aide, et avec tel! J'étais choqué. J'étais content - quelle merveilleuse génération grandit!
Je pensais que ce serait toujours ainsi. En termes de croissance se poursuivra de manière linéaire. Ouais, maintenant.
Plateau
Après 3-6 mois, chaque gars a atteint un plateau en termes de productivité. Malheureusement, en même temps, ils sont tous passés au télétravail en raison du coronavirus. Et je me suis assis à la maison et j'étais furieux.
Le temps passe, mois après mois, et la productivité s'est figée au niveau des stagiaires. Parfois, il y avait des extrema locaux, mais ils s'expliquaient facilement par un grand nombre de problèmes simples, monotones et similaires. J'ai continué à faire rage et à crier dans les discussions.
Je pensais que c'était une question de travail à distance - vous ne pouvez pas activer le charisme à pleine capacité là-bas. Eh bien, probablement, les gens manquent de motivation, de communication en direct et parfois d'un coup de pied dans le cul. Ici, les patrons ont également rendu un mauvais service - ils ont demandé comme "la productivité ne croît pas à cause de la distance?" Bien sûr que oui, j'ai répondu. Allons au bureau et piétinons!
Bureau
Eh bien, nous sommes allés au bureau en août. Nous nous asseyons, travaillons, il y a beaucoup de tâches - faites-le à temps (il y avait une pénurie de tâches pendant le travail à distance). Je regarde les indicateurs - ils ne poussent pas, salauds. Je devais plonger.
Au début, je me suis bêtement plongé dans l'aide aux gens. Vous ne pouvez pas résoudre le problème? Appelle-moi. Je vais monter, vous conduire hors de l'ordinateur, m'asseoir et terminer. Et toi, médiocrité, asseyez-vous à côté et rappelez-vous comment travailler.
Mais vous êtes nombreux et j'en suis un. Ne fonctionnera pas. Nous devons comprendre les problèmes sous-jacents. J'ai décidé de revenir à l'étape initiale - un entretien technique.
Réinterviewer
Je ne me forçais plus à écrire le code sur papier - je me suis juste assis à côté de moi, j'ai dit la tâche et le programmeur a essayé de l'implémenter. J'ai pensé à mener une série de tels travaux de vérification, en partant de l'essentiel, en élevant progressivement le niveau de complexité. Mais tout s'est terminé sur les bases.
Il s'est avéré que seul un programmeur sur dix sait travailler avec des entités de base, des types, connaît leurs propriétés et leurs méthodes. Pire encore, seulement 2 à 3 personnes travaillent assez bien avec une aide intégrée et une aide contextuelle. Ils ne peuvent bêtement trouver des propriétés et des méthodes. Sans oublier comment les appliquer, même sur une tâche élémentaire.
L'un d'eux est devenu plus audacieux et a demandé: "Puis-je google?" Puis il m'est apparu, idiot.
Programmeurs Google
C'était comme si j'étais frappé à la tête avec un sac de farine. Je suis parti deux jours. Est-ce vraiment possible? Le beau code optimal qu'ils ont donné lors de la première interview a été trouvé sur Internet. Les solutions qui leur ont procuré une augmentation explosive de leur productivité dans les premiers mois de travail ont été trouvées sur Internet. Ces questions des utilisateurs, auxquelles les mecs ont répondu après le magique "Je vous rappelle", ont été trouvées sur Internet.
Ils écrivent du code sans comprendre les constructions sous-jacentes. Non, ils n'écrivent pas de code - ils le téléchargent. Non, encore une fois, pas ça ... Télécharger le code, c'est comme "npm i", ça va. Ils radient le code. Ne pas savoir l'écrire.
Il a commencé à s'indigner - bon sang, comment! D'accord, il existe une nouvelle technologie pour s'allumer avec l'aide d'Internet, ou apprendre à utiliser des conneries rares pour ne pas vous marteler la tête. Mais des choses basiques! Comment pouvez-vous les copier depuis Internet?!
Savez-vous ce qu'ils ont répondu? "Et alors?". J'ai failli quitter le monastère avec chagrin. Il a pris une pause, a cessé de leur parler, s'est fermé et a réfléchi. Naturellement, j'ai réalisé que le problème n'était pas avec eux, mais avec moi.
Ils ne suivent que les lois de leur monde. Et moi, un idiot, je n'ai pas vu ces lois, je n'ai pas compris, je n'ai pas réalisé leur gravité. La gravité de la superficialité.
Caractère superficiel
Le premier jour d'étude à l'institut, nous étions réunis dans un auditorium du département, avec un vieil homme enfumé, adjoint. Doyen et professeur agrégé, a déclaré: «L'Institut ne fournit pas de connaissances. Il vous apprend à acquérir des connaissances par vous-même. "
J'ai eu de la chance - j'ai étudié au début des années 2000, alors qu'Internet n'était qu'en images. Si vous voulez comprendre C ++ - asseyez-vous et découvrez-le, voici C ++. Si vous voulez rédiger un article sur la mesure de la rugosité, allez à la bibliothèque, lisez des livres, rédigez un article. Si vous voulez faire un reportage sur l'histoire, allez lire les magazines. Ouais, tout dans une rangée jusqu'à ce que vous trouviez les articles dont vous avez besoin.
Et les programmeurs de Google n'ont pas de chance. Toutes les informations leur sont accessibles, à tout moment, en tout lieu. Ils ont appris à trouver rapidement ces informations - qu'il s'agisse de l'adresse d'un magasin de cookies, d'un pantalon de réduction ou d'une requête générative.
Dans les livres, ils écrivent que dans le cerveau, les connexions neuronales qu'une personne utilise se forment et, surtout, se renforcent. Si vous écrivez constamment du code, vous le faites de mieux en mieux. Si vous recherchez constamment des informations sur Internet, vous pompez cette compétence. Si vous copiez du code à partir d'Internet, vous en devenez un grand maître.
Certes, tout le code n'est pas accessible au public sur Internet. Par conséquent, un plateau se pose. La productivité d'un programmeur Google n'est pas une mesure de la façon dont le code est écrit; c'est une mesure de la façon dont il est radié d'Internet. C'est à peu près la même vitesse de téléchargement. Il y a environ 15 ans, pour regarder un film, il fallait d'abord le télécharger, maintenant seuls les vieux croyants le font.
Un jour, probablement, les programmeurs de Google dépasseront l'habituel. Au moins pour résoudre des problèmes standards. En attendant, nous formerons douloureusement de nouvelles connexions neuronales pour l'utilisation d'objets de base, de types et de constructions de PL.
J'aurais dû foirer comme ça, bon sang. C'est dommage.
PS Et ça ... Revérifiez le vôtre.