Согласно моему профилю на Github, я завершил год коммитов и могу видеть четкую хронологию того, как мои навыки постоянно прогрессировали и развивались в течение месяцев.

Часть I: Борьба после выпуска

Все началось за несколько недель до окончания колледжа. Я уже провел по крайней мере 3 месяца в поисках работы, и у меня не было хороших потенциальных клиентов. Я разослал свое резюме сотням компаний, предлагая свои технические навыки и желая работать в сфере технологий. Я подавал заявки на разные должности: от бизнес-аналитика до инженера-программиста и технической поддержки. Излишне говорить, что у меня не было успеха (ни одного положительного ответа), и вместо этого я получал звонки и электронные письма от рекрутеров, которые искали продавцов.

Поскольку я специализировался на ИСУ, мои навыки программирования были плохими (теперь я могу это сказать), хотя я получил пятерку на моих занятиях по программированию бизнес-приложений на C++ и получил награду «Студент года» от факультета ИСУ. Тем не менее, я был очарован программированием и имел желание учиться. К тому моменту я изучил основы Java (в старшей школе), C++ (в колледже) и Python (CodeCademy и Udemy). Если бы только компания рискнула…

Я понял, что получить работу, которую я хотел, в моем нынешнем состоянии просто не произойдет. Я не знал нужных контактов; Я не учился в лучшем университете; Я жил в сельской местности, а это означало, что мне пришлось бы переехать, если бы я нашел какую-либо работу в сфере технологий; У меня не было опыта производственной разработки, и лучшее, что я мог бы написать, — это приложение-калькулятор или программа, которая выводит месяцы года на консоль. Мне нужно было быстро перейти от 0 до 100, если я действительно хотел получить работу программиста.

В какой-то момент во время поиска в Google я наткнулся на учебный курс по коду под названием Академия приложений, который меня очень вдохновил. Это 12-недельная программа, которая хвастается тем, что 98% их выпускников нанимаются в ведущие технологические компании, и, что самое приятное, нет никаких затрат, пока вы не будете приняты на работу. был в долгу. Я сразу подал заявку на их следующую партию. Я не помню подробностей процесса на данный момент, но я знаю, что я прошел их первое упражнение по кодированию, но провалил второе испытание. Они написали мне по электронной почте, говоря что-то вроде того, что я должен немного больше практиковаться в программировании, прежде чем меня примут. Я думаю, это было бы не слишком сложно, но я был заблудшим и отчаявшимся мальчиком, и я также думал о стоимости жизни в Нью-Йорке или Сан-Франциско в течение 3 месяцев. Я начал искать разные буткемпы, в которые я мог бы попасть как можно скорее и где я мог бы максимально избежать или отсрочить расходы.

Затем я подал документы еще на три буткемпа, и меня приняли в два из них (кажется, это были Hack Reactor/MakerSquare и Iron Yard). Проблема заключалась в том, что их обучение стоило более 10 000 долларов, а мое финансовое положение не позволяло этого, так что это тоже не сработало. Я продолжал искать другие альтернативы, такие как App Academy, и наткнулся на менее известную школу под названием Школа кода викингов. Интересно, что у них была та же бизнес-модель, что и у App Academy: вы не платите, пока не получите работу. Мне это очень нравилось, потому что это означало, что у них был больший стимул помочь вам найти работу. Затем вы заплатили 18% от своей зарплаты за первый год, что, вероятно, было бы столько же, сколько и на других буткемпах; но я был в порядке с этим, так как я был в затруднительном положении, и по крайней мере у меня тогда был бы доход. Еще было преимущество в том, что их программа была дистанционной, поэтому мне не пришлось бы переезжать в другой город с деньгами, которых у меня не было. Я сразу же подала заявку, миновав их подготовительную работу, и мне посчастливилось получить приглашение присоединиться к программе с 29 июня!

Часть II: Учебный курс по программированию

Это было 8 мая, когда я получил письмо о зачислении в школу Viking Code School (VCS), но до первого дня 29 июня мне нужно было многому научиться. Учебная программа была организована таким образом, что они научат вас как можно большему о профессиональной веб-разработке в течение 14-недельного периода, но вы должны прийти с основами, чтобы не тратить время на обучение. вещи, которые вы могли бы легко узнать самостоятельно. У них было руководство по подготовке, которое составил основатель VCS Эрик Траутман. По сути, он учит вас самым основам веб-разработки, дизайна, инженерии и кодирования и бесплатно доступен для всех, даже если вы не присоединяетесь к программе. В течение следующих 6 недель или около того я изучил достаточно HTML, CSS и Ruby, чтобы делать самые основные вещи, необходимые для программы. Например, это было первое упражнение, которое я мог найти, которое я передал на Github.

