Как да Excel в Hack Reactor

Не бях най-добрият ученик, нито най-трудно работех - но си направих много бележки и прекарах доста време за размисъл върху времето си в програмата. Работих в Hack Reactor в продължение на 6 месеца след моята програма, като помагах на студентите при тяхното търсене и интервю за подготовка и работа за възможностите за растеж на компанията майка. През тези девет месеца си взех подробни бележки относно стратегиите и моделите сред успешните студенти.

Общи указатели

  1. Бъдете професионални:
    - Отнасяйте се с това време, сякаш сте на работа. Това не е колеж. Не бъди задник. Не клюки. Покажете се подготвени. Покажи уважение.
    - Hack Reactor може буквално да ви даде работа, ако се окажете работоспособни (програма Hacker in Residence). Лидерите на Hack Reactor могат да бъдат най-големите ви защитници в търсенето на работа. Попитайте себе си - би ли вашият инструктор ваучирал за вас, ако потенциален работодател би поискал тяхното мнение? Дали вашите колеги от колегите биха дали вауч за вас?
  2. Научете инструментите си
    - Ще бъдете МНОГО по-добър ученик и програмист, ако знаете инструментите си отвътре и отвън. Това не е по договаряне - вие ще бъдете лайна програмист, ако не можете да използвате инструментите си ефективно. Колкото по-добре се ориентирате в текстовия си редактор и терминал, толкова повече време можете да се съсредоточите върху създаването на качествен код. Не мога да подчертая това достатъчно. Научете клавишните комбинации. Чували ли сте някога за 10x програмиста? Старши инженери навигират своите машини като делфини във вода.
    - Прекарвайте време в намиране на солиден работен процес за развитие. Прекарайте известно време върху него и след това повторете тази настройка. Ако имам достъп само до един екран, използвам приложения в режим на разделен екран и / или цял екран и се движа между настолни компютри. С два екрана ще разделя екрана между браузъра и терминала и ще имам кода си на другия екран. Не бъди глупав с прозорците си навсякъде. Ще свършите твърде много умствена енергия, ако работният ви процес е бъркотия. Организацията е ключова. Елиминирайте колкото е възможно повече умствени разходи.
  3. Коучинг и подкрепа на вашите връстници
    - Вие сте очите и ушите за вашите колеги. Вие ги наблюдавате кодиране и бяла дъска. Вие сте външна страна, която може да посочи проблеми и поведение. Съсредоточете се върху подкрепата на вашите връстници и подкрепата ще ви бъде върната.
    - Научете се да давате ДОБРА обратна връзка. Неудобно е, но преодолейте го Време е да се съзреете и да се научите да давате отзиви. Сега е вашето време да практикувате преди първата си инженерна работа.
  4. Майната си на егото
    - Задържа те. На никого не му пука, ако не знаеш нещо. Понякога хората се чувстват неудобно да задават въпроси. Преодолей го. Задайте много въпроси. Направете своя мисия да задавате въпроси по време на всяка лекция. Научете се да се поставяте там. Научете се да се напъвате да правите нови неща. Уязвимостта е толкова важна за самостоятелния растеж.
  5. Здраве и баланс
    - Следете психическото си състояние и се съсредоточете върху грижите за себе си. Психичното здраве е от изключителна важност и мозъкът ви ще работи в режим на свръхпроизводство в продължение на три месеца. Дръжте главата си на раменете.
    - Мозъкът ви функционира по-добре, когато го захранвате със здравословна храна и поддържате фитнес с упражнения. Излезте по стълбите и хапнете леща и т.н.
    - СПЕЧЕТЕ много. Вземете следобеден сън. Уверете се, че спите през почивните дни. Имате нужда от сън, за да формирате спомени, за да запазите всички знания, за които плащате. Сънят е толкова важен. Уверете се, че получавате достатъчно, ще се представите и ще се научите много по-добре, отколкото ако сте били лишени от сън.
  6. размисъл
    - Размишлявайте често за това, което сте научили. Намерете връзки в новите си знания. Едно нещо ви е особено интересно? Намерете някои допълнителни ресурси и ги прочетете по-късно.
    - Размислете върху спринтовете и поведението си, когато работите с партньорите си. Съсредоточете се върху самосъзнанието. Определете слабите си места и направете точка, за да се върнете по-късно, за да ги попълните. Поставете остри усилия, за да растете по много начини. Използвайте своите съветници, технически ментори и др., За да ви помогнат да определите целите и да ги постигнете.

