Il y a une semaine, nous avons parlé de , où dans les commentaires, nous avons été alertés sur l'importance des stages et de l'expérience pratique. Il est impossible de ne pas être d'accord, car les connaissances théoriques doivent être renforcées par la pratique. Avec ce post, nous lançons une série d'articles sur les stages d'été des étudiants : comment ils y arrivent, ce qu'ils y font et pourquoi c'est bénéfique.
Dans le premier article, je vais expliquer comment réussir toutes les étapes des entretiens et obtenir un stage chez Google.
Quelques mots sur moi
Je suis étudiant en première année de Master sur le campus de Saint-Pétersbourg de NGSU, ayant terminé ma Licence à l'Université Académique en Apprentissage Automatique. Pendant mes études de Licence, je me suis activement engagé dans la programmation compétitive et j'ai également participé à divers hackathons. Vous pouvez lire à propos des derniers , et .
Sur le stage
Pour commencer, je veux parler un peu de ce à quoi ressemble un stage chez Google de l'intérieur.
Chaque stagiaire arrivant chez Google est rattaché à une équipe. Cela peut être une équipe travaillant sur l'infrastructure interne, dont une personne extérieure à l'entreprise n'a jamais entendu parler, ou sur un produit utilisé par des millions de personnes à travers le monde. De tels produits peuvent inclure les bien connus YouTube, Google Docs et d'autres. Étant donné que le développement de ces projets implique des dizaines voire des centaines de développeurs, vous serez intégré dans une équipe spécialisée dans une partie plus étroite de celui-ci. Par exemple, à l'été 2018, j'ai travaillé sur Google Docs, ajoutant de nouvelles fonctionnalités pour le travail avec des feuilles de calcul.
En tant que stagiaire dans l'entreprise, vous avez un manager, qu'on appelle hôte. C'est un salarié à temps plein qui travaille également à la création de produits. Si vous êtes confronté à quelque chose d'inconnu, si vous ne pouvez pas résoudre un problème ou si vous rencontrez des difficultés, vous devez vous adresser à lui. En général, des réunions hebdomadaires en tête-à-tête sont programmées, où vous pouvez discuter de votre situation actuelle dans le projet ou parler de quelque chose de totalement déconnecté. De plus, l'hôte est l'une des personnes qui évalueront votre travail durant votre stage. Un deuxième évaluateur, supplémentaire, effectuera également cette évaluation. Et bien sûr, ils sont intéressés à ce que vous réussissiez.
Chez Google, on vous lancera, mais ce n'est pas certain, il est bon d'adopter l'habitude d'écrire un document de conception (design document) avant de commencer quoi que ce soit. Pour ceux qui ne savent pas, un document de conception est un document qui expose la nature du problème existant ainsi qu'une description technique détaillée de sa solution. Un document de conception peut être écrit à la fois pour un produit entier et pour une nouvelle fonctionnalité spécifique. En lisant ce type de documentation, on peut comprendre quel était l'objectif du produit et comment il a été réalisé. On peut également souvent voir dans les commentaires des dialogues entre ingénieurs discutant des différentes manières de mettre en œuvre une partie du projet. Cela donne une bonne compréhension des raisons pour lesquelles chaque décision a été prise.
L'aspect remarquable du stage est que vous allez utiliser d'incroyables outils de développement internes, dont Google dispose en grande quantité. Après les avoir utilisés et après avoir discuté avec de nombreuses personnes ayant travaillé auparavant chez Amazon, Nvidia et d'autres entreprises technologiques largement connues, je peux conclure que ces outils ont de fortes chances d'être les meilleurs que vous rencontrerez dans votre vie. Par exemple, un outil appelé Google Code Search permet non seulement de parcourir l'ensemble de la base de code, l'historique des modifications de chaque ligne de code, mais offre également une possibilité de navigation dans le code, à laquelle nous sommes habitués dans les environnements de développement modernes, tels qu'Intellij Idea. Et pour cela, il vous suffit d'un simple navigateur ! Un inconvénient lié à cette même caractéristique est qu'en dehors de Google, vous trouverez que ces outils vous manqueront.
En ce qui concerne les avantages, l'entreprise possède de superbes bureaux, propose une bonne restauration, met à disposition une salle de sport, offre une bonne assurance et d'autres petites attentions. Je vais simplement laisser ici quelques photos du bureau de New York :



