Comment Excel chez Hack Reactor

Je n’étais ni le meilleur étudiant ni le travailleur le plus acharné, mais j’ai pris beaucoup de notes et passé beaucoup de temps à réfléchir à mon temps dans le programme. J'ai travaillé pour Hack Reactor pendant 6 mois après mon programme, aidant les étudiants dans leur recherche d'emploi et leur préparation aux entretiens, ainsi que dans la recherche d'opportunités de croissance pour la société mère. Au cours de ces neuf mois, j'ai pris des notes détaillées sur les stratégies et les modèles chez les élèves qui ont réussi.

Pointeurs généraux

  1. Sois professionnel:
    - Traitez ce moment comme si vous étiez au travail. Ce n’est pas le collège. Ne sois pas un abruti. Ne pas bavarder. Montrez préparé. Montrer du respect.
    - Hack Reactor peut littéralement vous donner un emploi si vous vous montrez employable (programme Hacker in Residence). Les dirigeants de Hack Reactor peuvent être vos plus grands défenseurs dans la recherche d'emploi. Demandez-vous: votre instructeur garantirait-il si un employeur potentiel devait lui demander son avis? Vos camarades de cohorte seraient-ils garants pour vous?
  2. Apprenez vos outils
    - Vous serez BEAUCOUP meilleur élève et programmeur si vous connaissez parfaitement vos outils. Ce n'est pas négociable - vous serez un programmeur de merde si vous ne pouvez pas utiliser vos outils efficacement. Plus vous maîtriserez votre éditeur de texte et votre terminal, plus vous pourrez consacrer de temps à la production de code de qualité. Je ne peux insister assez sur ce point. Apprenez vos raccourcis clavier. Jamais entendu parler du programmeur 10x? Les ingénieurs expérimentés utilisent leurs machines comme des dauphins dans l’eau.
    - Passez du temps à trouver un flux de travail solide pour le développement. Passez du temps dessus, puis parcourez cette configuration. Si je n'ai accès qu'à un seul écran, j'utilise les applications en mode écran partagé et / ou plein écran et je passe d'un bureau à un autre. Avec deux écrans, je vais partager l’écran entre le navigateur et le terminal et mon code sera affiché sur l’autre écran. Ne soyez pas un slob avec vos fenêtres partout. Vous finirez par dépenser trop d’énergie mentale si votre flux de travail est en désordre. L'organisation est la clé. Éliminez autant de surcharge mentale que possible.
  3. Coaching et soutien de vos pairs
    - Vous êtes les yeux et les oreilles de vos coéquipiers. Vous les observez en codant et en tableau blanc. Vous êtes une partie externe capable de signaler des problèmes et des comportements. Concentrez-vous sur le soutien de vos pairs, et le soutien vous sera rendu.
    - Apprenez à donner de bons commentaires. C’est bizarre, mais surmontez-vous. Il est temps de mûrir et d’apprendre à faire des commentaires. Le moment est venu de vous exercer avant votre premier emploi en ingénierie.
  4. Baise ton ego
    - Il te retient. Personne ne se soucie de ne pas savoir quelque chose. Parfois, les gens se sentent gênés de poser des questions. Passer à autre chose. Posez beaucoup de questions. Faites-en votre mission pour poser des questions lors de chaque conférence. Apprenez à vous y mettre. Apprenez à vous pousser à faire de nouvelles choses. La vulnérabilité est tellement importante pour la croissance personnelle.
  5. Santé et équilibre
    - Surveillez votre état mental et concentrez-vous sur les soins personnels. La santé mentale est de la plus haute importance et votre cerveau travaillera pendant trois mois de suite. Gardez la tête sur les épaules.
    - Votre cerveau fonctionne mieux lorsque vous le nourrissez d'aliments sains et que vous vous maintenez en forme grâce à l'exercice. Prenez les escaliers et mangez des lentilles, etc.
    - Dormir beaucoup. Prenez des siestes l'après-midi. Assurez-vous de dormir le week-end. Vous avez besoin de sommeil pour créer des souvenirs et conserver toutes les connaissances pour lesquelles vous payez. Le sommeil est tellement important. Assurez-vous d’en avoir assez, vous performerez et apprendrez beaucoup mieux que si vous étiez privé de sommeil.
  6. Réflexion
    - Réfléchissez fréquemment à ce que vous avez appris. Trouvez des liens dans vos nouvelles connaissances. Une chose est particulièrement intéressante pour vous? Trouvez des ressources supplémentaires et lisez-les plus tard.
    - Réfléchissez sur vos sprints et votre comportement lorsque vous travaillez avec vos partenaires. Concentrez-vous sur la conscience de soi. Identifiez vos points faibles et faites en sorte de revenir plus tard pour les combler. Faites des efforts ciblés pour grandir de différentes manières. Utilisez vos conseillers, mentors techniques, etc. pour vous aider à définir des objectifs et à les atteindre.

