Dystopie effrayante des interviews pour les programmeurs

Expériences



Mon téléphone a sonné.



«Bonjour, c'est Jared.



- Salut. Je vous appelle à propos d'un entretien téléphonique avec la Giant Search and Advertising Company [évidemment, c'est Google - env. voie].



- Oui! J'attendais votre appel avec impatience!



- D'accord. Pouvez-vous écrire un algorithme pour trouver la K-ème plus grande valeur dans un arbre binaire?



Je me tais. Déconnectez-vous complètement. Je ne suis jamais entré dans une telle situation. Un document Google vierge me regarde et le curseur clignote au ralenti. Je dessine quelque chose comme premier passage.



- Pouvez-vous écrire un cas de test pour cet algorithme?



Sûr. Je pourrais si je n'étais pas complètement droguée et que mon ego intérieur ne fondait pas sous la fureur brûlante d'un rêve mourant sous mes yeux. Est-ce là tout mon travail acharné au cours des derniers mois? Vers janvier 2019, j'ai décidé qu'il était temps de trouver un nouvel emploi. Comme si les dieux de l'ingénierie logicielle avaient béni cette pensée même, et un recruteur de la société Giant Search and Advertising m'a contacté sur LinkedIn pour un entretien téléphonique. C'était spectaculaire!



Ce n'est pas la première fois que cela arrive. En tant que jeune ingénieur brillant qui venait tout juste de terminer ses études secondaires, j'ai récemment commencé mon premier emploi et j'y réussissais plutôt bien. Mais ensuite, mon monde s'est renversé. J'ai travaillé sur un bug particulièrement méchant et j'ai fait ce que tout ingénieur logiciel qui se respecte ferait avant d'essayer de le résoudre par moi-même: google it. Dès que j'ai appuyé sur Entrée avec ma requête directe correspondante dans la zone de recherche, l'écran est devenu noir et j'ai été jeté dans la console.



Vous parlez notre langue ... Vous voulez résoudre un problème?

1. Oui

2. Non, merci


J'ai failli m'étouffer avec le café Costco tiède. Je voulais sauter et crier pour que mes collègues viennent regarder. Mais ensuite, je me suis soudainement inquiété d'avoir des problèmes, auquel cas je me retrouverais dans une situation très délicate. Craignant que mon esprit soit sur le point de voler hors de mon corps, j'ai appuyé sur 1.



On vous donne un tableau nums contenant n + 1 entiers, où chaque entier est compris entre 1 et n (inclus). Prouvez qu'au moins un nombre est répété. Supposons qu'il n'y ait qu'un seul doublon. Trouve le.



Vous avez 24 heures!


J'ai eu une petite crise cardiaque. Quand j'ai pu me ressourcer avec un autre verre de café Costco, j'ai réalisé que je pouvais tout à fait résoudre le problème. J'avais déjà un plan. Alors je l'ai fait. Dès que j'ai appuyé sur le bouton «Soumettre», ils m'ont donné une autre solution. Cela a été répété cinq fois, et à chaque fois, cela devenait plus difficile. Quand j'ai posté la dernière réponse, j'ai vu un autre message:



Toutes nos félicitations! Ce code est très bon! Vous cherchez une entrevue avec la société Giant Search and Advertising?


C'est tout. Tout mon monde professionnel a changé. Une des organisations les plus puissantes au monde a infiltré mon cerveau de 22 ans et réécrit le registre. Aucun des objectifs de carrière précédents n'avait plus d'importance. Avant cela, j'ignorais parfaitement qu'une telle entreprise de premier plan pouvait m'embaucher. Mais il est évident qu’en quelque sorte, j’ai fini par mériter l’attention.



L'entretien téléphonique était comme un cauchemar. On m'a demandé de programmer le jeu Conway's Life en 45 minutes. En fait, j'ai plutôt bien réussi. J'ai écrit tout le programme et l'ai testé. Le lendemain, j'ai été refusé. Intérieurement, j'étais déprimé et confus. Qu'est-ce que j'ai fait de mal exactement? Tous les tests ne signifiaient-ils rien? Pourquoi ai-je dû écrire un algorithme aussi complexe en si peu de temps?



Après ma première expérience de résolution de problèmes à ce niveau, j'ai décidé que je devais améliorer mes compétences. L'entrevue a eu lieu en avril de cette année. J'ai rédigé un programme de trois mois et je me suis mis au travail. Chaque matin, j'ai effectué trois tâches pratiques avant d'aller travailler. Le soir, après le jogging et le goûter, je travaillais encore. En trois mois, j'ai résolu 114 problèmes pratiques au total. Tableaux, retour arrière, recherche binaire, arbres binaires, recherche en largeur d'abord, recherche en profondeur d'abord, programmation dynamique, graphiques, algorithmes gourmands, hachage, listes liées, probabilités, tri, piles et arborescences de préfixes sont quelques-uns des sujets que j'ai étudiés. ... Comment pourrais-je échouer avec une telle préparation?



