
L'une de mes tâches chez Groupon consistait à aider l'entreprise à recruter d'excellents développeurs, je pouvais donc faire office de porte-parole de l'équipe de développement de Groupon, avec pour principale mission de publier les offres de recrutement et de répondre aux questions. La semaine dernière, j'ai répondu à deux étudiants universitaires venus se renseigner sur des postes de stage d'été.
J'ai soigneusement relu le contenu de mes réponses par e-mail et j'ai résumé 8 conseils que je considère précieux, pour les étudiants qui rêvent de devenir programmeurs :
1. Si vous commencez à contacter des entreprises à l'extérieur dès votre deuxième année, votre démarche est louable. Beaucoup d'étudiants universitaires attendent deux mois avant l'obtention du diplôme (ou même plus tard) pour envisager de chercher un emploi. Même si vous ne pouvez pas obtenir un stage, vous devriez quand même aller souvent à des entretiens et interagir avec certaines entreprises, en vous efforçant de laisser une bonne impression aux autres.
2. Si vous êtes intéressé par une technologie mature, vous pouvez d'abord apprendre les connaissances de base pertinentes à partir de livres. Veillez à combiner les connaissances théoriques avec des exercices pratiques. Les connaissances dans les livres ont été soigneusement éditées et vous enseigneront un ensemble complet de points d'apprentissage systématiques. Mais vous ne pouvez pas vous contenter de lire des livres ; vous devez faire les exercices qu'ils contiennent. Par exemple, si vous voulez apprendre Rails, vous pouvez lire « Agile Web Development with Rails », qui vous apprendra à développer un site e-commerce complet en une semaine. Parfois, la pratique précède souvent la compréhension (ou plus précisément, sans pratique, vous ne pouvez pas comprendre).
3. Sur ce point, je veux dire : ne vous contentez pas d'attendre que la salle de classe vous enseigne de nouveaux langages de programmation ou des technologies de pointe. L'objectif des cours d'informatique proposés à l'école est de vous faire apprendre les fondements théoriques de la programmation ainsi que certaines règles et sujets spéciaux. Mais de nombreuses technologies (comme la gestion de code, la gestion de serveurs, la configuration nginx, etc.) et langages de programmation (les cours scolaires n'enseignent que le C et le Java) ne seront pas couverts dans le programme scolaire. Mais dans une entreprise, vous apprendrez souvent de nouvelles technologies de manière ciblée en fonction de votre plan de carrière et des besoins de l'entreprise. Donc, si vous voulez obtenir quelque chose dans votre carrière à l'avenir, essayez d'apprendre dès maintenant de nouvelles connaissances en dehors du programme.
4. Ne vous concentrez pas uniquement sur certains langages de programmation et frameworks spécifiques ; diversifiez vos compétences techniques. Des livres comme « Structure and Interpretation of Computer Programs » (lecture en ligne gratuite http://mitpress.mit.edu/sicp/full-text/book/book.html), « Clean Code » et « The Pragmatic Programmer » sont tous bons.
5. Si vous n'avez fait que survoler le point ci-dessus, vous feriez mieux de le relire ! Lisez SICP, regardez les explications vidéo. Ces entraînements feront de vous un excellent programmeur.
6. Apprenez au moins un langage de programmation obscur. Cela vous permettra d'apprendre beaucoup de choses que vous ne pouvez pas apprendre avec des langages grand public comme Java. Personnellement, je préfère le langage Lisp. Le livre « Land of Lisp » est excellent, il vous offre une façon amusante d'apprendre Lisp.
7. Trouvez un projet sur lequel travailler. Vous n'avez pas besoin de faire quelque chose de très significatif ou important ; tant que cela vous permet de vous exercer. Écrivez un petit programme qui peut rechercher le Starbucks le plus proche de chez vous, développez un système de site web de gestion unifié pour votre groupe d'étude, développez un logiciel de robot automatique qui peut accomplir des tâches de puzzle. Simplement pour l'apprentissage pratique, et publiez le projet en ligne, mettez le code source sur GitHub, et écrivez aussi souvent quelques-unes de vos propres réflexions d'apprentissage et mettez-les sur un blog. De cette façon, les projets que vous faites seront rendus publics. L'avantage est qu'à l'avenir, les employeurs auront une bonne impression de vous, en particulier lors des entretiens. En même temps, cela vous donne aussi l'occasion d'exercer votre capacité d'écriture, vous permettant de savoir où vous en êtes chaque année.
8. Entrez en contact avec davantage de développeurs liés à votre propre domaine. Grâce à Google, s'il existe des conférences et des activités pertinentes dans votre domaine, vous pouvez les rechercher en 5 secondes. Si vous ne trouvez aucune conférence, cela signifie que leur organisation est trop chronophage ou trop difficile. Vous pouvez également vous porter volontaire pour contribuer à ces conférences, par exemple en trouvant des lieux de réunion. Faire ces choses n'est pas très difficile ; l'essentiel est d'y consacrer du temps et d'avoir confiance. Ces choses vous permettront d'acquérir une bonne réputation, de rester en contact avec les autres, de travailler ensemble et de progresser ensemble.
Enfin, je veux dire : dépensez 100 $ par an en livres et pratiquez assidûment. Vous deviendrez certainement un étudiant universitaire meilleur que tout autre aux yeux des employeurs.