Sprints

Pendant les six premières semaines, vous travaillerez sur des sprints de deux jours pour apprendre diverses technologies. Il est impossible d’apprendre pleinement ces technologies dans cette période. Vous devrez être capable d’équilibrer le désir de plonger profondément dans les concepts et la nécessité d’aller de l’avant. Cette compétence peut prendre un certain temps à apprendre. Assurez-vous de conserver des notes détaillées sur vos progrès et les domaines dans lesquels vous devez revenir en arrière et combler vos lacunes dans les connaissances. Étrangement, tout finira par se réunir, alors ne vous en faites pas si vous ne comprenez pas quelque chose. Ne restez pas dans la poussière lorsque vos camarades de cohorte progressent.

  1. Avant le sprint, passez 10 minutes à discuter des questions suivantes avec vos partenaires:
    - Que voulez-vous sortir de ce sprint? Ex: améliorer les erreurs de débogage. Améliorez-vous en expliquant mon processus de pensée. Améliorer mon utilisation de la bibliothèque de langues standard. Concentrez-vous sur la compréhension de la grande image. Pratiquez le pseudocodage avant de passer directement au code.
    - Comment puis-je vous aider à atteindre vos objectifs dans ce sprint? Ex: Si vous me voyez en train de taper sans expliquer ce que je fais, arrêtez-moi et demandez-moi de vous expliquer. Si vous me voyez lutter sur un problème, guidez-moi vers la solution plutôt que de me la remettre.
    - À quelle fréquence voulez-vous gérer les commentaires? Ex: Fréquemment tout au long du sprint. Après le sprint Tout ce qui précède (c'est la bonne réponse). Exemple de commentaires: j’ai remarqué que vous rencontriez parfois des difficultés pour résoudre les problèmes… Demandons au mentor technique de vous aider à élaborer une stratégie de débogage. C’est dégoûtant d’éternuer sur le clavier, utilisez votre chemise ou quelque chose comme ça. Vous avez trouvé une solution fantastique à notre exercice, mais votre explication n’était pas la meilleure… Voyons comment améliorer notre explication de ce concept technique.
  2. Écoutez et prenez des notes détaillées pendant le cours. Trouvez votre note en prenant le rythme. Restez organisé. Partagez vos notes avec vos pairs.
    - Réfléchissez sur le contenu. Établissez des liens avec les conférences précédentes. Dressez une liste de questions liées au sujet et recherchez la réponse selon votre temps.
    - Vos instructeurs sont les meilleurs, vous devez profiter de l'occasion pour choisir leurs concepts. Parlez avec eux après la conférence pour clarifier les concepts. Invitez-les à déjeuner un jour et posez-leur des questions sur les normes de l'industrie.
    - Demandez - Quelles stratégies d’apprentissage distinguent les étudiants / développeurs moyens des meilleurs étudiants / développeurs? Comment puis-je arriver à ce point?

Projets

La seconde moitié du programme est folle. Les gens font toutes sortes de choses intéressantes et vous serez époustouflé par vos progrès personnels. Félicitations pour avoir si loin. Amusez-vous pendant que vous êtes ici, car la partie la plus difficile n’a pas encore commencé.

  1. Préservez la transparence des objectifs, des souhaits et des griefs avec votre groupe. Discutez des objectifs de chacun - voulez-vous devenir un expert de React / Redux? Un des membres de votre groupe veut faire ça aussi? Parfait, paire sur ce composant. Tout le monde est nul à écrire des tests et personne ne veut le faire? Dommage. Obtenez de l'aide de votre coéquipier ou de votre mentor technique pour la rédaction des tests. Voulez-vous aller dans UX - construisez des structures filaires. La communication est essentielle et essentielle pour la réussite professionnelle.
    Vous pouvez utiliser certaines de ces questions pour amorcer une conversation:
    - Quelles sont vos principales motivations en ce moment?
    - Sur une échelle de 1 à 10, quelle importance cela revêt-t-il pour vous?
  2. Consacrez un peu de temps à l’architecture du projet avant d’écrire du code. Le readme de votre projet est important. Voici comment cela fonctionne dans le monde réel. Au cours de mon travail chez Reddit, au cours du mois écoulé, j'ai défini un projet, répertorié toutes les fonctions et les points de terminaison dont il avait besoin, défini le schéma de base de données, sollicité les commentaires des architectes et des experts en sécurité. Je n’ai pas encore écrit une seule ligne de code, mais lorsque je commence, j’ai un projet bien défini et je dois simplement relier les idées au code. Utilisez votre temps aux RH pour apprendre les meilleures pratiques. Ce processus est ce que font les ingénieurs. Il y a des citations à propos de Lincoln qui affûterait une hache pendant des heures - cela est pertinent ici.
  3. Si votre groupe craint, ne soyez pas un enfoiré et évitez la responsabilité. Posséder. Soyez un leader et élevez vos pairs.
  4. Sur tous vos projets, assurez-vous d’avoir au moins un composant / fichier / module que vous avez écrit et dont vous êtes fier. Les intervieweurs peuvent vous demander de récupérer du code et de l'expliquer. Cela peut être terrifiant et embarrassant si vous récupérez du code merdique ou laissez vos coéquipiers en écrire l'essentiel. Une fois, j'ai interviewé du code merdique dans une interview et nous avons passé le temps à discuter de la façon de l'améliorer (j'ai obtenu le poste).

Outils de développement

Choisissez des outils et respectez-les pendant toute la durée du programme. N'essayez pas d'apprendre le VIM pendant votre projet de thèse. Voici un ensemble standard d’outils à utiliser pour le développement Javascript.

  1. Sublime 3 → renforcé avec Git Blame, SideBarEnhancements, eslint, etc.
  2. iTerm2 → Configurez-le pour qu'il stocke toutes vos sessions de terminal dans des fichiers journaux. Vous pourrez ainsi vérifier si vous avez écrit le wtf que vous avez écrit hier dans le terminal. En outre, il a la possibilité d'exécuter plusieurs volets, vous pouvez donc avoir vos journaux de serveur et votre historique git côte à côte.
  3. Git → Git est tellement important. Tu vas tout gâcher pendant ton temps à HR. Ce que vous ne voulez pas faire, c’est de tout foirer une fois que vous êtes au travail. Veillez donc à explorer et à apprendre ces outils lorsque vous avez le soutien direct de vos pairs et de vos mentors techniques.
  4. DevTools → Aussi très important pour les développeurs web. Vous devez apprendre cette merde. Comprendre comment lire l’onglet réseau pour déboguer les demandes. Utilisez la vue mobile pour voir à quoi ressemble votre page Web sur un iPhone. Il s'agit d'une compétence essentielle pour un développeur Web et vous ne pouvez absolument pas l'examiner. Apprenez tôt: le débogage est une compétence cruciale et plus vite vous maîtriserez le débogage, plus vous serez performant tout au long du programme. Bonus - vous pouvez augmenter les outils de développement avec des extensions réact / redux / angulaires
  5. .bash_profile et alias → Configurez votre bash_profile avec des alias. Google, et ajoutez-y lorsque vous vous retrouvez à répéter des commandes de terminal. Automatiser et réduire le travail inutile est essentiel pour devenir un programmeur 10x. Voici quelques exemples simples liés à Git: https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases
  6. Quiver → application de prise de notes pour les ingénieurs. Cela vaut la peine de dépenser dix dollars IMO. Je l’utilise tous les jours au travail pour noter ce que je fais, les problèmes auxquels je fais face, des extraits de code, etc. Utilisez-le pour prendre des notes détaillées sur les sprints, avec des exemples de code et des captures d’écran.
  7. Anki → https://www.jackkinsella.ie/articles/janki-method
    Ceci est une méthode très efficace d’apprentissage de la programmation, et vous en bénéficierez grandement si vous pouvez suivre cette méthode. Utilisez les cartes tous les jours avant la classe, au déjeuner ou à n’importe quel moment. Cela va grandement améliorer votre rétention
  8. La baise → https://github.com/nvbn/thefuck
  9. Duet App → https://www.duetdisplay.com/ J'ai utilisé mon iPad comme deuxième moniteur pour mon terminal, très utile pour les examens et les projets
  10. Alfred → https://www.alfredapp.com/ - c'est fantastique
  11. F.lux → https://justgetflux.com/ aide à réduire la lumière bleue - aide à lutter contre la fatigue oculaire, les maux de tête et le rythme circadien
  12. Vimium → https://vimium.github.io/ Arrêtez d'utiliser votre souris et apprenez à naviguer sur le Web à l'aide des raccourcis clavier dans votre navigateur.

Problèmes de tableau blanc et de jouets

C'est tellement important qu'il mérite sa propre section. Vous allez faire beaucoup de problèmes de jouets et de tableaux blancs chez Hack Reactor. NE PAS rejeter cela. J'avais mal compris les problèmes de jouets et cela nuisait à ma recherche d'emploi ultérieure. Ces problèmes de jouets ont été sélectionnés parce que ce sont littéralement ceux qui vous seront demandés lors d’entrevues d’emploi. C’est tellement important d’apprendre à connaître ces problèmes (voir la section ressources ci-dessous). Interviewer est sa propre compétence, et les problèmes de jouets vous permettent de passer le stade de l'écran technique.

Le tableau blanc est une compétence cruciale, alors assurez-vous de le faire correctement. Concentrez-vous non seulement sur le code, mais veillez à ce que l’intervieweur puisse vous entendre. Votre langage corporel indique-t-il que vous êtes frustré ou excité? Votre congestion rend-elle votre voix difficile à comprendre? Les notes sur le tableau sont-elles organisées? Votre écriture est-elle un déchet absolu? Si c'est le cas, essayez d'écrire en majuscules. Ne soyez pas le connard qui n’obtient pas de travail car vous ne pouvez pas organiser vos pensées sur un tableau blanc.

Recherche d'emploi

  • Maintenir une présence en ligne forte, organisée et DELIBERATE. Votre Github reflète-t-il et décrit-il avec exactitude vos projets? Votre LinkedIn est-il aussi détaillé et perfectionné qu’il peut être, y compris des détails sur les technologies que vous avez utilisées? Avez-vous des recommandations / avis de vos collègues indiquant la preuve sociale et que vous êtes un ingénieur compétent? Ressemblez-vous à un schlub total sur votre photo LinkedIn? Regardez les personnes qui ont réussi dans votre cohorte - en quoi votre présence en ligne diffère-t-elle de la leur?
  • Curriculum vitae - C’est l’occasion parfaite pour paraître moyen et se faire examiner par tout le monde. Si votre CV est un curriculum vitae de niveau supérieur de Bootcamp moyen qui suit le même format que celui utilisé pour les emporte-pièce, il va directement à la poubelle. Distinguez-vous. Soyez rusé. Exposez votre personnalité.
  • Portfolio en ligne? Je ne peux pas faire mal! (sauf s’il s’agit d’une corbeille). Utilisez peut-être votre temps sur le projet personnel pour construire un portefeuille dans un nouveau cadre.
  • Blogging est un tel PITA mais semble toujours être un indicateur de succès dans la recherche d'emploi. Les étudiants qui ont posté des entrées de blog ont obtenu des emplois. Clair et simple. Vous publiez quelque chose sur Medium expliquant un concept technique, il existe déjà un élément de validation technique et les recruteurs ont bien plus de chances de vous faire participer à un entretien. Divulgation complète - Je n'étais pas l'un de ces étudiants.
  • Ne vous attendez pas à obtenir le travail immédiatement. Vous apprendrez beaucoup des entrevues d'emploi ratées. Ensuite, asseyez-vous et écrivez physiquement des notes sur tout ce que vous pouvez vous souvenir de l'entrevue. Qu'est-ce qui s'est bien passé? Qu'est-ce qui ne s'est pas bien passé? Quels problèmes ai-je été incapable de répondre? Ai-je dit quelque chose de stupide qui a offensé l'intervieweur? Étais-je habillé correctement? Comment mes fosses sentent-elles? Ai-je eu mal à la tête à la moitié parce que j'ai oublié de boire de l'eau? Oh merde, j'ai eu une graine de pavot coincée dans mes dents tout le temps. Mieux brosse la prochaine fois!
  • Mettez vos amis et votre famille en réseau, mais par amour de Dog, ne les ennuyez pas et ne leur faites pas mauvaise mine. Rappelez-vous que votre comportement est une réflexion sur le référant.
  • Les RH peuvent vous dire d’envoyer X applications par jour. Je trouve que cette approche convient si elle est adaptée aux masses. Cependant, vous êtes un individu, vous devez donc déterminer votre approche la plus efficace. J'ai tiré parti au maximum des relations personnelles une fois que j'avais suffisamment d'expérience dans la pratique des entretiens. Meetups, fêtes, bars, - Je vis à San Francisco et partout où je vais, il y a des gens qui travaillent dans le secteur de la technologie et qui souhaitent obtenir des primes de parrainage. Soyez intelligent et délibérer à ce sujet.
  • Interviewer est une compétence orthogonale, vous devez donc la pratiquer délibérément. Pramp, anciens des RH, etc. Trouvez des ressources pour vous aider à vous entraîner en entretien. Pratique, pratique. Sérieusement. Si vous ne l’avez pas pratiqué, vous échouerez lamentablement en vous présentant à une entreprise pour une entrevue. Et ce sentiment est nul, croyez-moi.

Ressources

Pour l'étudiant Javascript:

  • Javascript Ninja - Ceci est une ressource précieuse sur Javascript et ses utilisations.
  • Vous ne savez pas JS - Cette série est incroyable. Les livres de Kyle Simpson sont indispensables à tout programmeur JS sérieux. Si vous ne voulez pas toute la série, je vous recommande vivement Async, Performance et ES6.

Pour le demandeur d'emploi:

  • Cracking the Coding Interview - Ce livre vaut chaque centime. Faites-vous une faveur et obtenez une copie de ce livre. C'est l'Encyclopedia Britannica des questions d'entretien. Je considère que cela est nécessaire pour tous ceux qui recherchent un emploi.
  • Entrevues de programmation exposées - Ce livre est légèrement différent de CTCI. Si vous souhaitez une approche plus pratique de certains concepts, il s'agit d'une ressource fantastique.
  • Tableau blanc - Si vous n’avez pas de tableau blanc à la maison, procurez-vous-en un. Vous vous en servirez pour vous entraîner aux questions d'entretien avec vos camarades de cohorte après le programme.

Les quelques ressources suivantes sont des recommandations pour ceux qui n'ont pas étudié l'informatique, qui n'ont pas terminé de développement logiciel important avant Hack Reactor, ou qui souhaitent améliorer leur compréhension des concepts avancés:

  • Le nouvel omnibus de Turing - Ce livre compte 66 chapitres, chacun étant consacré à une branche ou à un concept en informatique. Ceci est tangentiellement lié au programme de Hack Reactor. Ce livre présente des concepts permettant de combler les lacunes d'un étudiant en ressources humaines issu d'un milieu non conventionnel (aucune formation technique / CS antérieure).
  • Modèles de conception (groupe de quatre): élément essentiel des modèles de conception, cette ressource vous aidera à identifier les situations dans lesquelles vous devez utiliser certains modèles de conception dans le développement de votre logiciel. Cela facilitera les entrevues et le développement de logiciels plus avancés.
  • Réseaux informatiques: une approche descendante - Une ressource phénoménale pour apprendre le réseautage. Ceci est important pour les développeurs Web.

Astuces Aléatoires

  • Simplifiez tout ce que vous pouvez afin que vous puissiez vous concentrer sur l'exploitation de votre opportunité chez HR. Tirez un Steve Jobs et portez la même chose tous les jours. Ne gaspillez pas votre énergie mentale en choisissant des tenues. Pantalons, chemises, sweat à capuche. Utilisez vos dimanches pour préparer vos tenues et votre équipement de sport pour la semaine, et peut-être même pour préparer vos repas.
  • Quelqu'un de votre cohorte devrait apporter un cuiseur à riz
  • Soyez conscient de votre consommation de caféine, cela perturbera votre sommeil si vous buvez du café trop tard dans l’après-midi (soyez conscient de la courbe de réponse / demi-vie du composé).
  • Quelqu'un de bien avec les caméras devrait prendre des photos pour LinkedIn et Github

finalement

  • Appelle ta mère. Faites de votre mieux pour ne pas négliger vos relations. Utilisez littéralement une liste de contrôle ou un événement de calendrier pour vous assurer de ne pas l'oublier. Le temps passera et vos amis penseront que vous êtes parti. Informez votre groupe d’amis que vous ne pourrez pas sortir les trois prochains mois. Lorsque vous sortez, faites un point pour renouer avec eux. Dites à votre famille que vous les aimez.
  • Être reconnaissant. Vous êtes spécial et beaucoup de gens tueraient pour être à votre place. Ne perdez pas cette opportunité. Votre humeur influence votre performance, alors trouvez des moyens de rester heureux et positif.