Затем, 29 июня, был первый день VCS, и святое гуакамоле… это было ооочень тяжело! Я никогда не чувствовал, что я так сильно сосал, и к концу дня мой мозг был готов. Вы могли бы спросить меня о времени суток, и я бы ответил: «Что? Можешь повторить это мне?» по крайней мере три раза, прежде чем я мог сказать вам, что в году всего 13 месяцев. Мы начали с рефакторинга игр «Камень-ножницы-бумага» и игр Tower of Hanoi, написанных на Ruby, которые мы создали во время подготовительной работы. Затем мы расширили существующий код и добавили поддержку многопользовательских функций. Во второй половине дня мы сделали несколько «разогревов», в ходе которых мы исправили классы String и Array с нашей собственной версией существующих методов .reverse и .each, которые должны иметь ту же функциональность, что и нативные методы. Я не знал, все ли в моей группе были блестящими, или я просто был глуп. Но, в то время как все остальные, казалось, быстро соображали, упражнения давались мне очень тяжело.

К счастью, благодаря программе мне стало лучше, хотя она всегда была сложной. В конце концов у меня были знания в нескольких востребованных, обязательных технологиях, и я был намного лучше подготовлен к работе в технологической отрасли.

Часть III: Поиск работы

В начале программы я начал работать над своим резюме и своим повествованием, так как получение работы всегда было в моих мыслях и было моим главным приоритетом. Я написал их так, как будто я уже закончил VCS и добавил такие технологии, как Github, Ruby on Rails, Javascript, AngularJS, PostgreSQL и т. д., даже если я ничего не знал о них на тот момент. Как и ожидалось, я начал получать множество звонков от рекрутеров, которые соответствовали моему профилю по этим ключевым словам.

Первые несколько интервью я с треском провалил и в значительной степени выставил себя дураком. Например, в одном интервью меня попросили написать простой виджет калькулятора jQuery. Что-то похожее на это. На тот момент я потратил, может быть, 2 дня на изучение Javascript, поэтому, само собой разумеется, всех моих поисков в Google было недостаточно, чтобы помочь мне заставить что-то работать. Они ни за что не наняли меня, но, по крайней мере, я воспринял это как опыт обучения, и проходить собеседования стало легче, поскольку я делал это чаще.

Чтобы дать вам краткий график, к концу сентября я получил более 200 звонков/электронных писем от рекрутеров, прошел около 40 телефонных экранов / вызовов HackerRank и провел 3 или 4 собеседования на месте / Skype. Честно говоря, я был подавлен, потому что, хотя теперь у меня были навыки, чтобы преуспеть в программировании, компании по-прежнему не смотрели на меня, потому что я никогда не работал программистом, и им нужен был кто-то с 5-10+ летним опытом работы в отрасли. . Затем, в начале октября, я прошел собеседование на контрактную должность AngularJS в городе Роли. Я подготовил быструю демонстрацию с использованием AngularJS, Ionic и городского API OpenData, чтобы показать свой интерес к работе. К моему удивлению, они были поражены моей работой и предложили мне работу в тот же день после собеседования. Я думал несколько дней, договорился о более высокой цене и в итоге согласился.

Часть IV: Непрерывное обучение на рабочем месте

Благодаря моему опыту буткемпа я смог быть продуктивным с первого дня. Мне было поручено полностью перепроектировать существующее приложение для поиска парков, которое было написано много лет назад. Поскольку это было новое приложение, мне не пришлось наследовать какой-либо устаревший код (слава Богу!). Сначала я начал создавать прототип с помощью знакомых мне инструментов (Angular и Bootstrap). Однако со временем я изменил приложение настолько, что оно совсем не похоже на то, с чего начиналось. Мне пришлось принять обратимые решения, и в итоге я сменил провайдеров макетов/директив с UI Bootstrap на Angular Material, частично заменил Google Maps на Esri и переписал стороннюю библиотеку, чтобы она не зависела от jQuery. Кроме того, помимо укрепления существующих навыков, я смог поэкспериментировать с новыми технологиями для небольших проектов и изучить Meteor, Ionic и React. Самое классное во всем этом то, что мне платили за то, что я уже делал и получал от этого удовольствие.

Часть V. Заключение: результаты настойчивости

Мой вывод из собственного опыта заключается в том, что я не смог бы достичь всего этого, если бы согласился на меньшее. На мой взгляд, компании пользуются недавними выпускниками колледжей и тем фактом, что у них нет опыта работы, и используют это как рычаг, чтобы предложить вам более низкую заработную плату и поставить вас на какую-то несвязанную должность. Я мог бы легко пойти по простому и надежному пути и устроиться на работу в сфере продаж или технической поддержки, поскольку таких вакансий множество. Тем не менее, я знал, что буду несчастен, делая это. Я решил выйти из своей зоны комфорта и достичь чего-то большего, хотя это был рискованный шаг. Я не был уверен, смогу ли я после этого найти работу, у меня были не самые лучшие обстоятельства, и я определенно не был в хорошем финансовом положении. Теперь я делаю то, что мне действительно нравится, и буду продолжать изучать новые технологии и кодировать классные вещи, которые имеют значение.