Я решил написать этот пост до того, как узнал о недавних хитах против Lambda School (LS), которые были опубликованы (особенно эта от The Verge и эта от New York Magazine). В свете этих двух частей я думаю, что время идеально подходит для того, чтобы отправиться в путешествие по тому, как для меня было проходить через LS. В прошлом году я был зачислен в 19-ю группу WEB-курса и только что закончил его в ноябре прошлого года. Я надеюсь, что этот пост поможет другим потенциальным студентам принять более взвешенное решение.

Почему я попал в Лямбда школу

В колледже я получил двойную специальность в области промышленной инженерии и экономики. Экономика, однако, не была моим первым выбором для второй специальности. Моим первым выбором была разработка программного обеспечения (SE). Я выбрал SE, потому что в рамках учебной программы по промышленной инженерии мы должны были пройти два курса по JavaScript, и, хотя большинство моих одноклассников ненавидели эти курсы, мне они нравились. Я нашел программирование сложным и в то же время очень полезным. Поэтому я решил попробовать программную инженерию.

Что случилось потом? Почему я выбрал экономику вместо SE? Что ж, видимо судьба дала мне понять, что SE не для меня. Когда я начал новый семестр, теперь уже будучи студентом, изучающим промышленную инженерию и инженерную науку, большинство предметов, которые я собирался посещать, были из области промышленной инженерии. Один, однако, был из учебной программы SE. Я не помню название класса прямо сейчас (вау! Я просто понимаю, что с тех пор прошло более 10 лет), но я ожидал чего-то, связанного с предыдущими курсами JavaScript, которые я посещал. Вместо этого я попал на самый абстрактный и скучный урок, который я когда-либо посещал. Это не имело ничего общего с кодом или программированием — это был один из тех типичных университетских курсов, которые в конечном итоге практически ничего не привносят в вашу жизнь. Я никогда не понимал, что, черт возьми, происходит. Это был ад. Поскольку это был мой приветственный урок в SE, я испугался и решил, что это не для меня.

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

Однако ощущение того, что было бы, если бы я сделал СЭ, всегда оставалось со мной. И это чувство росло с течением времени, и технологии становились все более и более заметными. Я упустил возможность?

Вот почему, когда я услышал о LS, я ухватился за эту возможность. Научиться программировать всего за 9 месяцев было предложением, от которого я не мог отказаться. Если бы это было 4 года, как традиционный университетский диплом, я бы никогда этого не сделал. 9 месяцев, с другой стороны, ничего. Особенно с учетом того, что выпускников LS уже нанимали в технологические компании, что дало мне понять, что это была не сделка с меньшим временем и более низким качеством, а нечто иное. И вот я отправился в путешествие по LS.

Лямбда-опыт

Чтобы понять LS, вам нужно понять их бизнес-модель. В отличие от того, как работает традиционное образование, LS не взимает предоплату. Они взимают плату только после того, как вы получите работу. Они делают это через цифру, называемую ISA, которая в основном представляет собой контракт, в котором вы соглашаетесь платить Lambda School процент от вашего будущего заработка, как только вы получите работу.

Для меня этот аспект является наиболее важным отличием LS от других буткемпов, а также между LS и традиционным образованием. Это напрямую связывает стимулы между LS и ее студентами: если студентов не нанимают, Lambda не получает зарплату. Сильно отличается от того, как работает традиционное образование.

В одном из недавних хитов, упомянутых в начале этой статьи, автор утверждает, что стимулы между LS и ее студентами больше не совпадают, поскольку LS начала продавать ISA инвесторам. Несмотря на то, что на первый взгляд эта практика может показаться хлопотной, на самом деле она не меняет стимулы Lambda каким-либо значимым образом, особенно в долгосрочной перспективе. По сути, если инвесторы заметят, что студентов LS не нанимают, они перестанут покупать ISA. Таким образом, чтобы Lambda могла продолжать продавать ISA, она должна гарантировать, что ее студенты будут наняты.

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

Учебная программа: стек, который вам нужен, чтобы получить работу

Проще говоря, стек, который вы изучаете в LS, — это стек, который ищут большинство компаний. Для большинства доступных вакансий, которые я рассматривал, требуется стек (или его части), которому вас учат в LS. Здесь нет неприятных сюрпризов! По крайней мере, в веб-курсе, на который я был зачислен, есть очень хорошее соответствие между преподаваемыми технологиями и технологиями, которые искали.

В частности, курс WEB разделен на 5 тем: 1) HTML и CSS; 2) Прикладной JavaScript и введение в React; 3) Расширенный ответ; 4) Бэкэнд; и 5) Информатика.

Давайте углубимся в каждый из них. В первой части вы познакомитесь со строительными блоками WEB: HTML и CSS. Без этих двух не было бы WEB — они буквально присутствуют на каждом веб-сайте, который вы используете. Возможно, они не такие сексуальные, но совершенно фундаментальные.

Затем вы изучите основы JavaScript и то, как он применяется в Интернете, а также познакомитесь с самой популярной средой для создания веб-сайтов: React. В этом разделе, на мой взгляд, начинается самое интересное. Я нашел React удивительным инструментом. На этом этапе вы начинаете получать представление о том, как создаются сложные, масштабируемые и динамичные приложения. Чтобы получить представление о важности React, посмотрите некоторые из веб-сайтов или приложений, созданных с его помощью.

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

В 4-м разделе учебного плана вы узнаете, что называется бэкэнд-разработкой, что в основном означает, как хранить информацию, которую использует ваше приложение. В этой части учебного плана вы можете выбрать язык бэкенда, который вы предпочитаете изучать: Node.js или Java. Я выбрал Node.js, потому что это, по сути, JavaScript для бэкенда, но вы можете выбирать, что хотите. Для меня внутренняя часть учебного плана не была такой волшебной, как внешняя часть (все предыдущие разделы), поскольку я больше склоняюсь к дизайну. Однако многие мои одноклассники предпочли бэкэнд-разработку.