Comment obtenir une offre ?
Aperçu
Il est maintenant temps de parler de quelque chose de plus sérieux : comment accéder à un stage ?
Ici, nous ne parlerons pas de Google, mais de comment cela se passe en général. Je décrirai plus bas les particularités du processus de sélection des stagiaires chez Google.
Le processus d'entretien dans l'entreprise se déroulera probablement comme suit :
- Candidature pour un stage
- Concours sur Hackerrank/Quiz TripleByte
- Entretien de sélection
- Premier entretien technique
- Deuxième entretien technique
- Entretien sur site
Candidature pour un stage
Il est évident que tout commence par votre désir d'obtenir un stage. Pour cela, vous devez l'exprimer en remplissant le formulaire sur le site de l'entreprise. Si vous avez des amis travaillant là-bas, essayez de passer par eux. Cette option est préférable car elle vous aide à vous démarquer d'un grand nombre d'autres candidats. Si cela n'est pas possible, postulez par vous-même.
Essayez de ne pas trop vous décourager lorsque vous recevrez des emails du type « vous êtes génial, mais nous avons choisi d'autres candidats ». Et j'ai un conseil pour vous :

Concours sur Hackerrank/Quiz TripleByte
Si votre CV a plu au recruteur, vous recevrez dans 1 à 2 semaines un email avec une nouvelle mission. Vous serez probablement invité à passer un test sur Hackerrank, où vous devrez résoudre des problèmes d'algorithmes dans un temps imparti, ou à répondre à des questions diverses sur les algorithmes, le développement de logiciels et les systèmes bas niveau lors d'un quiz TripleByte. Cette étape sert de premier filtre dans le processus de sélection des candidats.
Entretien de sélection
Si vous réussissez cette épreuve, vous serez ensuite convié à un entretien de présélection, où vous discuterez avec le recruteur de vos intérêts et des projets que l'entreprise propose aux stagiaires. Si vous montrez de l'intérêt et que votre expérience précédente correspond aux attentes de l'entreprise, vous recevrez le feu vert. D'après mon expérience, c'est l'étape la plus imprévisible de tout le processus, qui dépend beaucoup du recruteur.
Si vous avez réussi ces trois épreuves, la majorité du hasard est déjà derrière vous. Il ne vous reste plus que des entretiens techniques, qui dépendent davantage de vous, donc vous pouvez influencer leur résultat. Et c'est une bonne chose !
Entretiens techniques
Les entretiens techniques suivent, généralement réalisés par Skype ou Hangouts. Mais il arrive parfois que des services plus exotiques soient utilisés, nécessitant l'installation de logiciels supplémentaires. Assurez-vous donc que tout fonctionne sur votre ordinateur à l'avance.
Le format des entretiens techniques dépend fortement du poste pour lequel vous postulez. Si vous postulez pour un poste de stagiaire en ingénierie logicielle, on vous proposera probablement quelques problèmes algorithmiques à résoudre dans un éditeur de code en ligne, par exemple, . On peut également poser des questions sur la conception orientée objet pour évaluer votre compréhension du design logiciel. Par exemple, il pourrait vous être demandé de concevoir un petit site de e-commerce. Pourtant, je n'ai jamais rencontré de problème dont la solution puisse réellement juger de cette compétence. À la fin de l'entretien, on vous donnera sûrement l'occasion de poser des questions. Je vous conseille de prendre cela au sérieux, car grâce à vos questions, vous pouvez montrer votre intérêt pour le projet et démontrer votre expertise dans le domaine. Je prépare habituellement à l'avance une liste de questions potentielles :
- Comment se déroule le travail sur le projet ?
- Quelle tâche complexe avez-vous dû résoudre récemment ?
- Quel est le rôle du développeur dans le produit final ?
- Pourquoi avez-vous décidé de travailler pour cette entreprise ?
Il ne vous interroge pas toujours une personne avec qui vous serez amené à travailler par la suite. Ainsi, les dernières questions peuvent donner une idée de ce qui se passe au sein de l'entreprise dans son ensemble. Pour moi, par exemple, il est important d'avoir un impact sur le produit final.
En cas de succès lors du premier entretien, vous serez invité à un second. Celui-ci se distinguera par l'intervieweur et, par conséquent, par les tâches. Le format restera probablement le même. Après le second entretien, un troisième pourrait être proposé.
Entretien sur site
Si jusqu'à présent vous n'avez pas été refusé, alors vous serez invité à un entretien sur site, où le candidat est convié à un entretien dans les bureaux de l'entreprise. Cela consiste généralement en plusieurs entretiens techniques et un entretien comportemental. Pendant l'entretien comportemental, vous discutez avec le responsable de vos projets, des décisions que vous avez prises dans différentes situations, et d'autres aspects similaires. En d'autres termes, l'intervieweur essaie de mieux comprendre votre personnalité et d'approfondir votre expérience. Certaines entreprises, qui organisent 3 à 4 entretiens techniques, proposent plutôt de passer uniquement un entretien comportemental à distance au lieu d'un entretien sur site.
Vous n'avez plus qu'à attendre la réponse du recruteur. Si tout s'est bien passé, vous recevrez sûrement un e-mail avec l'offre tant attendue. Si vous ne recevez pas d'offre, ne vous découragez pas. Les entreprises rendent systématiquement des refus à de bons candidats. Essayez de postuler à nouveau pour un stage l'année prochaine.
Entretien de codage
Attendez… Nous n'avons pas encore passé d'entretiens. Nous venons simplement d'apprendre à quoi ressemble tout le processus et maintenant, nous devons bien nous préparer pour les entretiens afin de ne pas manquer l'occasion de passer un été agréable et utile.
Il existe des ressources telles que , et , qui a été créée comme un outil de préparation aux entretiens techniques, sera beaucoup plus appropriée. Si vous résolvez 100 à 200 problèmes de difficultés diverses, il y a de fortes chances que vous ne rencontriez pas de problèmes lors de l'entretien. Un autre site respectable est Facebook Code Lab Beaucoup conseillent également de lire le livre «
Cracking the Coding InterviewJ'ai personnellement lu seulement certaines parties de son contenu. Toutefois, il convient de noter que j'ai beaucoup résolu de problèmes algorithmiques durant mes années d'école. Quiconque n'a pas cette expérience devrait au moins feuilleté ce livre.
De plus, si vous avez eu peu d'entretiens techniques dans des entreprises à l'étranger, il est recommandé de passer quelques entretiens d'entraînement. Mais plus vous en faites, mieux c'est. Cela vous aidera à vous sentir plus confiant pendant l'entretien et à moins stresser. Des entretiens d'entraînement peuvent être organisés sur .
Entretiens comportementaux
Comme je l'ai déjà mentionné, lors d'un entretien comportemental, l'intervieweur cherche à en savoir plus sur votre expérience et à comprendre votre caractère. Que se passe-t-il si vous êtes un excellent développeur, mais incapable de travailler en équipe ? Cela pourrait ne pas convenir à beaucoup de gens. Par exemple, on pourrait vous poser une question comme : « Quelle est votre faiblesse ? » En plus de ce type de questions, on vous demandera de parler des projets dans lesquels vous avez joué un rôle clé, des problèmes que vous avez rencontrés et de la manière dont vous les avez résolus. Il convient de noter que dans les premières minutes des entretiens techniques, on peut également vous interroger à ce sujet. Il est bien expliqué comment se préparer à de tels entretiens dans l'un des chapitres de « Cracking the Coding Interview ».
Maintenant que le processus de sélection des stagiaires est clairement compris en général et que vous savez comment vous préparer aux entretiens, il est temps de parler de la manière dont cela fonctionne chez Google.
La liste des stages disponibles peut être trouvée . Si vous prévoyez de partir en stage d'été, il est recommandé de commencer à postuler dès septembre.
Entretiens
Ici, le processus semble un peu inhabituel. Vous aurez un entretien de présélection et deux techniques. Si vous vous en sortez bien, vous passerez à la phase de recherche de projet. Vous devrez remplir un formulaire assez long, dans lequel vous indiquerez toutes vos compétences actuelles, ainsi que vos préférences en matière de sujet de projet et de localisation pour votre stage.
Il est très important de remplir ce questionnaire de manière soigneuse et attentive ! Les hôtes potentiels, qui recherchent des personnes pour leur projet, passent en revue les stagiaires disponibles et organisent des entretiens avec les candidats qui les intéressent. Ils peuvent filtrer les étudiants par localisation, mots-clés, case à cocher dans le questionnaire, ou trier selon les scores d'entretien.
Lors de l'entretien, l'intervieweur parle du projet sur lequel vous allez travailler et apprend également à connaître l'expérience du candidat. C'est une excellente occasion d'en savoir plus sur le processus de travail réel, car vous communiquez avec la personne qui sera votre hôte. Après l'entretien, vous écrivez un courriel au recruteur pour partager vos impressions sur le projet. Si le projet vous a plu et que vous avez plu à l'intervieweur, vous recevrez une offre. Sinon, vous attendrez d'autres appels, qui peuvent être 2, 3, 4, ou peut-être même aucun. Il convient de préciser que, même si vous avez bien réussi vos entretiens, si aucune équipe ne vous choisit au stade de la recherche de projet (et peut-être même que personne ne vous a parlé), malheureusement, vous resterez sans offre.
Amérique ou Europe ?
En outre, vous devrez décider où votre stage se déroulera. J'avais le choix entre les États-Unis et . Et il est important de connaître certaines spécificités. Par exemple, il semble que c'est plus difficile d'entrer aux États-Unis. Tout d'abord, vous devrez passer un concours supplémentaire de 90 minutes où vous devrez résoudre des problèmes algorithmiques, ainsi qu'un autre questionnaire de 15 minutes qui tentera de révéler votre personnalité. Deuxièmement, d'après mon expérience et celle de mes amis, vous attirez moins l'intérêt des équipes à ce stade. Par exemple, en 2017, j'ai eu seulement un entretien, après lequel l'équipe a choisi un autre candidat et je n'ai pas reçu d'offre. Pendant ce temps, les gars qui postulaient en Europe avaient 4 à 5 projets. En 2018, j'ai trouvé une équipe en janvier, ce qui est assez tard. Les gars travaillaient à New York, j'ai aimé leur projet et j'ai accepté.
Comme vous le voyez, c'est un peu plus compliqué avec les États-Unis. Mais je voulais y aller plus qu'en Europe. De plus, les salaires sont plus élevés aux États-Unis.

Que faire après ?
À la fin du stage, vous avez deux options :
- Obtenir un stage pour l'année suivante.
- Passer deux entretiens techniques pour obtenir un poste à plein temps.
Ces deux options sont disponibles si vous avez réussi votre projet actuel. Si ce stage n'est pas votre premier, on peut même vous proposer un poste à plein temps sans entretiens.
Il en résulte la situation suivante, que l'on peut décrire par une seule image :

Comme s'était mon premier stage, j'ai décidé de passer deux entretiens techniques pour obtenir un poste à plein temps. D'après leurs résultats, un offre m'a été faite et ils ont commencé à chercher une équipe, mais j'ai refusé cette option car j'ai décidé de terminer mon master. Google ne disparaîtra probablement pas dans 2-3 ans.
Conclusion
Les amis, j'espère que j'ai expliqué de manière claire et accessible comment se déroule le parcours d'un étudiant à un stagiaire (et puis de retour…), et ce matériel trouvera son lecteur, qui le jugera utile. Comme vous le voyez, ce n'est pas si compliqué que cela peut paraître, il suffit de surmonter sa paresse, ses peurs et de commencer à essayer !
P.S. J'ai aussi ici un sur Telegram, où vous pouvez jeter un œil.
Source : habr.com
