«Хуториум» испытаний. «На самом деле за всем этим стоит кромешный организационный ад»

Основатель поселка программистов близ Скоковского пруда под Слободским Алексей Конышев устроил школу программирования «Хуториум» и рассказал о том, как проходила подготовка школы и само обучение на сайте vc.ru. Приведем небольшой отрывок из его повествования от первого лица.

Чуть больше месяца назад мы анонсировали на vc.ru запуск «Хуториума» — школы программирования на базе поселка. Пару дней назад у нас завершился заезд первой группы. В статье — подробный рассказ о том, как всё создавалось, организационных трудностях и радостях первого запуска.

Наверное, сейчас вы смотрите на фотку, и думаете: «Как же круто, какие умные сосредоточенные лица, сидят за макбуками и осваивают фронтэнды с бекэндами, ребята молодцы — и студенты, и организаторы, как же круто всё получилось, умницы».

На самом деле за всем этим стоит кромешный организационный ад.

«Трамвай построить — это не ешака купить», или Как сделать школу за полтора месяца

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

Полтора месяца, ага. В отличие от чисто ИТ-проектов, дедлайн в «Хуториуме» было не сдвинуть. Из-за ажиотажа после первой публикации места на первый заезд были быстро раскуплены, люди купили билеты в Киров и уже запланировали приезд.

Марсианский пейзаж и другие проблемы

Невероятно, но вдобавок к жёсткому сроку у нас появилось ещё несколько испытаний. В конце мая мы планировали выровнять площадку под палатки тяжелым трактором, срезав кочки и убрав сорняки. Предполагалось, что за месяц на этой территории успеет вырасти молодая зеленая травка, и всё будет симпатично.

Из-за затяжных дождей в конце мая и первой половине июня удалось сделать это только за неделю до запуска. В результате грунт стал выглядеть примерно как на Марсе:

Грунт в палаточном городке сразу после выравнивания

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

Затем один за другим стали подводить подрядчики.
Краску для здания хотели подороже, заказали в Москве, но поставщик отвез её в ТК на 4 дня позже обещанного. Пришлось срочно покупать другую в Кирове и красить ей.
Заказали теннисные столы — но банковский перевод по непонятным причинам задержался на пять дней, а продавец без подтверждения бухгалтерии не хотел двигаться. Вдобавок, он оказался обычным посредником, и после получения денег только заказал логистику от своего поставщика, которая добавила к сроку еще пару дней. Доставка до нас сработала нормально, но в результате столы приехали только к концу первого заезда. А вот когда заказывали оборудование для оптики, подвела уже ТК — медиаконвертеры, SFP-модули и роутер приехали за 2 дня до старта.

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

День «Х», или Как вы яхту назовете, так она и поплывет

Когда я несколько месяцев назад показывал жене первые варианты логотипа «Хуториума», я был поставлен в тупик резонным вопросом: «А что это вообще за х…?». С целью получения более объективного фидбека я не познакомил её предварительно с глубокой концепцией названия, сочетающей в себе challenge и смысловую нагрузку в виде хутора и ума. Название казалось офигенным.

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

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

Этот фокус поставщики повторяли ещё пару раз, зато потом начали присылать на коробках смайлики и извинения….

…После завтрака нам сообщили, что санузлы готовы, специалисты покинули помещение, и мы можем заходить. Мебель поставить, конечно же, не успели, ребята вызвались перетаскать её из подсобки, а я в это время занялся интернетом.
Собственных способностей по настройке нового профессионального роутера не хватило. Он просто не работал. Чтобы никого не задерживать, я сбегал за своим домашним роутером — уже настроенным.
Пока я нёс его к классу, в голове начали крутиться нехорошие мысли. А что, если проблема не в роутере, а в линии? Её проложили несколько дней назад, и никто не успел проверить — ни саму линию, ни порт в коммутаторе. Что я буду делать, если настроенный роутер на ней сейчас не заработает? Я начал всерьёз обдумывать план убежать в лес и питаться там кореньями, пока не отрастет борода и никто не сможет меня узнать.

Роутер заработал, и я смог выдохнуть. На какое-то время. Не успел я рассказать ребятам о том, куда заходить и как авторизоваться в системе (вспоминая, что систему авторизации я закончил несколько часов назад, и она еще не проверена), как сразу несколько человек объявили, что не могут подключиться. Роутера на всех не хватало. Самое плохое, что не мог подключиться Денис — наш ментор, который должен проверять на задания и помогать решать затруднения. Ребята, которые уже подключились, успели выполнить первые задания, и система не пускала их дальше без проверки.
Тут я вспомнил, что бывает ещё проводной интернет, заказал в городе несколько коммутаторов и патчкордов, а сам побежал домой за сетевым кабелем для Дениса. Когда мы его подключили, он раздал с ноута Wi-Fi ещё на восемь человек, и проблема с интернетом закончилась…

…Потом началась гонка. Из-за всех этих сложностей я не успел загрузить в систему контент старого курса — тем более, что он требовал существенной переработки как устаревший. Я думал, что знакомство с вёрсткой займет у ребят как минимум день, и у меня будет небольшая фора, чтобы заняться заданиями. Я жестоко ошибался.

Через три часа мне пришлось вступить в неравную борьбу с наиболее успевающими студентами. Я старался их обогнать, внося в систему задания, а они — выполняя их в ускоренном режиме. На моей стороне был тот факт, что они ходили купаться, прохлаждались у костра, играли в теннис, настольные игры и бадминтон. На их стороне — факт, что написать качественное задание гораздо сложнее, чем его выполнить.
Эту борьбу я, конечно, проиграл. Поэтому студентам первого заезда была обеспечена возможность доучиваться в онлайн-режиме бесплатно, чтобы компенсировать эти задержки.
Если бы не эти проблемы, за первую неделю было бы вполне реалистично добавить к освоенному MongoDB и концепцию SPA. Не влез бы только изоморфный рендеринг, но им и профессиональные разработчики не все владеют.

Итоги

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

Результаты обучения

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

Улучшенная версия курса, общая атмосфера и драйв, возможность заниматься фулл-тайм — привели к гораздо более высокой скорости движения. Если бы не некоторые организационные накладки, которые возникли в первые пару дней и отняли часть времени, скорость могла бы быть еще выше.

В общем, оказалось возможным за шесть дней освоить верстку до уровня создания сложных страниц и использования CSS-фреймворков, интерактива на чистом JavaScript, повторение того же интерактива на ООП, а затем — на React, основы сервер-сайда на чистом Node и создание динамических веб-страниц на EJS. Дальше ребятам предстоит освоить работу с MongoDB и организацию REST API, использование Express, концепцию SPA, настройку Webpack и изоморфный рендеринг — всё это уже в режиме онлайн-занятий.
К сожалению, до указанной точки успели дойти только 30% из группы. Остальные ребята потеряли скорость на модуле с основами JavaScript. Причина, по словам некоторых из них — слишком большое количество концепций, которые нужно тщательнее уложить в голове — то есть это сознательный отказ от скорости в пользу более глубокого понимания.

Ребята, приближающиеся к завершению, скоро будут владеть стеком на уровне, когда они смогут приносить реальную пользу. Они мощно мотивированы и готовы к бесплатной боевой практике. Если вы ищете джуниоров — обратите внимание на наши спонсорские пакеты, которые предполагают доступ к этой свежей кадровой базе.

Источник материала — vc.ru

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *