paint-brush
Comment j'ai déménagé aux États-Unis et trouvé un emploi chez Rokupar@yantsishko
20,704 lectures
20,704 lectures

Comment j'ai déménagé aux États-Unis et trouvé un emploi chez Roku

par Yan Tsishko13m2022/09/29
Read on Terminal Reader
Read this story w/o Javascript

Trop long; Pour lire

En février 2022, j'ai finalement déménagé aux États-Unis avec un visa de travail O1. Cela a été précédé de 2,5 ans de travail sur le renforcement du dossier, en attente d'approbation.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Comment j'ai déménagé aux États-Unis et trouvé un emploi chez Roku
Yan Tsishko HackerNoon profile picture
0-item


En février 2022, j'ai finalement déménagé aux États-Unis avec un visa de travail O1. Cela a été précédé de 2,5 ans de travail sur le renforcement du dossier, en attente d'approbation.


1 an et demi avant cette date, j'ai commencé à préparer un entretien pour un poste Front End. Travaille actuellement en tant qu'ingénieur principal front-end chez Roku.


Ce poste et la création de la chaîne de télégrammes ont été motivés par le manque d'informations détaillées sur les entretiens pour les ingénieurs Front-End aux États-Unis.

Ce que j'ai fait avant

Avant de déménager, j'ai travaillé pendant 7 ans dans des sociétés d'externalisation en Biélorussie. Cela m'a permis d'utiliser différentes technologies, approches et de travailler sur divers projets. Avant de déménager, j'occupais déjà un poste de Engineering Manager avec 26 ingénieurs JavaScript (cela a renforcé mon CV, notamment pour un poste de Staff). Au cours de la dernière année, j'ai mené environ 50 entretiens techniques dans le département.


Mais aux États-Unis, je me suis rendu compte que mon expérience n'était pas tout à fait pertinente, et j'ai besoin de partir d'un poste de cadre supérieur pour comprendre comment les processus sont construits ici, la culture et comment mener des entretiens, qui sont complètement différents ici. .


J'ai commencé à préparer l'entretien technique 1 an et demi à l'avance en attendant mon visa. Chaque matin de ma semaine de travail était consacré à la préparation. C'est devenu une habitude au fil du temps et n'a causé aucune gêne. Au bout d'un moment, j'ai été promu au poste de directeur de l'ingénierie, car je grandissais à un rythme rapide.

Préparation

1. Leetcode

J'ai résolu 245 problèmes sur leetcode. Je me suis principalement concentré sur les tableaux, les matrices, les arbres, les listes chaînées, les chaînes, les tables de hachage, les tris et deux pointeurs. Dans mon profil , vous pouvez voir les sujets que j'ai résolus.


  • Voici toutes les tâches que j'ai résolues.
  • Pour familiariser et actualiser les structures de données et les algorithmes en JS, j'ai utilisé la ressource javascript-algorithms .
  • Pour identifier rapidement un modèle de problème Leetcode, lisez cet article — 14 modèles de problème Leetcode . Cela aide à identifier le problème.
  • Pour déterminer la complexité du code, il existe une feuille de triche sur la notation Big O.
  • Pour des exemples de ce à quoi ressemble un entretien, j'ai utilisé la ressource d' entretien .