И последнее, но не менее важное: информатика. Мне очень понравилась эта часть учебного плана. И мне понравилось по двум причинам. Во-первых, потому что вы изучаете Python, красивый и очень полезный язык. Он отлично работает с числами, очень полезен для бэкэнд-разработки, а также получает большую известность в области науки о данных. Во-вторых, потому что вы изучаете некоторые более сложные вещи, такие как алгоритмы, структуры данных и компьютерная архитектура, которые для меня открыли глаза. Однако этот материал не для всех — большинство моих одноклассников испытывали трудности во время этой части курса. Информатика, однако, абсолютно необходима для получения работы, и именно поэтому ее преподают. По сути, большинство собеседований заполнены вопросами и проблемами в области компьютерных наук, которые вам нужно знать, как решить.

Подход: динамичный и практичный

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

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

В конце каждого модуля вы также получаете оценку. На этот раз оценка длится целую неделю и называется неделей сборки. Во время недели сборки вас назначают в команду, состоящую из студентов разных курсов (вы можете попасть в команду со студентами, изучающими UX и науку о данных) и когорты в Lambda, чтобы создать MVP для данного продукта. Благодаря этим неделям сборки вы узнаете много нового, и не только о темах данного модуля, но и о совместной работе с другими людьми над созданием программного обеспечения. Недели сборки дают вам представление о том, как выглядит настоящая работа. Кроме того, продукты, созданные во время Build Weeks, могут служить начальными проектами вашего портфолио.

Как уже было сказано, времени в Lambda очень мало. Это делает дни длинными и наполненными знаниями. Это не легко. В конце концов, Lambda упаковывает почти 4 года знаний в 9 коротких месяцев. Во время этого процесса обычно чувствуется перегруженность происходящим; столько новой информации. Синдром самозванца может стать обычным чувством. Однако в то же время вы так многому учитесь, что каждый день чувствуете, что чего-то достигли. В конце каждого спринта трудно узнать, каким разработчиком вы были в начале недели. И в конце каждого модуля вы поражены тем, что вы теперь можете сделать; в том, что вы можете понять и закодировать. Процесс сложный, разочаровывающий и требует много тяжелой работы, но награда того стоит!

Лямбда Лабс

Lambda Labs — это программа, предназначенная для студентов Lambda, чтобы получить реальный опыт профессиональной разработки программного обеспечения. Лабораторные работы проводятся в конце первых 4 разделов вашей учебной программы (до информатики) и длятся 2 месяца. В отличие от Build Weeks, целью которых является разработка примерного MVP, в Labs вы разрабатываете отточенный продукт или, по крайней мере, отполированную первую версию продукта. Этот продукт может быть разработан для внешнего (реального) клиента или для внутреннего клиента. В моем случае мне пришлось разработать первую версию инструмента визуализации данных для ONG, работающей в Африке. Этот продукт был настолько важен для ONG, что каждую неделю мы встречались с техническим директором, чтобы сообщать об обновлениях.

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

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

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

Карьера Помощь

В дополнение к своей учебной программе и практическому подходу, еще одним способом, которым LS готовит своих студентов к получению работы, является Career Help, который функционирует как отдел в LS. С первых нескольких недель вашего пребывания в Lambda и до момента, когда вы получаете работу, вы не перестаете взаимодействовать с ними. Их цель: привести вас в наилучшую форму для получения работы.

На протяжении всей вашей жизни в Lambda Career Help поможет вам с вашим резюме, профилем LinkedIn, страницей портфолио, интервью, нетворкингом и многими другими аспектами, связанными с карьерой. Я нашел их помощь особенно ценной для полировки моего резюме и присутствия в Интернете. В моем случае полученные советы и предложения сводились к тем небольшим, но очень важным деталям, которые превращают резюме или профиль LinkedIn из среднего в очень профессиональный.

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

После лямбды

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

Однако после окончания Lambda я сделал другие интересные вещи, которые я не смог бы сделать без знаний, полученных в LS. Я разработал свое собственное приложение, используя новую серверную технологию под названием Blockstack, за которую мне ежемесячно платят за участие в их программе разработки приложений. Я получил спонсорскую помощь на курс Джимми Сонга по программированию биткойнов в Сан-Франциско. Я написал свою собственную биткойн-библиотеку на Python (на основе класса Джимми), а это значит, что теперь я могу использовать биткойн-сеть, используя только свой собственный код (это просто поражает!). А совсем недавно я участвовал в работе над BTCPay Server, одним из самых важных проектов с открытым исходным кодом для Биткойн. И все это всего за несколько месяцев после выпуска. Все это невозможно без Lambda.

Некоторые заключительные мысли

Лямбда — это марафон. 9-месячный марафон с множеством взлетов и падений. Это тяжело, утомительно и часто подавляюще. Однако достижение цели настолько вознаграждает, что делает этот опыт стоящим 100%. И не только потому, что вы достигаете цели, зная, как программировать (и, вероятно, близки к тому, чтобы получить работу), но также (и это, на мой взгляд, самое главное), потому что, когда вы достигаете цели, вы понимаете, что стали новой, лучшей версией. себя, чем 9 месяцев назад. Возможность пройти через такой трудный опыт дает вам уверенность в себе, которую не может многое другое. Это прекрасно! Я бы сделал это снова и рекомендовал бы его на 100% всем, кто готов приложить усилия.

Пожалуйста, не стесняйтесь обращаться ко мне, если у вас есть какие-либо вопросы или комментарии относительно моего опыта работы с Lambda.