Comment obtenir un emploi d'ingénieur logiciel chez Google et d'autres entreprises de haute technologie

Salut à tous!

J'ai déjà expliqué comment j'ai personnellement obtenu un poste d'ingénieur en informatique chez Google dans quelques vidéos de ma chaîne YouTube d'éducation à la programmation, appelée CS Dojo.

Cependant, beaucoup de gens me demandent encore comment trouver un emploi chez Google en tant qu'ingénieur logiciel. Donc, voici mon article expliquant la stratégie que je voudrais utiliser.

Vous pouvez utiliser la même stratégie pour obtenir un emploi en génie logiciel non seulement chez Google, mais également chez d’autres sociétés de haute technologie comme Amazon, Microsoft et Facebook.

Dans cet article, je vais vous montrer le processus en 6 étapes pour décrocher un emploi dans l’une de ces entreprises. En chemin, je vais aussi discuter de:

  • Comment apprendre à coder en premier lieu
  • Ce qu'il faut apprendre après avoir appris à coder
  • Comment obtenir votre premier emploi ou stage de codage
  • Les meilleures façons de postuler à des emplois d'ingénieur logiciel
  • Quelle est la meilleure préparation pour les entrevues de programmation?
  • Est-il important d'obtenir un diplôme en informatique?
  • Est-ce important d'aller dans une université de haut niveau?

Ok, commençons!

Étape 1: apprendre à coder

C'est la qualification minimale absolue dont vous avez besoin pour devenir un ingénieur en logiciel.

Pour cela, je vous recommanderais de commencer avec un site Web interactif tel que Codecademy et freeCodeCamp. Vous pouvez apprendre la plupart des bases de la programmation sur ces sites. J'ai aussi entendu dire que SoloLearn est bon aussi.

Après cela, j'utiliserais des tutoriels vidéo pour apprendre des sujets plus avancés. Je recommande pour cela des sites comme YouTube, Pluralsight, Lynda.com et Udemy. Sur ces sites Web, vous devriez pouvoir trouver des tutoriels sur des sujets tels que:

  • développement web
  • Développement mobile
  • Développement de jeu

en fonction de vos intérêts.

Mais attendez, quel langage de programmation devrais-je apprendre en premier?

Ma réponse courte serait, choisissez JavaScript ou Python, mais cela dépend vraiment de vos intérêts. J'ai une réponse plus longue à cette question dans cette vidéo.

Étape 2: Travailler sur quelques projets personnels

Après avoir suivi quelques didacticiels de programmation, vous devez créer quelques projets personnels pour vous entraîner à utiliser ce que vous avez appris.

Pour cela, vous devriez trouver quelque chose que vous souhaitez construire.

Par exemple, si vous aimez la photographie, vous pouvez peut-être créer un site de portfolio pour toutes vos photos. Si vous aimez les stocks commerciaux, vous pouvez peut-être créer un système qui analyse les graphiques boursiers pour vous. Ou, si vous aimez résoudre des problèmes, vous pouvez essayer de participer à une compétition de codage.

Lorsque vous travaillez sur un projet, commencez par construire autant que possible par vous-même. Ensuite, si vous êtes bloqué, demandez l'aide d'autres personnes en utilisant des ressources en ligne ou hors ligne. Par exemple, vous pouvez utiliser Stack Overflow pour poser des questions techniques spécifiques si vous êtes bloqué par quelque chose lié à la programmation.

Étape 3: Obtenez votre premier emploi ou stage en programmation

Une fois que vous avez construit quelques projets personnels, vous devriez pouvoir obtenir votre premier emploi ou stage en programmation. Grâce à cela, vous aurez une certaine expérience avant de commencer à interviewer des entreprises de haute technologie.

Il est possible d'obtenir votre premier emploi dans l'une des principales entreprises de technologie, mais il est beaucoup plus facile et plus courant de l'obtenir dans une entreprise moins connue.

Les meilleures façons de postuler à des emplois d'ingénieur logiciel

Le simple fait de postuler à des emplois en ligne n’est pas nécessairement la meilleure stratégie, car c’est ce que font à peu près tout le monde.

