Четвертая неделя вот-вот начнется, но пока я шла, я делала подробные записи и записывала мысли и размышления. Есть некоторые (самоуверенные) детали, с которыми я не очень часто сталкивался в своем исследовании Viking Code School, и которые вы найдете здесь.

Каждый день происходит много всего, и в зависимости от того, упираюсь ли я в стену или преуспеваю, в данный момент я буду чувствовать себя по-разному, но в целом я доволен последними тремя неделями. Я многому научился, еще больше предстоит пройти, и в пятницу я буду рад сообщить, что прошел 1/4 пути!

Почему Викинг?

Это выходит за рамки удаленной структуры отложенных платежей программы, которые, конечно же, являются большими льготами, привлекающими множество людей. Начнем с того, что процесс подачи заявки является строгим, гораздо более строгим, чем во многих других программах, к которым я подавался, что, я думаю, многое говорит о курсе. Хотя кажется, что это немного отличается от студента к студенту, я прошел через процесс из 3 частей — 60-минутный сольный тест алгоритма, за которым следует живая сессия кодирования только для голоса и, наконец, более длительный пример проекта с использованием новой технологии.

Viking уделяет особое внимание разработке программного обеспечения и концепциям программирования более высокого уровня — перед началом любого кодирования (а во многих случаях даже до того, как вы подадите заявку) существует обширный двухуровневый фокус на концепциях, лежащих в основе модульного проектирования, Agile-методологии, Test Driven Development и разработка на основе пользовательской истории. Если вы пытались учиться самостоятельно или искали иммерсивные программы, вы, возможно, много слышали о них, не зная, что они на самом деле означают. Это несложные концепции, но получить несколько практических примеров по каждой теме не всегда легко, просто прочитав Stack Overflow или выполнив учебные пособия для начинающих. Обучение через онлайн-ресурсы всегда заставляло меня задуматься: Что теперь? Как мне на самом деле использовать это в реальном проекте?

Другая, менее обсуждаемая тема в других учебных программах: soft job skills. Большинство заданий выполняется с помощью парного программирования, и мы учимся справляться с ограничениями реального мира, особенно с тайм-менеджментом. По крайней мере, один раз за сессию я обсуждаю со своей парой, как и стоит ли нам вообще что-то реализовывать, учитывая ограниченное время, которое у нас есть до проверки кода и презентаций.

Также большое внимание уделяется подходу к поиску работы и построению повествования, объясняющего ваш карьерный переход. Частью этого является ведение блогов и присутствие в Интернете, чтобы, когда происходят эти неизбежные поиски Google по вашему имени, там что-то было. Это то, что я считаю невероятно важным для любой отрасли — наличие парового шлейфа выделяет вас среди других. Когда я впервые начал искать работу вне школы, мои сообщения в блогах упоминались примерно в двух третях моих собеседований и были ключевыми для большинства моих предложений о работе. Все это действительно отличало Viking от нескольких других программ, которые я изучал.

Курс до сих пор

Первые 2 недели были посвящены объектно-ориентированному программированию (ООП), о котором я слышал ранее, но, как и в случае с модульным проектированием, многие ресурсы, с которыми я сталкивался, будут упомянуты без явного объяснения того, что это значит для вашего кода. Также есть здоровенный раздел по информатике — большое О, структуры данных, рекурсия, сложность времени и пространства и почему все это имеет значение. Нанятые инженеры не раз говорили мне, что их боссы не любят «держать в руках» выпускников буткемпа — и что многие, как правило, знают, как строить, но не имеют базовых знаний CS.

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

Препятствия и икота

Если есть какое-то реальное предостережение или недостаток иммерсивной программы, так это то, что темп довольно жестокий.

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

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

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

И сейчас…

На 3-й неделе все становится по-настоящему увлекательным, мы создали несколько простых приложений с помощью Sinatra, а на 4-й неделе мы запускаем Rails! Последние пару недель потребовалось несколько проб и ошибок, чтобы выяснить, что мне нужно делать, чтобы оставаться в курсе событий. Я не думаю, что я когда-либо работал так много и постоянно, что требует некоторого привыкания.

Я занят, я чувствую стресс, усталость, иногда разочарование, но я все еще в восторге от всего этого. Я чувствую вызов и вовлеченность — теперь я также могу сказать, что создал веб-скребок, и это чертовски круто.