2. Big Front End ( https://bigfrontend.dev/ )

J'ai résolu 50% des problèmes BFE (facile et moyen). J'ai publié toutes ces solutions sur ma chaîne télégramme . Cette ressource est plus utile pour les entretiens chez Meta, mais d'autres entreprises sont plus ou moins susceptibles de poser des questions similaires.


3. Conception du système

  • Pour préparer la conception du système, j'ai utilisé les vidéos d'Evgenii Ray . Il a couvert la plupart des aspects de la conception de systèmes que j'ai rencontrés lors d'entretiens réels.
  • Une ressource très utile pour la conception de systèmes et pour le travail réel (Web Performance) — 3perf
  • Tout sur l'accessibilité


4. Entretien comportemental

Sur Glassdoor, vous pouvez trouver quelques exemples de questions et de tâches que les entreprises posent.

Et enfin, je suis aux USA…

A mon arrivée, j'ai eu un décalage horaire de 2 semaines, il n'y avait aucun moyen de passer l'entretien, je ne pouvais pas dormir normalement.


Mais après m'être adapté, j'ai commencé à organiser activement des appels avec des recruteurs, en écrivant sur LinkedIn. Il y avait 20 à 30 messages avec des opportunités par jour, mais la plupart d'entre eux sont des entreprises ou des startups sans nom.


Avant de répondre au message, j'ai analysé l'entreprise, les investissements, c'est une entreprise publique ou privée, ce qu'ils font et avec quelles technologies ils travaillent (je me suis essentiellement concentré sur React.js, la pile JS / TS, ainsi que le Front End position).


C'était le filtre d'origine.


Dans la journée, j'ai eu 3 à 4 appels téléphoniques avec des recruteurs, puis 2 entretiens techniques.


Au total, j'ai participé à une vingtaine de simulations pour comprendre comment me comporter en entretien et quelles sont mes faiblesses, mais cela n'a rien à voir avec de vrais entretiens. Dans de vrais entretiens, j'ai déjà eu une croissance notable, déjà après 1 à 1,5 mois, j'ai commencé à résoudre les problèmes plus efficacement, à découvrir les exigences, à me vendre et à répondre aux questions comportementales, car après chaque entretien, j'ai travaillé sur les erreurs et corrigé les histoires .


J'ai commencé avec de petites startups et entreprises et j'étais prêt pour le rejet (c'est important !).

Tous les jours pendant 2 mois j'ai eu des appels téléphoniques avec des recruteurs, des présélections techniques, des entretiens sur site. Il est très pratique que maintenant tout soit en ligne. Après presque un mois de projections techniques, j'ai même dit que j'aimais le processus d'entretien, il y a tellement de problèmes et de personnes intéressantes, mais ensuite le temps sur place est venu… après le premier entretien de 5 heures, mon opinion a changé dans une direction complètement différente , c'est trop dur !


Au début, j'avais des refus et c'était frustrant bien sûr. Mais dès que j'ai reçu la première offre, ma motivation grandit immédiatement .. jusqu'au prochain refus.


J'étais prêt pour le rejet, mais c'est toujours désagréable à entendre, surtout quand vous avez passé 5 à 6 heures et qu'ils vous envoient une réponse standard que nous avons décidé de passer avec un autre candidat sans aucun retour. Cela m'a motivé à réfléchir et à analyser ce qui n'allait pas. J'ai pris des notes et j'ai essayé de trouver des réponses sur la façon de résoudre le problème ou ce qui devait être clarifié et comment concevoir quelque chose. Cela a aidé lors des entretiens futurs à combiner différentes solutions en une seule et à produire une solution de haute qualité.


De plus, la communication avec les recruteurs m'a aidé à améliorer mon anglais, au début je ne comprenais peut-être même pas la moitié de ce qu'ils me disaient, mais ensuite je m'y suis habitué et c'était beaucoup plus facile.


Au final, j'ai eu de très bonnes interviews, mais j'ai continué à être rejeté pour certaines d'entre elles. Et le pire, c'est que vous ne comprenez pas ce qui n'allait pas.


Le processus d'entretien

Mes statistiques d'entretien :

Écrans techniques (26) : Meta, Amazon, Apple, Google, Microsoft, Lyft, Uber, LinkedIn, Roku, Salesforce, PayPal, DoorDash, Robinhood, Roblox, Intuit, Zoom, Grammarly, Imply, Disco, Square, SigmaComputing, LiveRamp, Zoox, Palo Alto Networks, Flocon de neige, Aurore


Entretiens sur site (15) : Meta, Amazon, Google, Microsoft, LinkedIn, Roku, Salesforce, PayPal, DoorDash, Zoom, Grammarly, SigmaComputing, LiveRamp, Zoox, Aurora


Offres : Google, Roku, Microsoft, PayPal, SigmaComputing, LiveRamp


Lors d'une candidature à un poste Front End, on ne vous posera probablement que des questions sur le frontend, mais au moins 1 algo-problème de niveau easy-mid vous sera posé, principalement sur la structure des données et son traitement (il n'y a pas beaucoup en JS :)). Mais certains aiment poser des questions aux algorithmes à l'ancienne.


Tous les documents de préparation que j'ai mentionnés ci-dessus couvraient les questions d'entrevue.


Le processus est assez standard :

  1. Appel avec le recruteur
  2. Examen technique
  3. Entrevue (virtuelle) sur place :
  • Algorithmes
  • Tâches pour coder un widget ou une fonction JS
  • Conception du système, avec un accent sur le Front-End
  • Entretien comportemental

4. Négociation


1. Appelez avec le recruteur