Au lieu de cela, je vous recommande d’utiliser LinkedIn et le réseautage en personne pour obtenir votre premier emploi en programmation.

Sur LinkedIn, commencez par trouver les recruteurs de l’entreprise dans laquelle vous souhaitez travailler. Puis, demandez-leur si vous êtes qualifié pour le poste qui vous intéresse. Demandez-leur également comment vous pouvez mieux vous préparer si vous n’êtes pas encore qualifié.

Pour la mise en réseau en personne, je recommanderais à des sites tels que Meetup de rencontrer des ingénieurs et des recruteurs d’entreprises locales.

Attendez, attendez, mais ce n’est pas tout.

L'utilisation de LinkedIn et des réseaux en personne fonctionnent bien si vous postulez aux petites et moyennes entreprises. Cependant, j’ai constaté que ces stratégies sont moins efficaces pour les entreprises plus populaires telles que Google et Facebook.

Pour ces grandes entreprises, je recommande plutôt de combiner les trois stratégies suivantes:

  1. Salons de l'emploi et événements de recrutement dans les universités proches de chez vous.
  2. Faites-vous référer à des amis qui travaillent dans l'une de ces entreprises
  3. Postulez simplement en ligne.

La combinaison de toutes ces stratégies vous aidera à augmenter les chances d'obtenir une interview avec l'une de ces grandes entreprises de technologie.

En passant, je ne sais pas exactement pourquoi LinkedIn est moins efficace pour ces grandes entreprises, mais je pense que c’est peut-être parce qu’elles reçoivent trop de messages. En gros, ils sont trop populaires là-bas: P

Étape 4: Apprendre les structures de données et les algorithmes

Les entreprises de haute technologie comme Google et Microsoft posent souvent des questions sur les structures de données et les algorithmes dans leurs entretiens. Donc, vous devriez les apprendre si vous ne les avez pas encore.

Pour apprendre les bases, je recommanderais ma série de vidéos sur les structures de données et les algorithmes. Tout est sur YouTube. J’ai réalisé ces vidéos pour faciliter au maximum la connaissance de ce sujet.

Comme il n’ya que 7 vidéos dans cette série, vous aurez besoin de plus de matériel pour apprendre des sujets plus avancés.

Il existe plusieurs options populaires pour cela, notamment:

  • Ces cours à Stanford sur Coursera
  • Ce cours du MIT sur YouTube
  • Le Manuel de conception d'algorithmes de Skiena (un livre)
  • Algorithmes (un autre livre)

Vous devriez en essayer quelques-uns et continuer avec celui que vous préférez.

Étape 5: Préparer les entretiens de codage

Les entretiens de codage dans des sociétés telles que Google et Microsoft sont difficiles, mais il est assez simple de s'y préparer.

Une fois que vous maîtriserez parfaitement les structures de données et les algorithmes, je vous recommanderais ces trois ressources:

  • Leetcode - une plate-forme interactive pour la pratique des problèmes d'entrevue de codage.
  • Cracking the Coding Interview - un livre populaire sur les entretiens de codage.
  • Problème de codage quotidien - une liste de diffusion qui vous donne un problème par jour.

Après vous être entraîné seul pendant quelques semaines, vous devriez commencer à faire des entrevues simulées.

Comment faire des interviews simulées

Associez-vous à vos amis et échangez-vous l'un avec l'autre des problèmes énumérés ci-dessus.

Ensuite, résolvez chaque problème sur papier ou sur un document Google. Explique ta solution à ton ami.

Veillez à vous entraîner à la fois en tant qu’interviewé et en tant qu’intervieweur, afin de voir ce que cela donne d’être à la place de l’intervieweur.

Une fois que vous avez effectué environ 20 entretiens simulés, vous devriez être prêt à interroger les entreprises pour lesquelles vous souhaitez travailler.

Étape 6: Appliquer, appliquer et appliquer à nouveau :)

Utilisez les trois stratégies que j'ai mentionnées ci-dessus pour appliquer aux entreprises de haute technologie:

  • événements de recrutement / salons de l'emploi
  • obtenir vos amis pour vous référer
  • et postuler en ligne.

