{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

Как запустить школу программирования за полтора месяца. Итоги первого заезда в «Хуториум»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Затем один за другим стали подводить подрядчики.

Краску для здания хотели подороже, заказали в Москве, но поставщик отвез её в ТК на 4 дня позже обещанного. Пришлось срочно покупать другую в Кирове и красить ей.

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

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

Последний день перед стартом

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

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

Планировка учебного помещения

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

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

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

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

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

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

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

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

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

Обратите внимание: для еды мы используем картонные коробки, которые сами закупаем и передаем поставщику. Это позволяет нам не выбрасывать использованные контейнеры, а закапывать их вместе с остатками еды — такая органика перегнивает в земле менее, чем за год.

Это несколько дороже, зато так мы вносим небольшой вклад в концепцию Sustainable Development Goals (конкретно, в цель #12 – Responsible Consumption). Поскольку мы все живем на одной планете, я считаю, что каждый из нас по мере возможностей должен помогать двигаться в этом направлении — прочитайте об этих целях, если вы еще с ними не знакомы.

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

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

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

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

Тут я вспомнил, что бывает ещё проводной интернет, заказал в городе несколько коммутаторов и патчкордов, а сам побежал домой за сетевым кабелем для Дениса. Когда мы его подключили, он раздал с ноута Wi-Fi ещё на восемь человек, и проблема с интернетом закончилась.

Я снова выдохнул. Но тут Денис отвел меня в сторонку и показал баг в панели управления, который позволял ему проверять только собственные задания. Снова паника. Я показал ему, как делать это через отправку API-запросов в Postman, а сам сел на пол в соседней комнате (стульев не хватило) и начал чинить. Ещё через пятнадцать минут всё было готово.

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

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

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

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

Если бы не эти проблемы, за первую неделю было бы вполне реалистично добавить к освоенному MongoDB и концепцию SPA. Не влез бы только изоморфный рендеринг, но им и профессиональные разработчики не все владеют.

Итоги

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

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

Новости школы «Хуториум» публикуются в Telegram-канале и на сайте школы. Как обычно, готов ответить на все вопросы в комментариях к статье.

0
165 комментариев
Написать комментарий...
Sam Beckett

Погодите, я правильно понял, что для того, чтобы получить контакты недоджунов, которые пару недель назад научились что-то там прогать, нужно еще и денег отвалить?

Ответить
Развернуть ветку
Сергей Сальников-Введенский

Так взамен можно получить сильно мотивированного, лояльного сотрудника. Это же классно, не?

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Алексей Конышев

Никто не говорил про "всему" :)
Научился основам, которые позволяют делать реальный вклад – да, за 6 дней.

Ответить
Развернуть ветку
Bringo_call_tracking

Как можно сделать джуна, который может приносить пользу за 6 дней??????

Не смешите, пожалуйста. Ладно месяц, два, уже хоть простые таски можно давать (css подправить или html).

Ответить
Развернуть ветку
Алексей Конышев

За 6 дней пока не получается.
Две недели – вот это норм. Хотите через неделю попробовать?

Ответить
Развернуть ветку
Bringo_call_tracking

Алексей, я программист, поэтому мне можно по ушам не ездить и дичь не втирать.

Спасибо.

Вы пишете:

В общем, оказалось возможным за шесть дней освоить верстку до уровня создания сложных страниц и использования CSS-фреймворков, интерактива на чистом JavaScript, повторение того же интерактива на ООП, а затем — на React, основы сервер-сайда на чистом Node и создание динамических веб-страниц на EJS.

На кого эти сказки рассчитаны? И react, и верстка и ооп и node....

Ответить
Развернуть ветку
Алексей Конышев

Спасибо, я тоже программист. Если вы считаете, что это сказки – это круто. Значит это действительно сложно и кажется недостижимым. Но даже старая версия курса, которая проходила боевую обкатку показала, что эти сроки достижимы. Повторюсь, речь идет не о глубоком погружении, а о получении базовых навыков, которые студент потом может легко углублять. Новая версия, естественно, немного лучше – поэтому результат, с вашей точки зрения, еще более "сказочный"

Ответить
Развернуть ветку
Bringo_call_tracking
Спасибо, я тоже программист.

Я в курсе читал про ваш поселок.

базовых навыков, которые студент потом может легко углублять.

За 6 дней о какой базе может идти речь, разве что базовое понимание CSS, HTML. А вы упорно доказываете, что заложили базу по JS, ООП, фреймворкам, react, node. Это не реально.
Могу с ужасом представить какая там каша в голове у студента.
Посмотрите на себя со стороны, и подумайте как дико для тех кто работает программистом это все звучит.

Если бы не эти проблемы, за первую неделю было бы вполне реалистично добавить к освоенному MongoDB и концепцию SPA. Не влез бы только изоморфный рендеринг, но им и профессиональные разработчики не все владеют.

Та ладно, может за полдня бы успели)))
Положа рука на сердце, кто возьмет "шестедневного недоджуна" на реальный проект??