Lors d'un appel avec un recruteur, vous discutez de questions générales, apprenez-en plus sur l'entreprise et l'équipe que vous interviewez. Ils vous demandent votre permis de travail. Dans la conversation, ils posent des questions sur votre expérience et vérifient votre anglais. Ils découvrent à quelle étape de votre recherche d'emploi vous vous trouvez et peuvent s'appuyer sur cela, par exemple, pour accélérer votre processus d'entretien (A Aurora, j'ai dit que j'ai terminé tous mes entretiens et si nous pouvons passer rapidement toutes les étapes, Je suis d'accord. Du coup, toutes les étapes m'ont été faites en 4 jours, et sur place en seulement 3 tours).


Les appels ont souvent lieu avant que vous n'ayez envoyé votre CV. Seulement si tout s'est bien passé et qu'il y a une correspondance, il vous sera demandé d'envoyer votre CV. Ils peuvent vous poser des questions sur vos attentes salariales, mais j'ai répondu honnêtement que je n'avais aucune idée de ce que je valais sur le marché puisque je venais d'arriver. Cela leur suffisait pour passer outre la question. Vous pouvez demander toutes les informations dont vous avez besoin dans le même appel, y compris la pile technique de l'équipe. Si vous avez des questions importantes pour vous, c'est le moment de les poser. Pour moi, c'était les termes de la carte verte et de la pile technologique.


Les recruteurs respectent votre temps, vous coordonnez donc chaque appel en fonction du calendrier, en choisissant parmi celui du recruteur, ou le recruteur peut choisir parmi votre calendrier.


Ne précisez en aucun cas vos attentes salariales, si elles sont très exigeantes (cela n'est arrivé qu'une seule fois), précisez une large fourchette. Le recruteur de Turo m'a demandé à plusieurs reprises ce à quoi je m'attendais, et quand je lui ai donné la fourchette, il a dit que notre rémunération était 2 fois inférieure et que nous ne pourrions pas égaler.


2. Examen technique

Vous avez donc passé la première étape et une présélection technique vous a été confiée. Habituellement, c'est 45 minutes. Là-dessus, encore une fois, vous parlerez un peu de vous, on vous posera des questions sur votre expérience et il vous sera donné de résoudre quelques petits problèmes (dans 90% il faudra soit faire un petit widget en JS et un framework, soit un simple problème pour les algorithmes, ou plutôt les structures de données qui est en JS). Parfois, il y avait des problèmes sur Hackerrank avec HTML, CSS et JS, 2–3. Ceux-ci sont assez simples à résoudre. Parfois, vous pouvez utiliser n'importe quel éditeur de votre choix. Mais la plupart du temps, j'envoie un lien vers mon éditeur en ligne (même avec la mise en évidence du code).


Le plus important est de ne pas se taire, de réfléchir à voix haute pour que l'intervieweur suive vos pensées.


En ce qui concerne l'exécution du code, c'est 50/50, parfois vous devez exécuter le code quand vous voulez et autant que vous le souhaitez, parfois je n'ai même pas besoin d'exécuter le code (il n'y a même pas une telle possibilité).


Il y a eu une fois où on m'a demandé de concevoir un système d'ascenseur lors d'une projection technique (sans code), ça ne s'est pas bien terminé :)


3. Entretien sur place (virtuel)

L'étape la plus difficile de l'entretien, car elle dure 3 à 6 heures. De nombreuses entreprises vous permettent de le diviser en 2 jours, c'est à vous de décider.


Il comprend le codage, la conception du système et l'entretien comportemental.


Vous pouvez interroger le recruteur sur chaque tour de visite sur place pour comprendre à quoi s'attendre de lui.

Les rondes de codage sont similaires à l'examen technique : découvrez les exigences, discutez de la solution, codez-la et testez-la.


Conception du système

Toujours concentré sur les problèmes frontaux, pas besoin de parler de systèmes très chargés, de bases de données, etc. Il vous suffit de décrire certaines fonctionnalités du navigateur, les moyens d'optimiser, de personnaliser et d'étendre, de décrire comment transférer des données vers le serveur, comment pour le stocker, où le stocker et pourquoi. Parfois, vous devez concevoir plusieurs points de terminaison avec des structures de demande et de réponse. N'oubliez pas l'accessibilité, c'est très important !


Entretien comportemental

Ici, vous pouvez vous attendre à des questions sur votre expérience, vos projets et votre travail d'équipe. Fondamentalement, ces questions sont "Dites-moi une situation où vous .."


En général, les questions portaient sur le projet le plus difficile, le conflit dans l'équipe, ce que nous faisions lorsque les délais approchaient et que nous n'avions pas le temps, et quel était notre plus gros échec.