спринтове

Първите шест седмици ще работите върху двудневни спринтове, изучавайки различни технологии. Невъзможно е да се научат напълно тези технологии в този период от време. Ще трябва да можете да балансирате желанието да се потопите дълбоко в концепциите и необходимостта да продължите напред. Това умение може да отнеме известно време, за да се научите. Не забравяйте да съхранявате подробни бележки за вашия напредък и области, в които трябва да се върнете назад и да попълните пропуските в знанията си. Странно, че в крайна сметка всичко ще се събере, така че не го изпотявайте, ако не разбирате нещо. Просто не се оставяйте зад праха, когато вашите колеги напредват.

  1. Прекарайте 10 минути преди спринта, обсъждайки следните въпроси с партньорите си:
    - Какво искаш да излезеш от този спринт? Например: По-добре при грешки при отстраняване на грешки. Станете по-добър в обяснението на моя мисловен процес. Подобрете използването на стандартната езикова библиотека. Съсредоточете се върху разбирането на голямата картина. Практикувайте псевдокодиране, преди да скочите направо в код.
    - Как мога да ви помогна да постигнете целите си в този спринт? Например: Ако ме видите как пишем, без да обяснявате какво правя, спрете ме и ме помолете да обясня. Ако ме видите, че се боря по някакъв проблем, насочете ме към решението, а не ми го предайте.
    - Колко често искате да боравите с обратната връзка? Например: Често в целия спринт. След спринта. Всичко по-горе (това е правилният отговор). Примерна обратна връзка: Забелязах, че понякога се мъчите да отстранявате грешки ... Нека помолим техническия наставник за помощ при разработването на стратегия за отстраняване на грешки. Тежко е, когато кихате по цялата клавиатура, моля използвайте ризата или нещо подобно. Измислихте фантастично решение за нашето упражнение, но вашето обяснение не беше най-доброто ... Нека измислим начин да подобрим нашето обяснение на тази техническа концепция.
  2. Слушайте И си правите подробни бележки по време на лекция. Намерете ритъма на нотата си. Бъдете организирани. Споделете бележките си с връстниците си.
    - Размислете върху съдържанието. Осъществявайте връзки с предишни лекции. Изберете списък с въпроси, свързани с темата, и проучете отговора по свое време.
    - Вашите инструктори са най-добрите, трябва да се възползвате от възможността да избират мозъка им за концепции. Говорете с тях след лекция, за да изясните понятията. Попитайте ги на обяд един ден и им задайте въпроси относно индустриалните стандарти.
    - Попитайте - какви стратегии за обучение отделят средните студенти / разработчици от най-добрите студенти / разработчици? Как мога да стигна до този момент?

Проекти

