Я был готов к смене карьеры. Это был октябрь 2017 года. Чем больше времени я проводил за программированием и изучением основ компьютерных наук, тем больше понимал, что карьера программиста больше подходит моему характеру*, чем исполнение и преподавание музыки.

Потратив немало времени на то, чтобы научиться кодировать и создавать веб-сайты, я начал изучать учебные курсы по кодированию. Была оптимистичная статистика людей, зарабатывающих 80 000 долларов после выпуска. Были недоброжелатели, которые категорически предостерегали от буткемпов. Я был настроен скептически, но решил, что недостаточно быстро учусь.

* Подробнее о моем решении пройти буткемп: Сейчас посещаю: Fullstack Academy

Сейчас апрель 2018 года, и я закончил программу разработки программного обеспечения Fullstack Academy. Хочу поделиться своим опытом, как хорошим, так и плохим. Я еще не трудоустроен, но уже прошел собеседование на месте и прошел проверку в нескольких компаниях.

Насколько далеко заходит аналогия с «учебным лагерем»?

Там нет бритья голов, криков «Да, сэр!» как мы отказываемся от нашей индивидуальности, или жестокие наказания. Но в каком-то смысле вам нужно было «спуститься вниз и дать мне 50»… строк кода! Наш график был установлен ежедневно. Мы работаем более 40 часов в неделю. Инструкторы и товарищи были очень милы, но от нас ожидали, что мы будем усердно работать. Я уставал, когда возвращался домой, и обычно мне приходилось заниматься на следующий день, и каждое утро казалось ранним из-за моих 45-минутных поездок на работу. У меня не было много свободного времени ни для себя, ни для общения. Временами я был довольно раздражителен. Мы укрепили свои мышцы кодирования, привыкнув к обучению на лету. Я стал намного лучше читать и понимать материал.

Лекции и мастер-классы

Я преподавал музыку более 10 лет, поэтому я думал, что у меня есть хорошее представление о том, как люди учатся. Я считал, что лучший способ преподавания — методично, шаг за шагом, медленно строить фундамент по одному фрагменту за раз. Я боялся, что там будет «пожарный шланг» информации и мало методологии. Это было совсем немного, но случилось что-то сумасшедшее. Я привык к быстрому темпу. Я привык брать то, что могу, и не беспокоиться о каждой детали. Все, что мне было нужно, это краткое, но плотное начальное воздействие, и мое подсознание начало собирать кусочки воедино. Вот набросок общей структуры того, как была представлена ​​тема:

  • Лекция с презентацией в Power Point. Основное внимание было уделено обзору темы на высоком уровне. Обычно была часть кода, где инструктор создавал небольшое приложение с тем, что только что было показано. Редко кому после лекции казалось, что он «понял».
  • Мы получили доступ к мастерской, в которой был длинный список инструкций по созданию чего-то выдающегося с помощью новой технологии. Семинар включал предварительное чтение (обычно отличные ресурсы). Эти семинары обычно проводились парами (о чем я расскажу подробнее в следующем разделе). Более чем в половине случаев казалось, что слепой ведет глухого. Мы редко заканчивали семинары.
  • После этого было отправлено обзорное видео. Это был шанс увидеть, как кто-то, кто знает, что делает, создает приложение. После борьбы с этим это почти всегда открывало глаза.
  • Наконец, была ретроспектива с инструктором. Мы говорили о том, что люди думают о семинаре, и задавали дополнительные вопросы.

Цикл повторяется каждые 2 дня. Не было времени размышлять о том, что вы только что узнали, голова кружилась к середине юниорской фазы.

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

Персонал и студенческая структура

В Fullstack вы являетесь частью когорты, которая длится 3 месяца. Все начинают как юниоры. В конце 6 недель вам сдают экзамен. Если вы проходите, вы можете перейти к старшей фазе. Размер когорты варьируется от 12 до 30 человек. К счастью, у меня было всего 16 человек.

Есть 6 ассистентов, которых они называют «стипендиатами» — 3 старших и 3 младших. Старшие товарищи создали когорту еще до того, как я начал. Ребята, с которыми я работал, были полезными и знающими, особенно те, кто возглавлял мою «группу по обучению». Цель этих команд состояла в том, чтобы дать нам еще одну возможность обсудить и задать вопросы по учебной программе.

Было 2 старших профессора и 1 младший профессор. В основном мы работали с 1 старшим и младшим профессором. Они знали свое дело!

Парное программирование

У меня был разнообразный опыт кодирования с другими в Fullstack. Перед запуском программы я работал с некоторыми людьми онлайн, но никогда не смотрел на один и тот же экран. В Fullstack один человек «управляет», а другой «навигирует». Водитель набирает код, навигатор читает документацию и следит за тем, чтобы процесс шел так, как обговаривалось. На юниорском этапе большинство семинаров проводится в парах.

