Comment obtenir un emploi d'ingénieur logiciel chez Google et d'autres grandes entreprises technologiques

Salut à tous!

J'ai déjà parlé de la façon dont j'ai personnellement obtenu un emploi d'ingénieur en logiciel chez Google dans quelques vidéos sur ma chaîne YouTube de formation en programmation appelée CS Dojo.

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

Vous pouvez utiliser la même stratégie pour obtenir un emploi en génie logiciel non seulement chez Google, mais également dans d'autres entreprises 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 cours de route, je vais également discuter:

  • Comment apprendre à coder en premier lieu
  • Quoi apprendre après avoir appris à coder
  • Comment obtenir votre premier emploi de codeur ou stage
  • Les meilleures façons de postuler à des emplois d'ingénieur logiciel
  • Comment se préparer au mieux pour la programmation des entrevues
  • Est-il important d'obtenir un diplôme en informatique?
  • Est-il important d'aller dans une grande université?

D'accord, commençons!

Étape 1: Apprenez à coder

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

Pour cela, je vous recommande de vous lancer avec un site Web interactif tel que Codecademy et freeCodeCamp. Vous pouvez apprendre la plupart des principes de base de la programmation sur ces sites. J'ai aussi entendu dire que SoloLearn était bon aussi.

Après cela, j'utiliserais des didacticiels vidéo pour apprendre des sujets plus avancés. Je recommande des sites Web comme YouTube, Pluralsight, Lynda.com et Udemy pour cela. 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 votre intérêt.

Mais attendez, quel langage de programmation dois-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: Travaillez 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 qui vous intéresse.

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

Lorsque vous travaillez sur un projet, commencez par créer autant que possible par vous-même. Ensuite, si vous êtes bloqué, obtenez de 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é sur 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 être en mesure d'obtenir votre premier emploi ou stage de programmation. Avec lui, 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 meilleures entreprises technologiques, mais il est beaucoup plus facile et plus courant de l'obtenir d'abord 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 recommanderais d'utiliser LinkedIn et le réseautage en personne pour obtenir votre premier emploi en programmation.

Sur LinkedIn, trouvez d'abord les recruteurs de l'entreprise pour laquelle vous souhaitez travailler. Ensuite, demandez-leur si vous êtes qualifié pour le poste qui vous intéresse. Vous devriez également leur demander comment vous pouvez mieux vous préparer si vous n'êtes pas encore qualifié.

Pour le réseautage en personne, je recommanderais des sites Web comme Meetup pour rencontrer des ingénieurs et des recruteurs d'entreprises locales.

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

L'utilisation de LinkedIn et du réseautage en personne fonctionne bien si vous postulez auprès de petites et moyennes entreprises. Cependant, j'ai constaté que ces stratégies sont moins efficaces pour des 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 près de chez vous.
  2. Faites-vous recommander par 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 vos chances d'obtenir une entrevue avec l'une de ces grandes entreprises technologiques.

En passant, je ne sais pas exactement pourquoi LinkedIn est moins efficace avec 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: Apprenez les structures de données et les algorithmes

Les grandes entreprises technologiques comme Google et Microsoft posent souvent des questions sur les structures de données et les algorithmes dans leurs entretiens. Alors, vous devriez les apprendre si vous ne l'avez pas encore fait.

Pour apprendre les bases, je recommande 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 qu'il soit aussi facile que possible de connaître ce sujet.

Comme il n'y a 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 de 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 aimez le plus.

Étape 5: Préparez-vous aux interviews de codage

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

Une fois que vous avez une solide compréhension des structures de données et des algorithmes, je recommanderais ces trois ressources pour la pratique:

  • Leetcode - une plate-forme interactive pour pratiquer des problèmes d'entretien de codage.
  • Cracking the Coding Interview - un livre populaire sur les interviews de codage.
  • Problème de codage quotidien - une liste de diffusion qui vous pose un problème par jour.

Après avoir pratiqué seul pendant quelques semaines, vous devriez commencer à faire des entretiens simulés.

Comment faire des entretiens simulés

En gros, faites équipe avec vos amis et donnez-vous des problèmes à partir des ressources que j'ai mentionnées ci-dessus.

Ensuite, résolvez chaque problème sur papier ou sur un document Google. Expliquez votre solution à votre ami.

Assurez-vous de vous entraîner à la fois en tant que personne interrogée et intervieweuse afin de voir ce que c'est que d'être à la place de l'intervieweur.

Une fois que vous avez fait une vingtaine d'entretiens simulés, vous devriez être prêt à commencer à interviewer les entreprises pour lesquelles vous souhaitez travailler.

Étape 6: postulez, postulez et postulez à nouveau :)

Utilisez les trois stratégies que j'ai mentionnées ci-dessus pour s'appliquer aux meilleures entreprises technologiques:

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

Si vous n'obtenez 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.

Pour moi personnellement, j'ai dû postuler à Google 5 fois avant d'y décrocher mon poste d'ingénieur logiciel.

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

  • Étape 1: Apprenez à coder
  • Étape 2: Travaillez sur quelques projets personnels
  • Étape 3: Obtenez votre premier emploi ou stage en programmation
  • Étape 4: Apprenez les structures de données et les algorithmes
  • Étape 5: Préparez-vous aux interviews de codage
  • Étape 6: postulez, postulez et postulez à nouveau :)

Attendez, est-ce vraiment aussi simple que cela?

Oui, ça l'est. Pourtant, 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 prenez un programme CS solide, il s'occupe de la plupart des étapes 1, 2, 3 et 4 (apprendre à coder, faire des projets personnels, obtenir votre premier emploi de programmation ou stage, et apprendre les structures de données et les algorithmes).

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

Veuillez également noter que même avec un diplôme CS, il faut beaucoup de travail pour obtenir un emploi d'ingénieur en logiciel dans l'une de ces entreprises.

Dois-je aller dans une grande université 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 principal des opérations humaines chez Google, est également d'accord.

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

Je pense que cela a du sens, car si vous êtes intelligent et dévoué, peu importe quelle école vous êtes allée.

Dois-je avoir un GPA élevé?

La réponse courte est non, encore une fois.

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

En fait, selon les règles de travail !, Google se souciait beaucoup des GPA des candidats dans le passé. Cependant, ils ont constaté qu'avoir un GPA élevé n'est pas fortement corrélé à une solide performance au travail à long terme. Après cette constatation, 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 et des projets et une expérience intéressants à montrer sur votre CV.

Vous pourrez créer 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'ai utilisé pour postuler à Google comme modèle.

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

C'est le CV que j'ai utilisé pour trouver un emploi chez Google en tant qu'ingénieur logiciel. Cela aurait vraiment dû faire une page, alors je dirais que mon curriculum vitae é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 y a un bel aperçu de ce sujet sur CareerCup ici.
  • Mon ami Zhia Hwa Chong, qui est ingénieur logiciel chez Twitter, a un bel article à ce sujet ici.

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

Si vous avez des questions, n'hésitez pas à me le faire savoir dans un commentaire ci-dessous ou sur Instagram ou Twitter (@ykdojo sur les deux).