Втората половина на програмата е луда. Хората правят всевъзможни готини неща и вие ще бъдете взривени при личния си прогрес. Поздравления за направата му дотук. Забавлявайте се докато сте тук, защото най-трудната част още не е започнала.

  1. Поддържайте прозрачност по отношение на целите, желанията и оплакванията с вашата група. Обсъдете целите на всички - искате ли да станете експерт по React / Redux? Един от членовете на вашата група иска да направи и това? Перфектен, чифт на този компонент. Всеки е гадно да пише тестове и никой не иска да го прави? Много лошо. Потърсете някаква помощ от вашия съотборник или технически наставник в писмените тестове. Искате да влезете в UX - изградете няколко телени рамки. Комуникацията е от ключово значение и е важна за успеха в работата.
    Можете да използвате някои от тези въпроси като начални разговори:
    - Какви са основните ви мотивации в момента?
    - По скала от 1 до 10, колко важно е това за вас?
  2. Прекарайте доста време за архитектиране на проекта, преди да напишете някакъв код. Важно е четенето на вашия проект е важно. Ето как работи в реалния свят. На моята работа в Reddit прекарах време през изминалия месец, определяйки проект, изброявайки всички функции и крайни точки, от които се нуждае, дефинирайки схемата на базата данни, привличайки отзиви от архитекти и експерти по сигурността. Все още не съм написал нито един ред код, но когато стартирам, имам добре дефиниран проект и по принцип просто трябва да свържа идеите с код. Използвайте времето си в HR за изучаване на най-добрите практики. Този процес е това, което правят инженерите. Има някакъв цитат за това, че Линкълн заточва брадва с часове - това е релевантно тук.
  3. Ако вашата група е гадна, не бъдете задник и не се тресете. Го притежавате. Бъдете лидер и повдигнете връстниците си.
  4. Във всичките си проекти се уверете, че имате поне един компонент / файл / модул, който сте написали и с който се гордеете. Интервюиращите може да ви помолят да изтеглите някакъв код и да го обясните. Това може да бъде ужасяващо и смущаващо, ако издърпате лайна код или оставите съотборниците си да пишат повечето от него. Веднъж извадих лайна код в интервю и прекарахме време в обсъждане как да го подобрим (получих работата).

Инструменти за разработка

Изберете инструменти и се придържайте към тях за цялата програма. Не се опитвайте да научите VIM по време на вашия проект за дипломна работа. Ето стандартен набор от инструменти, които можете да използвате за разработка на Javascript.

  1. Sublime 3 → оформен с Git Blame, SideBarEnhancements, eslint и т.н.
  2. iTerm2 → Конфигурирайте го, за да съхранява всичките си терминални сесии в лог файлове - така че можете да се върнете и да проверите, за да видите wtf, който сте написали в терминала вчера. Също така той има възможността да стартира множество екрани, така че можете да имате своите сървъри и историята на git една до друга.
  3. Git → Git е толкова важен. Ще прецакате това по време на HR. Това, което не искате да правите, е да го прецакате, след като сте на работа. Затова не забравяйте да проучите и научите тези инструменти, когато имате пряка подкрепа на вашите връстници и технически ментори.
  4. DevTools → Също много важно за уеб разработчиците. Трябва да научиш това лайно. Разберете как да четете мрежовия раздел за отстраняване на грешки в заявките. Използвайте мобилния изглед, за да видите как изглежда уеб страницата ви на iPhone. Това е критично умение за уеб разработчика и вие абсолютно не можете да разгледате това. Научете това рано - отстраняването на грешки е изключително важно умение и колкото по-рано можете да се справите с отстраняването на грешки, толкова по-добре ще бъдете в програмата. Бонус - можете да увеличите devtools с реактивни / редукционни / ъглови разширения
  5. .bash_profile и псевдоними → Конфигурирайте bash_profile с псевдоними. Google това и го добавете, когато установите, че повтаряте терминални команди. Автоматизирането и бръсненето на ненужна работа е от решаващо значение да станете 10-кратен програмист. Ето няколко прости, свързани с git: https://git-scm.com/book/en/v2/Git-Basics-Git-Aliases
  6. Колчан → бележка за приложение за инженери. Струва си десетте долара IMO - използвам това всеки ден на работа, за да си водя бележки за това, което правя, проблеми, пред които съм изправен, фрагменти от код и т.н.
  7. Anki → https://www.jackkinsella.ie/articles/janki-method
    Това е изключително ефективен метод за учене на програмиране и ще имате голяма полза, ако можете да следвате този метод. Използвайте картите всеки ден преди урока или на обяд или винаги. Това значително ще подобри вашето задържане
  8. Майната → https://github.com/nvbn/thefuck
  9. Duet App → https://www.duetdisplay.com/ Използвах своя iPad като втори монитор за моя терминал, много полезен за изпити и проекти
  10. Алфред → https://www.alfredapp.com/ - това е фантастично
  11. F.lux → https://justgetflux.com/ помага за намаляване на синята светлина - помага при напрежение на очите и главоболие и циркаден ритъм
  12. Vimium → https://vimium.github.io/ Спрете да използвате мишката и се научете да навигирате в мрежата с помощта на клавишни комбинации във вашия браузър.