Я не знал, чего ожидать во время первого опыта сопряжения. Я был в паре с людьми, у которых был ограниченный опыт программирования, и мы должны были решить некоторые проблемы с абстрактной структурой данных. Мне было удобно это делать, а моим партнерам – нет. Мое сердце упало, когда я понял, что мы не собираемся заканчивать семинары, но я сделал все возможное, чтобы «научить» тому, в чем у меня не было сильного понимания. Позже я обнаружил, что закончить семинары во время занятий не составило большого труда и что я многому научился, взяв на себя роль «учителя». Если бы мой напарник не был знаком с материалом, а я был впереди, я был бы склонен позволить им вести машину. Давление исчезло, когда я понял, что могу закончить семинары в свободное время, если захочу повторить материал.

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

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

В общем, я бы выбрал парное программирование, если бы это было обычной практикой в ​​компании.

Командные проекты

На старшем этапе есть 2 проекта, выполняемых в командах из 4 человек. Мы заранее определили предпочтения нашей команды. Нашему классу понравились команды из нашего первого проекта, поэтому мы оставили их для второго командного проекта. Наш первый проект прошел хорошо. Мы изучили передовой опыт работы с Git. Мы использовали систему тикетов Agile. Мы закончили основные части каждой функции в отведенное время. Наш второй проект стал «настоящим». Это был материнский проект CAPSTONE, так что (на наш взгляд) он ДОЛЖЕН был быть потрясающим! Был конфликт вокруг выбора первоначальной идеи. Ближе к концу возник конфликт из-за разногласий по поводу того, какие функции необходимы. Мы заблудились, изучая Electron и используя сервис-воркеров для записи звука. Несмотря на трудности, все получилось, и я действительно горжусь тем, что мы построили.

Работать с этими тремя парнями было потрясающим опытом. Теперь, когда все закончилось, я понимаю, что речь шла не о создании САМОЙ КРУТОЙ вещи, а о приобретении опыта, обучении и построении MVP в команде. Создание нашего проекта Capstone было моей любимой частью опыта Fullstack. Когда мы представили его на Launch Day, многие компании, с которыми я беседовал, были впечатлены проектом.

Консультации по вопросам карьеры и лекции

Лекции по составлению резюме, прохождению интервью, созданию онлайн-профилей и т. д. были очень подробными. Люди, с которыми я работал напрямую, невероятно здорово помогли мне понять, что именно я ищу, мое личное предложение и многое другое. Я не боюсь, когда меня спрашивают на собеседовании: «Расскажи мне о себе…» Все эти ресурсы сыграли ключевую роль в повышении моей уверенности в себе.

Что касается трудоустройства, у меня мало что можно посоветовать, но у автора этой статьи есть!

После буткемпа по кодированию я 3 месяца пытался устроиться на работу. Вот что я узнал.

Там есть фантастические ресурсы для переваривания. Я использую его как дорожную карту в процессе поиска работы.

Общие размышления о прохождении буткемпа по программированию

Когда группа берет концерт, на который они должны продавать билеты, или место проведения берет с них плату, они называют это «платой за игру». Площадка утверждает, что это отличная «разоблачение» для группы, и я обычно избегал таких выступлений. Я знал, что участие в буткемпе было платным сценарием, но оно того стоило.

Плюсы

  • Материал был хорошо собран, и на семинарах мы создавали интересные приложения.
  • Учителя были знающими и полезными. Для меня было здорово, когда кто-то всегда отвечал на мои вопросы
  • У меня появилось много друзей. Я поддерживаю связь с большинством моей когорты
  • Я расширил свою сеть, включив в нее выпускников Fullstack из прошлых когорт.
  • Я очень горжусь своим проектом Capstone
  • Я чувствую себя уверенно как full stack разработчик
  • Я получил много отличных советов и рекомендаций по карьере

Минусы

  • У меня всего несколько месяцев опыта работы с некоторыми известными мне технологиями
  • Некоторые компании смотрят свысока на выпускников буткемпов
  • Буткемпы не дают вам «рабочего» опыта
  • Риск низкий, но у меня есть изрядная сумма долга от расхода
  • Стек, который мы узнали, применим не ко всем объявлениям о вакансиях.
  • Мне предстоит еще много изучить структуры данных, алгоритмы, тестирование и многое другое.

Попасть в эту отрасль может быть сложно без степени в области компьютерных наук или опыта работы более 2 лет. Несмотря на это, я настроен на то, чтобы это произошло. Вот чем я занимаюсь:

  • Продолжая учиться, изучая вышеуказанные ресурсы и обучая
  • Написание статей
  • Работа над сторонними проектами и участие в проектах с открытым исходным кодом
  • Работа неполный рабочий день с другом в качестве разработчика React
  • Посещение митапов, организация обедов и кофе-чатов
  • Работа над вопросами интервью с другими выпускниками
  • Перемещение приложений по конвейеру работы: написание сопроводительных писем, планирование телефонных экранов, работа над задачами кодирования и подготовка к собеседованиям.
  • Приятно иметь немного больше свободного времени :)

Пожалуйста, прокомментируйте ниже или свяжитесь со мной, если вы хотите что-то обсудить в этом посте. Удачи!

Первоначально опубликовано на scraggo.github.io 16 апреля 2018 г.