Ответить
Развернуть ветку
Алексей Конышев
За 6 дней о какой базе может идти речь, разве что базовое понимание CSS, HTML.

Нет. На базовое понимание HTML и CSS уходит примерно 1.5 дня. Первые полдня – на разные примитивные куски и стилизацию. Второй день – на сложную верстку по заданному макету.

Это не реально.
Могу с ужасом представить какая там каша в голове у студента.

Блин, ну это круто. У меня есть 2 success-story разработчиков, выращенных на старой версии этого курса. А вы мне говорите, что это не реально. По-вашему, у меня воображаемые друзья что ли есть?

Посмотрите на себя со стороны, и подумайте как дико для тех кто работает программистом это все звучит.

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

Ответить
Развернуть ветку
Bringo_call_tracking
Нет. На базовое понимание HTML и CSS уходит примерно 1.5 дня. Первые полдня – на разные примитивные куски и стилизацию. Второй день – на сложную верстку по заданному макету.

Угу, потом день на JS, день на реакт, одно утро на ноду, еще денек на ооп, херак-херак готовый архитектор.

Блин, ну это круто. У меня есть 2 success-story разработчиков, выращенных на старой версии этого курса. А вы мне говорите, что это не реально. По-вашему, у меня воображаемые друзья что ли есть?

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

Вот на это мне всегда было и будет совершенно наплевать.

Good luck.

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

Как это недоговариваю? Я про это везде пишу. После курса нужно пахать бесплатно – делать сайты знакомым или найти практику. Именно эту практику, я и пытаюсь тут организовать. На моей практике, срок от начала курса до первой боевой зарплаты – составляет чуть меньше года.

Ответить
Развернуть ветку
Bringo_call_tracking
Как это недоговариваю? Я про это везде пишу. После курса нужно пахать бесплатно – делать сайты знакомым или найти практику. Именно эту практику, я и пытаюсь тут организовать. На моей практике, срок от начала курса до первой боевой зарплаты – составляет чуть меньше года.

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

Ответить
Развернуть ветку
Алексей Конышев

Если бы вы читали, а не ставили своей целью полить грязью то, что вы не понимаете, вы бы увидели это на первой странице (что бы вы ни подразумевали под первой страницей):

В основе лагеря лежит курс современной веб-разработки, который мы обкатывали в местном техническом лицее – а также на нескольких взрослых знакомых, которые решили сменить профессию. Наша практика показывает, что стать “с нуля“ профессиональным веб-разработчиком квалификации Junior, зарабатывающим 80 т.р. в месяц, можно примерно за год. Сравните это с пятью годами в институте.
Ответить
Развернуть ветку
Bringo_call_tracking

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

Ответить
Развернуть ветку
Valentin Dombrovsky

Джун с зарплатой 80к, да ещё и только выучившийся с нуля? Ткните пальцем, где такое есть, пожалуйста.
P.S. Я прошёл годовой курс Codecademy — думаю, по такой логике вполне подойду в джуны.

Ответить
Развернуть ветку
Grigory Antonov

+100500

Ответить
Развернуть ветку
162 комментария
Раскрывать всегда