Si vous n’arrivez pas la première fois, ne vous inquiétez pas. En fait, vous devez vous attendre à des échecs car entrer dans l’une de ces entreprises est compétitif.

Personnellement, je devais faire une demande à Google 5 fois avant d’y décrocher mon poste d’ingénieur logiciel.

C'est ça! Voici un récapitulatif rapide:

  • Étape 1: apprendre à coder
  • Étape 2: Travailler sur quelques projets personnels
  • Étape 3: Obtenez votre premier emploi ou stage en programmation
  • Étape 4: Apprendre les structures de données et les algorithmes
  • Étape 5: Préparer les entretiens de codage
  • Étape 6: Appliquer, appliquer et appliquer à nouveau :)

Attends, est-ce vraiment aussi simple?

Oui, ça l'est. Malgré tout, il faut beaucoup de temps et de dévouement pour franchir les 6 étapes.

Quelques notes supplémentaires:

Dois-je obtenir un diplôme en informatique?

La réponse courte est non. Cependant, obtenir un diplôme en informatique aide beaucoup. Si vous suivez un programme CS solide, il s’occupe de la plupart des étapes 1, 2, 3 et 4 (apprendre à coder, réaliser des projets personnels, obtenir votre premier emploi ou stage en programmation et apprendre les structures de données et les algorithmes).

Sans prendre un diplôme CS, vous aurez juste besoin d'apprendre plus par vous-même.

Veuillez également noter que même avec un diplôme en informatique, il faut beaucoup de travail pour obtenir un poste d'ingénieur en logiciel dans l'une de ces sociétés.

Dois-je fréquenter une université réputée comme le MIT, Stanford, Carnegie Mellon, etc.?

Encore une fois, la réponse courte est non. Cela aide probablement un peu, mais c’est loin d’être nécessaire.

Laszlo Bock, ancien vice-président senior des opérations liées aux personnes chez Google, est également de cet avis.

Selon le livre qu'il a écrit, Work Rules !, Google préfère les étudiants les plus performants des écoles moins connues aux étudiants médiocres des meilleures écoles comme le MIT.

Je pense que cela a du sens, car si vous êtes intelligent et dévoué, l’école dans laquelle vous êtes allé ne devrait pas avoir trop d’importance.

Dois-je avoir un GPA élevé?

La réponse courte est non, encore.

Avoir une GPA élevée aide probablement un peu à obtenir une interview également, mais il est probablement beaucoup plus important d’avoir une solide expérience pratique et des projets intéressants à montrer sur votre CV.

En fait, selon Work Rules !, Google s’intéressait beaucoup aux GPA des candidats dans le passé. Cependant, ils ont constaté qu’avoir une GPA élevée n’était pas fortement corrélé à une performance forte sur le lieu de travail à long terme. Après cette découverte, ils ont cessé de mettre un accent aussi fort sur les GPA.

De quoi ai-je besoin alors?

Fondamentalement, tout ce dont vous avez besoin est de solides compétences en codage et en résolution de problèmes, une bonne compréhension des principes fondamentaux de la CS, des projets intéressants et une expérience à démontrer dans votre CV.

Vous pourrez construire tout cela si vous suivez les 6 étapes que j'ai expliquées ci-dessus.

Attendez, comment puis-je rédiger un bon CV?

Si vous le souhaitez, vous pouvez utiliser le CV que j’avais appliqué à Google comme modèle.

  • Voici la version PDF.
  • Voici celui pour Word.
  • Voici celle pour Pages.

C’est le curriculum vitae que j’avais utilisé pour travailler en tant qu’ingénieur logiciel chez Google. Cela aurait vraiment dû être une page, alors je dirais que mon CV était trop long. Néanmoins, n'hésitez pas à l'utiliser comme point de départ.

Ressources supplémentaires pour rédiger un CV:

  • Il existe un bon aperçu de ce sujet sur CareerCup ici.
  • Mon amie Zhia Hwa Chong, ingénieur logiciel chez Twitter, a publié un article intéressant à ce sujet.

Ok, bonne chance et merci d'avoir lu cet article!

Si vous avez des questions, s'il vous plaît laissez-moi savoir dans un commentaire ci-dessous ou sur Instagram ou Twitter (@ykdojo sur les deux).