Vous cherchez à décrocher un stage en génie logiciel? Voici quelques réflexions pour vous aider

Une note: ce post est simplement destiné à partager des conseils que j'aurais aimé avoir.

Si vous êtes un étudiant à la recherche d'un stage en génie logiciel pour l'été ou que vous vous demandez simplement ce que c'est que d'en chercher un, cet article est pour vous!

Au cours de ma deuxième année à l'université, j'étais à peu près sûr de vouloir devenir ingénieur logiciel. J'avais suivi les deux cours d'introduction à mon collège et je les avais adorés, et j'étais dans un cours de niveau supérieur que j'appréciais. J'espérais donc décrocher un stage en génie logiciel cet été qui me permettrait d'acquérir de l'expérience dans l'industrie et d'améliorer mes compétences.

Ne sachant comment aborder cela, je n'ai commencé à chercher qu'au printemps. À partir de janvier, j'ai postulé auprès de plus de 60 entreprises en ligne et j'ai reçu au moins 20 refus automatisés. J'ai eu deux entretiens techniques (qui ont tous deux été désastreux) et j'ai fini par travailler un travail qui n'avait rien à voir avec le génie logiciel.

Mes erreurs étaient:

  1. Ne commence pas avant le printemps
  2. Ne pas utiliser mon réseau ou essayer de le développer
  3. Ne pas préparer les entretiens techniques
  4. Ne pas faire de projets parallèles

Dans ma première année, j'étais déterminé à faire mieux. J'ai mis en réseau autant que je pouvais, investi du temps dans la pratique des entretiens techniques et comportementaux et pris toutes les entrevues que je pouvais obtenir. Je sentais que mon plus gros problème était de mettre le pied dans la porte. Mon CV se perdait parmi des milliers d'autres dans le vide de candidature en ligne. Personne n'avait aucune raison de revoir ma candidature.

Après mon échec l'année dernière, j'ai passé beaucoup de temps à rechercher des stratégies pour décrocher un stage en tant qu'ingénieur logiciel. J'ai proposé quatre points à retenir, que j'ai appris de mes erreurs:

  1. Commencez tôt
  2. Les connexions sont votre outil le plus important
  3. Vous devez vous préparer aux entretiens techniques
  4. Les projets parallèles transforment votre CV de bon en excellent

La première chose que je devais faire était de choisir les entreprises que je voulais cibler. J'ai commencé par lister toutes les entreprises dont j'utilisais et appréciais les produits, puis j'ai recherché «stagiaire en génie logiciel» dans la recherche d'emplois Glassdoor et j'ai passé au crible ces listes d'entreprises dont les produits m'ont plu, avaient entendu parler de bonnes choses ou dont les offres d'emploi semblaient intéressant.

Commencer tôt

La saison de recrutement débute en août / septembre . Je recommanderais de commencer en août / début septembre ou octobre au plus tard.