Toutes les histoires doivent être racontées selon la méthodologie STAR (situation — tâche — action — résultat). L'histoire ne devrait pas être très longue. Des questions de clarification vous seront posées si vous n'avez pas expliqué quelque chose ou si l'intervieweur vous a mal compris.


Dans la plupart des cas, les gestionnaires d'embauche mènent les entrevues. En fin de compte, c'est une excellente occasion pour vous de poser toutes vos questions sur l'équipe et le produit.


Négociation

Il n'y a pas d'étape moins stressante ou importante. Cela m'a pris presque un mois. Avec certaines entreprises, il y avait même plusieurs tours, en moyenne, j'ai soulevé des offres pour 70-100k. Demandez des commentaires sur vous pour mieux comprendre à quel point vous étiez bon et utilisez-le comme outil de négociation. Mais rien ne fonctionne mieux qu'une contre-offre. Mais il ne faut pas aller trop loin, regardez au préalable les compensations sur le site level.fyi pour bien comprendre la fourchette.

Quelques conclusions sur les entreprises

Dans toutes les entreprises, les recruteurs font un très bon travail et vous soutiennent à chaque étape du processus, vous disent à quoi vous attendre à chaque tour, comment vous préparer et vous expliquent à quoi ressemble le processus d'entretien en général.


Amazon : J'ai eu la pire interview de tous les temps. À tous les tours, j'ai eu des problèmes pour comprendre ce que l'intervieweur voulait de moi, j'ai clarifié les exigences la plupart du temps et expliqué ma solution parce que pour une raison quelconque, ils ne pouvaient pas la comprendre. Et quand ils ont commencé à poser des questions sur JavaScript pendant le processus de codage, il s'est avéré qu'ils ne le connaissaient pas et ont dû passer plus de temps à expliquer pourquoi je l'utilise et comment cela fonctionne. En conséquence, il restait 5 à 7 minutes pour le codage, mais c'était suffisant pour terminer. Au dernier tour, j'ai eu le problème difficile avec les arbres, que je n'ai pas complètement résolu.


Microsoft : Encore une fois, certains des intervieweurs ne connaissaient pas JavaScript, ont seulement posé des problèmes algorithmiques et posé des questions sur le fonctionnement de JavaScript. Cela ressemblait plus à une entrevue pour un poste à part entière.


Zoox : Seuls les problèmes mathématiques et les algorithmes ont été posés.


Aurora : Encore une fois, seuls les algorithmes ont été demandés, bien que le poste soit du pur Front-End. Cependant, l'interview de mon ami s'est concentrée uniquement sur les questions initiales.


Meta : Je ne m'attendais pas à autant d'attention de cette société. J'ai eu beaucoup d'appels avec un recruteur, la durée de certains était d'une heure, où il a tout raconté en détail sur le processus d'entretien, a donné du matériel de préparation, a demandé comment se déroulait la préparation et a donné des conseils, y compris comment se comporter lors d'un entretien , quoi demander, quoi de mieux ne pas demander. Les questions portaient sur le frontend focus. Après la visite sur place, le gel des embauches a tout de suite commencé…


LinkedIn : Ils ont un framework Ember.js, donc les questions ne concernent que le JavaScript pur et le frontend.


Apple : J'ai perdu mes commentaires après l'examen technique. Toujours à la recherche.


Google : Le processus d'entretien était axé sur le front-end. Après avoir obtenu l'approbation du Google Hairing Committee, votre prochaine étape consiste à faire correspondre l'équipe. J'ai eu des retours mitigés entre les niveaux L5 et L4. En conséquence, le comité m'a donné L4 sans étapes d'entretien supplémentaires. Ce n'est qu'après un match d'équipe réussi qu'ils vous enverront une offre avec des chiffres, mais la durée de ce processus dépend de nombreux facteurs.


J'avais 2 appels d'équipe par semaine, même si je pouvais le faire tous les jours. Le processus a pris 2 semaines.


Les critères par lesquels j'ai comparé les équipes :

  • Taille de l'équipe. Ingénieurs frontend, backend, infrastructure.

  • Pile technologique (tous angulaires).

  • Promotion en L5 (temps et opportunité).

  • Produit.

  • Responsabilités.

  • Position frontale ou pile complète. Il n'y avait même qu'un backend.

  • Processus de développement.

  • Qui sont les utilisateurs du produit, combien. Il s'agit peut-être d'un projet interne ou d'un grand projet pour un grand nombre d'utilisateurs.

  • J'ai évalué à quel point je suis à l'aise pour communiquer avec le responsable ou le chef d'équipe.