Les échecs



Un entretien avec Giant Search and Advertising Company s'est terminé en flammes. Je n'ai pas pu résoudre le problème. Mais ce n'était que le début de la folie. Au début, j'ai abordé de manière très stratégique les entreprises à contacter. J'avais besoin non seulement d'un travail «bon», mais «correct».



Le suivant était une entreprise de voitures autonomes. J'ai reçu une réponse presque immédiatement après avoir soumis l'application et mis en place un éditeur de code. L'intervieweur, agacé et avec un accent très fort, m'a demandé de coder un algorithme de filtrage d'images très complexe. Je l'ai écrit. "Semble très bien!" - il a dit. Le lendemain, j'ai reçu une lettre de refus formulée.



Ensuite, il y a eu une société de recherche qui a demandé un devoir de trois phrases. J'ai fait de mon mieux et j'ai écrit un système de traitement d'image multi-thread très complexe. J'ai reçu un «non» poli de la part du recruteur, et lorsqu'on m'a demandé d'expliquer, on m'a dit que ma mise en œuvre était «trop inefficace».



Après cela, il y avait une société de traitement des paiements. J'ai eu une excellente conversation téléphonique avec le recruteur et elle a admiré à quel point mon CV correspondait à la description de poste. Le lendemain, j'ai reçu un e-mail d'elle disant qu'ils ne pouvaient pas trouver d'emploi pour mes compétences.



Un autre exemple est celui de la société Giant Social Media Platform: «Jared! Merci pour votre candidature! Nous pensons que vous serez parfait pour travailler dans notre entreprise! J'ai envoyé votre candidature directement au responsable du recrutement de votre bureau régional! " Huit minutes plus tard, j'ai reçu une lettre de refus stéréotypée indiquant que mes compétences n'étaient pas adaptées au poste.



D'innombrables recruteurs extérieurs m'ont contacté. Toutes les conversations se sont terminées en rien. Peut-être que celle que j'aimais le plus était une entreprise de traitement du son. Le recruteur m'a contacté et m'a dit qu'après avoir examiné mon CV, l'équipe était très enthousiaste et impatiente de me parler, alors elle contactera le responsable des ressources humaines. Une semaine s'est écoulée, je lui ai demandé comment elle allait. Le recruteur a déclaré qu'elle avait contacté le responsable des ressources humaines - et il ne pense pas que mes compétences soient adaptées à l'emploi. Je l'ai accepté ... cependant, comme test, j'ai envoyé mon CV à un autre emploi - et j'ai été immédiatement contacté par un autre recruteur. J'ai été étonné qu'ils aient appelé immédiatement. Je dois admettre que cette fois je n’ai pas bien réussi. Le lendemain, j'ai reçu une formule de refus par la poste.



Enfin, je suis arrivé à l'étape de l'entretien au bureau de la société Giant Social Media. J'ai répondu à une série de questions de codage avec plusieurs personnes au cours de quatre entretiens différents - tous correctement et de manière satisfaisante. En chemin, on m'a posé un certain nombre de questions déroutantes et difficiles comme "Parlez-nous de cette époque où ...". C'était rafraîchissant puisque pour la première fois, alors que je cherchais un emploi, on m'a interrogé sur mon expérience et ma perspicacité en tant qu'ingénieur en général. Cela a été suivi d'un entretien final de conception du système. L'intervieweur m'a rapidement donné un petit système à développer. J'ai commencé à parler de ma décision et, en cours de route, on m'a posé des questions. Finalement, nous sommes arrivés au point où il a dit: "D'accord, disons que nous avons une architecture de microservice ... pouvez-vous la concevoir ...?" J'ai tout de suite ditque je n'ai aucune expérience avec les microservices. Il m'a regardé d'un air interrogateur et m'a demandé: "Aucune expérience?" Je confirme. J'ai essayé d'articuler clairement mes compétences et mon expérience dans les domaines du développement PC, embarqué et mobile. Il se tut comme un homme qui comprend qu'il a commis une erreur. Excellent! J'ai passé quatre mois à préparer cet entretien, passé presque tout mon temps libre à préparer, à résoudre des problèmes pratiques et à répéter comment présenter mon expérience en communication, et il n'a pas pris la peine de passer 10 minutes à lire mon CV.J'ai passé quatre mois à préparer cet entretien, passé presque tout mon temps libre à préparer, à résoudre des problèmes pratiques et à répéter comment présenter mon expérience en communication, et il n'a pas pris la peine de passer 10 minutes à lire mon CV.J'ai passé quatre mois à préparer cet entretien, passé presque tout mon temps libre à préparer, à résoudre des problèmes pratiques et à répéter comment présenter mon expérience en communication, et il n'a pas pris la peine de passer 10 minutes à lire mon CV.