De nombreuses grandes entreprises (si c'est ce que vous recherchez) terminent leur recrutement en novembre / décembre. Si vous parlez à des amis, c'est formidable de commencer tôt, par exemple avant septembre. Si vous lisez cet article au printemps, il n'est pas trop tard ! Vous pouvez toujours appliquer toutes les stratégies ci-dessous et avoir de grandes chances d'obtenir un stage.

Utilisation des connexions

Voici un résumé des personnes que vous pouvez contacter pour mettre un pied dans la porte, pour ainsi dire.

  1. Les anciens qui travaillent dans l'entreprise dans laquelle vous souhaitez travailler
  2. Amis / camarades de classe qui ont fait un stage dans cette entreprise
  3. Les professeurs
  4. Amis d'amis qui travaillent dans cette entreprise

Atteindre initialement

En tant qu'étudiant, j'avais l'impression de n'avoir aucun lien. Les connexions semblaient être quelque chose que les vrais adultes avaient, pas moi. Mais cela s'est avéré être complètement faux.

Premièrement, je connaissais quelques anciens qui travaillaient maintenant dans des entreprises dans lesquelles je voulais travailler. Deuxièmement, j'ai découvert la puissance de LinkedIn en tant qu'outil pour tirer le meilleur parti de mon réseau.

Ma première étape dans l'utilisation de mes relations a été de toucher des personnes que je connaissais déjà et qui travaillaient comme ingénieurs logiciels dans les entreprises qui m'intéressaient. Pour moi, il était plus facile de demander du temps à des personnes que je connaissais déjà.

Si l'un de vos camarades de classe / amis a été interné dans ces entreprises, essayez de les contacter. Ils peuvent souvent vous référer à un recruteur de cette entreprise. Tendre la main aux personnes qui travaillent à temps plein dans ces entreprises est également précieux.

Je les ai généralement contactés via Facebook Messenger et leur ai demandé s'ils disposaient de 15 minutes pour un appel téléphonique pour discuter de leur travail . Il est important que vous limitiez la demande à 15 minutes - c'est une petite demande et ne vous sentez pas comme une grande faveur pour la personne que vous appelez.

Il est également important que vous ne dirigiez pas en leur demandant de vous aider à trouver un emploi. Les gens n'aiment pas aider les gens qu'ils ne connaissent pas, et les approcher de cette façon les mettra probablement mal à l'aise. Puisque les personnes à qui j'ai envoyé un message me connaissaient déjà, elles ont toutes dit oui. Je reviendrai plus tard sur ce qu'il faut dire sur ce type d'appel.

Ma deuxième étape a été de me connecter à LinkedIn. Assurez-vous de remplir votre profil LinkedIn avec autant d'informations que possible - traitez-le comme un deuxième CV. J'ai alors commencé le processus de contact via LinkedIn avec des personnes que je ne connaissais pas du tout . Cela s'est passé quelque chose comme ça.

  1. J'allais sur la page LinkedIn d'une entreprise pour laquelle je souhaitais travailler et je cliquais sur le lien pour voir tous les employés de cette entreprise sur LinkedIn.

2. J'ai ensuite fait défiler le filtre jusqu'au filtre Écoles et saisi mon université.

J'obtiens ensuite une liste d'anciens étudiants qui travaillent dans l'entreprise qui m'intéresse. Les personnes avec qui vous avez quelque chose en commun sont beaucoup plus susceptibles d'être disposées à prendre le temps de parler avec vous ou de vous aider.

3. Appuyez sur "Connecter" puis sur "Ajouter une note" et demandez-leur de discuter au téléphone. Ma note typique ressemble à ceci:

Dans ma note, j'explique à la fois pourquoi je les contacte et ma «demande» - un appel téléphonique de 15 minutes - en quelques phrases. Soyez bref, convivial et précis (LinkedIn ne vous permet de toute façon pas de dépasser 300 caractères).

4. Attendez qu'ils répondent! De nombreuses personnes ne vous répondront peut-être jamais, et certaines vous répondront immédiatement ou en quelques jours. Je contactais généralement environ 5 personnes par semaine, car un nombre décent de personnes ne vérifient ou n'utilisent tout simplement pas LinkedIn. Je déconseille de contacter plusieurs personnes de la même entreprise à la fois, car c'est légèrement redondant.

Au-delà de toucher les gens de votre réseau universitaire, contactez les amis de vos parents s'ils travaillent dans la technologie, les amis de votre ami, etc. Si vous voyez quelqu'un sur LinkedIn avec lequel vous êtes connecté via un ami, demandez à votre ami de vous présenter à cette personne.

Accéder au téléphone

Ce type d'appel téléphonique au cours duquel vous parlez à quelqu'un de son travail est généralement appelé «entretien d'information». Mais l'appeler une «interview» le rend beaucoup plus effrayant qu'il ne l'est. Une fois que vous avez reçu quelques appels téléphoniques, cela devient beaucoup plus facile.

J'ai trouvé que ces appels étaient parmi les choses les plus utiles que j'ai faites lors de ma recherche de stage. Ils m'ont aidé à déterminer dans quel type d'entreprise je voulais travailler, comment me préparer à l'entretien technique et quels domaines du génie logiciel je voulais approfondir.

Il peut être difficile de savoir quoi demander au début, alors voici quelques questions que j'ai posées lors de plusieurs de ces appels téléphoniques:

  • À quoi ressemble la culture chez X Company?
  • Y a-t-il un accent sur l'équilibre travail-vie personnelle?
  • Dans quelle mesure les gens traînent-ils en dehors du travail?
  • La culture est-elle transparente ou plus secrète?
  • Qu'est-ce qui vous plaît dans votre travail chez X Company?
  • Y a-t-il quelque chose que vous n'aimez pas ou des choses que vous essayez de changer?
  • Qu'est-ce que ça fait d'être une femme ingénieur dans l'entreprise X?
  • Est-il facile de changer d'équipe et d'essayer de nouvelles choses?
  • Sur quoi votre équipe travaille-t-elle?
  • Comment êtes-vous arrivé à la société X? Pourquoi avez-vous choisi cette entreprise par rapport aux autres entreprises?
  • Comment êtes-vous entré dans votre domaine particulier de l'informatique (ex. Apprentissage automatique, bases de données, etc.) et quelles sont certaines ressources pour en savoir plus?
  • À quoi ressemblent les stages dans votre entreprise?

Des questions comme celles-ci peuvent être un excellent moyen de mieux comprendre ce que signifie travailler dans l'entreprise. Les entretiens d'information peuvent être formidables même si vous ne cherchez pas d'emploi. Ils peuvent vous aider à en savoir plus sur l'industrie.

Mais si vous recherchez un stage, il y a une question que j'ai posée lors de chaque appel téléphonique qui a été particulièrement utile: comment puis-je me démarquer dans le processus de candidature de stagiaire pour l'entreprise X? Cette question est excellente car la personne avec qui vous êtes au téléphone vous donnera des conseils sur la façon d'y faire un stage, et vous proposera potentiellement de vous mettre en contact avec un recruteur ou même de vous référer à son entreprise.

Autres avenues

En plus de tendre la main à des connexions ou des connexions potentielles, assurez-vous d'utiliser le salon de l'emploi de votre école! Ces entreprises sont déjà là parce qu'elles veulent recruter des étudiants de votre école.

Quelque chose qui m'a également été très utile a été (si vous identifiez une femme) de soumettre mon CV à la base de données de CV de Grace Hopper. De nombreuses entreprises m'ont contacté via cette base de données. De plus, si un professeur que vous connaissez bien a des contacts ou des amis dans l'industrie, cela peut valoir la peine de lui demander de l'aide pour établir une connexion.

Entretiens techniques et défis de codage

On en a assez dit sur l'entretien technique pour que je ne ressens pas le besoin d'écrire un long article à ce sujet. Mais, j'ai quelques choses qui me semblent importantes:

  • Les défis de codage sont une chose . Il s'agit d'une évaluation de type HackerRank dans laquelle vous recevez un problème de codage et un temps limité pour le résoudre, par exemple une heure. Il s'agit généralement d'une présélection pour un entretien téléphonique. Entraînez-vous à faire des problèmes de HackerRank sur une limite de temps pour simuler cet environnement afin que vous soyez préparé à ces derniers.
  • Personnellement, j'ai trouvé que Python était un langage fantastique pour les interviews. Il vous évite d'avoir à implémenter des structures de données ou des fonctions de type bas niveau, et est très rapide à écrire et à déboguer. Certaines des choses les plus utiles en Python à savoir pour les entretiens (à mon avis) sont defaultdict, le tri avec un lambda , fractionnement / inversion / jonction de chaînes et types de données intégrés.
  • Essayez de ne pas vous exciter! J'ai eu deux derniers tours pour lesquels je pensais avoir échoué immédiatement après, pour lesquels j'ai fini par recevoir des offres.
  • Posez des questions lors de vos entretiens techniques! Cela montre que vous vous intéressez à l'entreprise. J'ai trouvé cet article Medium particulièrement utile à cet égard.
  • Essayez de trouver un domaine de l'informatique qui vous intéresse particulièrement, car on m'a posé la question dans presque toutes les interviews.
  • Relevez autant d'entretiens / défis de codage que possible, si vous en avez le temps. La seule façon de s'améliorer est de pratiquer!

Au-delà de cela, voici quelques ressources utiles sur la préparation de l'entrevue de codage.

  • Guide de Palantir
  • Le livre Cracking the Coding Interview
  • Ce billet de blog
  • Cette liste de ressources
  • Il y a un nouveau site appelé intervewing.io qui vous associe à un ingénieur logiciel pour pratiquer des entretiens techniques - je ne l'ai pas essayé, mais cela semble vraiment cool.

Personnellement, je me suis préparé pour les entretiens techniques en faisant des problèmes de Cracking the Coding Interview, des problèmes Python sur HackerRank, et en faisant autant d'entretiens techniques que possible. Il n'y a vraiment pas de substitut à la pratique - j'étais beaucoup moins nerveux lors de ma cinquième interview que lors de la première.

Projets parallèles

Avoir des projets parallèles que vous avez réalisés pendant votre temps libre et en dehors des cours est la meilleure façon de montrer que vous êtes passionné par ce que vous faites. Honnêtement, il est frustrant qu'il existe une norme où le fait que vous vous spécialisez déjà en informatique ne suffit pas à montrer que vous l'aimez.

Quoi qu'il en soit, les projets parallèles sont un excellent moyen d'apprendre ainsi qu'un moyen de créer votre CV. Pour moi, faire des projets parallèles a été gratifiant. J'ai pu développer mes compétences tout en pratiquant la mise en œuvre de quelque chose par moi-même. Voici et voici des listes d'idées de projets parallèles pour vous aider à démarrer. Je recommanderais de faire un projet parallèle qui vous passionne, plutôt que celui que vous utilisez simplement pour créer votre CV. Ce sera beaucoup plus agréable et vous en apprendrez beaucoup plus.

Mon école a quelque chose appelé JumboCode qui fait du travail de codage pour les organisations à but non lucratif. Mon expérience au sein d'une équipe au sein de ce club a été l'une de mes expériences préférées. Travailler en équipe et vivre une expérience d'apprentissage fantastique, techniquement parlant. Si votre école a quelque chose de similaire, envisagez de vous impliquer si cela vous intéresse.

Dernières pensées

En utilisant toutes les stratégies ci-dessus, j'ai pu obtenir un stage chez Square, ce qui était mon premier choix! Un de mes amis qui travaillait chez Square l'année dernière m'a mis en contact avec le recruteur actuel, ce qui a finalement abouti à mon offre.

Obtenir un stage en génie logiciel est difficile.

C'est particulièrement difficile lorsque vous n'avez pas beaucoup d'entreprises qui essaient de recruter dans votre école ou que vous n'avez pas beaucoup de relations familiales. Mais si vous allez dans une école qui compte des diplômés en informatique, au moins certains d'entre eux travailleront probablement dans des entreprises qui vous intéressent! Et du fait d'avoir fréquenté votre université, ils sont souvent prêts à vous aider.

Ce message est destiné à rendre public tout ce que j'aurais aimé que les gens me disent plus tôt, dans l'espoir d'aider quiconque à la recherche d'un stage en génie logiciel.

Si vous avez des questions, n'hésitez pas à me contacter par e-mail à tatidoyle01 [at] gmail.com!

Un grand merci aux nombreuses personnes qui m'ont aidé à relire et éditer cet article!