En conséquence, j'ai été mis en relation avec l'équipe Google Analytics, qui est responsable des performances de ce produit. Dans cette équipe, j'ai vu de nombreuses opportunités de croissance et de mesures de promotion.


Comment accepter l'offre

J'ai comparé les offres et décidé laquelle accepter selon les critères suivants.

  1. Produit. Il est très important que le produit vous intéresse. J'ai de nombreuses années d'expérience dans le développement de plateformes de streaming et je connais les besoins des utilisateurs et des développeurs. Je peux apprendre beaucoup et voir de nombreux défis pour moi-même dans de tels produits. Roku me donne cette opportunité.


  2. Pile technologique et outils. Je n'aime pas Angular, je préfère React.js. C'est l'une des principales raisons pour lesquelles j'ai choisi Roku.


  3. L'équilibre travail-vie. C'est une chose très importante. Je ne veux pas m'épuiser. Pendant le processus d'entretien, vous pouvez poser des questions à ce sujet et écouter attentivement les réponses.


  4. Opportunités de croissance. Croissance en termes techniques et au sein de l'entreprise jusqu'au poste de direction (personnel)


  5. Niveau du poste. Après le poste de responsable technique, je n'étais pas prêt pour les postes intermédiaires (oui, il y en avait aussi).


  6. La compensation totale. Socle et crosse. Roku paie 85% en espèces pour les postes de direction, ce qui est plus rentable pour moi, en tant que débutant dans ce pays, car à ce stade, de l'argent est nécessaire ici et maintenant.


  7. Processus de carte verte. Certaines entreprises commencent le processus de carte verte dès le 1er jour ouvrable, d'autres après 3, 6, 12 mois. J'ai filtré les entreprises sur la base de 1 jour et 3 mois. Mais il s'est avéré que ces conditions peuvent également être négociées, j'ai pu négocier de 3 mois à 1 jour ouvrable. Nuance importante, Meta ne délivre pas de cartes vertes, je leur ai posé la question à chaque appel, à chaque étape de l'entretien, mais je n'ai jamais reçu de réponse, personne du tout. Mais selon les informations sur Internet, tout va mal avec eux.


  8. Taille de l'équipe et responsabilités. Je n'aime pas travailler dans une équipe où vous êtes un ingénieur Front End, voire 2. Je veux grandir et apprendre. Le niveau des ingénieurs dans l'équipe était également important pour moi.


  9. Travail à distance ou travail de bureau. Je préfère le travail de bureau. Travailler à domicile n'est pas confortable pour moi. Certaines entreprises proposent désormais de travailler 3 jours au bureau, 2 jours à distance, et certaines proposent du travail à distance complet.


  10. Emplacement du bureau. Je vis à San Jose et certaines entreprises ont des bureaux à San Francisco. Il vous faudra au moins 1,5 heures pour conduire ici. Voulez-vous passer 3 heures par jour là-dessus ?

Des astuces

  • Ne programmez pas plus de 3 (mais de préférence 2) sur site par semaine. La semaine dernière j'ai eu 4 chantiers en une semaine et c'était l'enfer ! Mais j'ai eu 2 offres :)

  • Lors d'un entretien, vos compétences se développent de manière exponentielle, alors ne passez pas tout de suite l'entretien avec l'entreprise de vos rêves.

  • Après l'entretien, vous pouvez parler à quelqu'un, cela aide à se détendre.

  • Travaillez sur les erreurs après chaque entretien pour comprendre ce qui aurait pu mal tourner, cherchez des réponses aux questions et aux tâches qui figuraient dans l'entretien et essayez de le comprendre.

  • Préparez le texte de votre auto-présentation pendant 1 à 1,5 minutes, vous le raconterez à chaque étape de l'entretien.

  • Pour un entretien comportemental, préparez et pratiquez autant d'histoires STAR que possible, j'en avais environ 20 qui couvraient presque toutes les questions. Il a fallu environ un mois pour les préparer.

  • Achetez un abonnement payant à Calendly (ou un service similaire) pour faciliter la gestion de vos entretiens. L'envoi des dates dans un e-mail signifie qu'ils peuvent répondre en une semaine et exiger 5 dates (respectivement), donc ces 5 jours sont bloqués pour vous et vous ne pouvez pas programmer d'autres entretiens sur eux.


Si vous avez des questions ou des sujets que je n'ai pas abordés, posez-les dans les commentaires ici ou sur ma chaîne télégramme !