Проблеми с бялата дъска и играчките

Това е толкова важно, че заслужава собствен раздел. Ще се занимавате с много проблеми с играчките и бялата дъска в Hack Reactor. НЕ отхвърляйте това. Полуоцених проблемите с играчките и това беше пагубно за търсенето на работа по линия. Тези проблеми с играчките бяха избрани, защото те буквално са тези, които ще ви бъдат поискани в интервюта за работа. Толкова е важно да се запознаете с тези проблеми във и извън (вижте раздел за ресурсите по-долу). Интервюто е собствено умение и проблемите с играчките ви минават през етапа на технологичния екран.

Whiteboarding е изключително важно умение, така че не забравяйте да го направите правилно. Съсредоточете се не само върху кода, но се уверете, че стоите така, че интервюиращият да ви чуе. Езикът на тялото ви показва ли вашето разочарован или развълнуван? Трудно ли е разбирането ви задръстванията? Организирани ли са бележките на дъската? Вашият почерк ли е абсолютен боклук - ако е така, опитайте се да пишете с главни букви. Не бъдете задника, който няма работа, защото не можете да организирате мислите си на бяла дъска.

Търсене на работа

  • Поддържайте силно и организирано и РАЗДЕЛИТЕЛНО онлайн присъствие. Вашият Github точно отразява и позитивно представя вашите проекти? Вашият LinkedIn толкова подробен и излъчен ли е, включително подробности за използваните от вас технологии? Имате ли препоръки / отзиви от вашите колеги, сочещи социално доказателство и че сте компетентен инженер? Приличаш ли на тотален шклуб във вашата снимка на LinkedIn? Погледнете успешните хора от вашата кохорта - как вашето онлайн присъствие се различава от тяхното?
  • Резюмета - това е перфектната възможност да изглеждате средни и да се преглеждате от всички. Ако автобиографията ви е средно резюме на стартиращия бутон, което следва същия формат за изрязване на бисквитки, то ще отиде направо в боклука. Разграничете себе си. Бъдете хитри. Разкрийте своята личност.
  • Онлайн портфолио? Не може да боли! (освен ако не е боклук). Може би използвайте времето си за личния проект, за да изградите портфолио в нова рамка.
  • Блогът е такъв PITA, но последователно изглежда е огромен показател за успех в търсенето на работа. Студентите, които публикуваха записи в блога, получиха работа. Обикновено и просто. Публикувате нещо на Medium, обясняващо някаква техническа концепция, вече има елемент на техническо утвърждаване и набирането на персонал е много по-вероятно да ви привлече за интервю. Пълно разкриване - не бях от тези ученици.
  • Не очаквайте да получите работата веднага. Ще научите много от неуспешни интервюта за работа. След това седнете и физически напишете бележки за всичко, което можете да запомните от интервюто. Какво мина добре? Какво не мина добре? На кои проблеми не можах да отговоря? Казах ли нещо глупаво, което обиди интервюиращия? Обличах ли се подходящо? Как миришат моите ями? Получих ли главоболие наполовина, защото забравих да пия вода? О, мамка му, през цялото време имах маково семе. По-добре четка следващия път!
  • Мрежа по дяволите на приятелите и семейството си, но за любовта на Кучето не ги дразни и не ги карай да изглеждат зле. Не забравяйте, че вашето поведение е отражение на препращащия.
  • HR може да ви каже да изпращате X приложения на ден, намирам, че този подход е добре, когато е съобразен с масите. Въпреки това, вие сте индивид, така че трябва да разберете най-ефективния си подход. Използвах личните връзки колкото е възможно повече, след като имах достатъчно опит в практикуването на интервюта. Срещи, партита, барове, - Аз живея в SF и навсякъде, където отида има хора, които работят в технологиите, които искат да получат бонуси за препоръки. Бъдете умни и умишлени за това.
  • Интервюто е ортогонално умение, така че трябва да практикувате това нарочно. Прамп, HR възпитаници и др. Намерете ресурси, които да ви помогнат да практикувате интервю. Практика, практика. Сериозно. Няма да се появи мизерно да се покажете на компания за интервю, ако не сте я практикували. И това чувство е гадно, повярвайте ми.

