Революционная школа программирования «42»: «бассейн», язык С и никаких учителей

Руководитель команды разработки GeekBrains Юрий Жайворонок рассказывает о том, как ему удалось побывать в крутой школе программирования «42», открытой в Кремниевой долине французским миллионером Ксавьером Нилом.

Юрий Жайворонок
Юрий Жайворонок

«42» известна своей революционной системой обучения, там, к примеру, нет учителей, а стартапы Долины расхватывают ее выпускников как горячие пирожки. Она совершенно бесплатна для учеников и живет на деньги спонсоров. Путешествуя по США, я не смог удержаться от того, чтобы своими глазами не посмотреть на это чудо и не поговорить со студентами. Студентами, правда, многих из них можно назвать с натяжкой, потому что в школу во Фримонте принимают до 45 лет (в парижском отделении – до 30 лет).

Как сюда попасть: бассейн и кадеты

Чтобы попасть в школу, для начала нужно выполнить несколько онлайн-тестов, выявляющих уровень знаний кандидата. Затем всех новеньких «скидывают в бассейн» – в La Piscine, так называется очный отборочный этап длиной в 4 недели, который необходимо пройти, чтобы получить право на учебу. В «бассейне» они почти в буквальном смысле барахтаются, пытаясь не утонуть в большом количестве сложных заданий.

Кампус
Кампус

«Менторства тут нет, более опытные студенты новичкам не помогают, им запрещено. Подсказать что-то могут только те, кто рядом с тобой в «бассейне», а еще можно погуглить. Фейлят все, редко кто справляется с каждым заданием. Смысл La Piscine в следующем: ты можешь проваливать задания – это не беда, главное, ты должен много работать и расти. Еще один момент – бассейн показывает, есть ли у человека мотивация. Многие, столкнувшись с неудачами, просто сдаются и уезжают», - говорит Сергей Пушкин, один из учеников, год назад переехавший в Калифорнию из Беларуси.

Сергей Пушкин переехал в Калифорнию из Беларуси
Сергей Пушкин переехал в Калифорнию из Беларуси

Успешно «переплывшие» La Piscine переходят в кадеты, при этом не обязательно приступать к учебе сразу. Есть возможность вернуться через некоторое время, а еще можно выбирать место и поехать учиться в Париж. Обучение может занять до трех лет, но, по словам студентов, с которыми я общался, люди, заинтересованные в работе и развитии своих проектов, редко остаются здесь больше, чем на год.

В «42» учится и русскоязычная молодежь – из России, Украины, Казахстана и других стран бывшего СССР. Их так много, что они заслужили особое название – и, естественно, это «русская мафия». Кстати, в школе работают на компьютерах Mac и используют исключительно Unix системы.

Чему учат: «С – это боль»

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

К примеру, в “бассейне” Сергею пришлось создавать на С головоломку Судоку. Еще одной непростой задачей стало написание аналога тетриса на этом языке. В проекте необходимо было задействовать рекурсию и бэктрекинг. Возможность программировать на других языках, к примеру, на Python и Java, открывается только тогда, когда студент достигает приличного пятого уровня.

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

«Нельзя пользоваться готовой стандартной функцией, ты должен ее сам написать. Сначала я задавался вопросом, к чему мне все эти мучения - зачем мне malloc, почему я должен аллоцировать память, ведь С – И это боль, особенно, когда ты только начал учиться. А потом до тебя доходит. Ты начинаешь понимать, как работает компьютер, после чего JavaScript уже кажется «детским» языком», - рассказывает Сергей.

Из-за этого объемы работы просто огромные, и многие сидят за компьютером даже не по 8, а по 14-15 часов в день. Время, проведенное за выполнением заданий, фиксируется. Если студент, по мнению администрации школы, занимается недостаточно усердно, его попросят освободить место в общежитии, тоже, к слову, бесплатном.

Кампус
Кампус

Как все работает: баллы, уровни и проектная работа

Обучение в школе основано на проектной работе, а знания проверяются с помощью системы peer-to-peer learning. Каждый получает задание на выполнение проекта, а проверять его будут 2-3 других студента. За проверенный проект ученик получает 1 балл - correction point. Набрав несколько баллов, он в свою очередь может выставить свой собственный проект на защиту – и тогда его баллы списываются.

«Порой приходится заниматься проектами людей, которые выше тебя по уровню знаний. Они делают такой космос, что у тебя просто взрывается голова. В таких случаях один-единственный correction point приходится зарабатывать весь день. Вчера мне повезло, я получил целых 4 балла - это настоящая победа», - говорит Сергей.

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

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

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

С определенным числом выполненных проектов и заданий ученики переходят на новый уровень, получая очередное звание: cadet, midshipman, admiral и другие. На пятом уровне можно участвовать в совместном проекте школы с компанией FileMaker, на седьмом - выбирать, куда идти на стажировку.

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

Holy Graph
Holy Graph

Трудоустройство: без работы не уйдет никто

От студентов в школе требуют не столько практических знаний, сколько творческого мышления и стремления развиваться. Аналогичный подход проявляют ведущие ИТ-компании при найме на работу – на собеседовании в Google вас, к примеру, могут попросить решить головоломку.

Компании и стартапы Долины нередко обращаются в школу и отбирают нескольких учеников на оплачиваемую стажировку, по истечению которой, как правило, оставляют на работе одного-двух специалистов. На стажировке, по словам ребят из «42», платят небольшие по местным меркам деньги – в среднем 25 долларов в час, однако это реальный шанс найти интересную работу и куда лучше, чем ничего.

Периодически всех сажают в автобус и везут в Сан-Франциско знакомиться с потенциальными работодателями. Еще студенты активно используют Linkedin - заводят там знакомства, обмениваются контактами и ищут работу. После стажировки есть возможность вернуться в «42», учиться дальше, развивать свой стартап в школьном подобии инкубатора или устроиться в один из существующих стартапов, которые получают финансирование от инвесторов школы из Кремниевой долины.

На сайте школы прямо сказано, что никаких гарантий по трудоустройству она не дает. Однако, как показывает практика, после учебы в «42» большинство студентов находят себе интересную и перспективную работу.

Юра Жайворонок, Филипп Карнацевич, Оксана Бибик, Сергей Пушкин
Юра Жайворонок, Филипп Карнацевич, Оксана Бибик, Сергей Пушкин
31
33 комментария