Je pourrais continuer à pleurer les nombreuses déceptions que j'ai vécues dans cette difficile recherche d'emploi. Il y en avait beaucoup. Je me suis toujours efforcé d'être complètement honnête avec moi-même et les autres au sujet de mes capacités. Je ne postulais pas pour un emploi nécessitant des années d'expérience que je n'avais pas ou des compétences manquantes. Bien sûr, je souhaitais revenir au web à partir de la programmation embarquée, mais j'avais deux ans d'expérience en tant qu'ingénieur web en plus de mon autre expérience en tant que développeur d'applications mobiles et chercheur d'algorithmes d'apprentissage automatique. Je reconnais pleinement que j'ai d'innombrables opportunités de croissance et de développement personnel. Mais d'un autre côté, je suis assez confiant dans les compétences qui vous permettront de démarrer très rapidement un nouvel emploi. À mon avis,la programmation est une forme d'art distillée définie par l'apprentissage et de nouvelles expériences. Aucun ingénieur logiciel n'arrêtera de se développer pour le reste de sa carrière. Du moins j'espère que non: ceux qui le feront seront très vite laissés pour compte. Alors que se passe-t-il vraiment ici? Après avoir traversé ce processus sombre pendant si longtemps, j'ai décidé de décomposer et d'analyser mes observations, puis de les méditer pour obtenir une image plus claire.J'ai décidé de décomposer et d'analyser mes observations, puis de les méditer pour obtenir une image plus claire.J'ai décidé de décomposer et d'analyser mes observations, puis de les méditer pour obtenir une image plus claire.



  1. . , , -, . - — , . , , -. , , . , . .  — .



    • :

    • — , .

    • — , .

    • — . , : , .

    • — , . , . . . . - , -, .


    , , - . , , - .
  2. , — , , .



    • ? . , , , , . , . , ? . , .

    • ? , , . , . « ». . , , .  — , , . , , , , , . , , ?

    • . , . , . LinkedIn . , . , . , , , , «» .

    • , . . , . , . . .  — () , . . : « . ? : «, ». « ? ?» : « . ». . ,  — ?

    • , . , . , . , A. . ! ! . , . . ! ! - , , . : , , A : , - .

    • . 45 . . , . «», 50 , , . , 15 , . . , , . . 45 ?

    • . , Google. , . : « » « ». . , . , , , . , , « , , ». , , , . , «» , , , «» . , . - , . , . , . , , , , . ! ?
  3. , ? , . , , « ». ?! , ? , , . ? , ? . , , . , . , , , , . , .


Je suis presque sûr que j'aurais pu continuer dans le même esprit. J'ai environ huit autres points dans mes notes. Mais pour l'instant, l'article ressemble plus à une diatribe qu'à un article de blog. J'espère avoir pu partager certaines des difficultés que j'ai traversées au cours des sept derniers mois. Au final, j'ai des sentiments ambivalents. Mon employeur actuel vient de licencier tout mon bureau, me laissant sans emploi et seule à écrire sur la façon dont je déteste tout cela. Je ne sais pas vraiment si je veux recommencer ce processus. J'ai beaucoup réfléchi à mon expérience et suis arrivé à quelques conclusions simples:



  • , — 85 000 Java- , , . Python, . embedded C C++ , . Flutter . Clojure, . C#. , -. .

  • Je ne comprends pas pourquoi je ne suis pas autorisé à écrire des logiciels - il y a une incohérence fondamentale entre les affirmations publiques selon lesquelles les entreprises recherchent désespérément des ingénieurs en logiciel et la réalité brutale de la présélection des candidats. Ces défis de codage sous une pression intense de do-or-die semblent être plus un mécanisme de bizutage qu'un outil d'évaluation précieux. Les utiliser, c'est comme tirer sur des candidats policiers avant de leur demander ce qu'ils savent de la loi.

  • Je ne sais pas à quoi cela ressemble de l’autre côté  - le fait est que le processus critiqué est peut-être le seul moyen pour les entreprises de trier les bons et les mauvais candidats. Je n'ai jamais fait partie d'une équipe de recrutement et je ne sais pas grand-chose.


En conclusion, j'ai quelques réflexions:



  •  — , . , , . . , , ( ) , . , . , . , . , . , , , — , .

  •  — -. , : -. , . , . ? , ? , ? . , . , Agile. , . , . Java Python, Python, ? , , , . , - , .

  • — . , . . , -, . , , , :



    .



    . :






All Articles