ресурси

За Javascript Student:

  • Javascript Ninja - Това е ценен ресурс на Javascript и неговите приложения.
  • Не знаете JS - Тази серия е невероятна. Книгите на Кайл Симпсън са задължителни за всеки сериозен JS програмист. Ако не искате цялата серия, горещо препоръчвам Async и Performance и ES6.

За търсещия работа:

  • Cracking the Coding Interview - Тази книга си заслужава всяка стотинка. Направете си услуга и вземете копие на тази книга. Това е Енциклопедия Британика на въпроси за интервю. Считам, че това се изисква за всеки в търсенето на работа.
  • Програмирани изложени интервюта - Тази книга е малко по-различна от CTCI. Ако искате по-практичен подход към определени концепции, това е фантастичен ресурс.
  • Бяла дъска - ако нямате бяла дъска у дома, вземете такава. Ще използвате това, за да практикувате интервюиране на въпроси с колегите си след програмата.

Следващите няколко ресурса са препоръки за онези, които не са изучавали компютърни науки, не са завършили значителна разработка на софтуер преди Hack Reactor или искат да пренесат своето разбиране за съвременни концепции на следващо ниво:

  • The New Turing Omnibus - Тази книга има 66 глави, всяка съсредоточена върху клон или концепция в компютърните науки. Това е тангенциално свързано с учебната програма в Hack Reactor. Тази книга представя концепции, които помагат да се попълнят пропуските за студент по HR в нетрадиционен произход (без предишно техническо / CS образование)
  • Шаблони за дизайн (Gang of Four) - основен материал за дизайнерските модели, този ресурс ще ви помогне да идентифицирате ситуациите за това кога да използвате определени дизайнерски модели в разработката на вашия софтуер. Това ще помогне за интервюта и по-напреднала разработка на софтуер.
  • Компютърни мрежи: подход отгоре надолу - феноменален ресурс за научаване на работата в мрежа. Това е важно за уеб разработчиците.

Случайни съвети

  • Опростете всичко, което можете, за да можете да се съсредоточите върху използването на вашата възможност в HR. Издърпайте Стив Джобс и носете едно и също нещо всеки ден. Не губете умствената си енергия за избора на тоалети. Панталони, ризи, качулка. Използвайте неделята си, за да подготвите вашите тоалети и фитнес уреди за седмицата, а може би дори и приготвяне на храна.
  • Някой от вашата кохорта трябва да донесе готварска печка с ориз
  • Бъдете наясно с приема на кофеин, той ще наруши съня ви, ако пиете кафе твърде късно следобед (имайте предвид кривата на реакция / полуживот на съединението).
  • Някой, който е добър с камери, трябва да направи хедшот за LinkedIn и Github

накрая

  • Обади се на майка си. Правете всичко възможно да не пренебрегвате отношенията си. Използвайте буквално контролен списък или събитие в календара, за да сте сигурни, че не забравяте това. Времето ще отлети и приятелите ви ще мислят, че сте избягали. Уведомете вашата група приятели, че няма да можете да се мотаете през следващите три месеца. Когато излезете, направете точка, за да се свържете отново с тях. Кажете на семейството си, че ги обичате.
  • Бъда благодарен. Ти си специален и много хора биха убили да са ти в обувките. Не пропилявайте тази възможност. Настроението ви влияе върху представянето ви, така че намерете начини да останете щастливи и позитивни.