В октябре 2019 года со мной случилась школа программирования 42, находящаяся во Фримонте, штат Калифорния. По возвращении из неё я упорно отказывалась отвечать на различные вопросы об учёбе и избегала делиться своими впечатлениями. Нужно было время прийти в себя. Более полугода спустя я готова рассказать свою историю о, возможно, самом необычном опыте в моей жизни.

Поскольку сама школа уже достаточно на слуху и неоднократно освещалась в различных статьях как на Хабре (особенно мне нравятся эта, эта и вот эта), так и на других ресурсах, моё введение будет максимально коротким, и весь фокус повествования будет сконцентрирован исключительно на моём, личном, и очень субъективном опыте.



Я имела честь быть частью октябрьского бассейна, последнего в 2019 году. Сразу отмечу, что я считаю систему школы не только рациональной, но и очень философской. По мере учёбы вам придётся отвечать для себя на непростые вопросы, учиться расставлять приоритеты и принимать сложные решения, от которых будет зависеть ваш успех (в чём бы он ни выражался). Очень сложно описать школу 42 «во всей красе» в рамках одной статьи, поэтому, если этот материал найдёт отклик в сердцах читателей, я продолжу рассказ и подготовлю дополнительную часть.
Эту главу я хочу посвятить внутренней организации процесса учёбы и социальных особенностях, достойных отдельных антропологических и философских исследований.

Дилемма распределения времени


Официально учебный день (это особая единица измерения времени обучения в школе, которая отличается от 24 часов) начинается в 8:42 утра и заканчивается в 23:42 следующего астрономического дня. На день выдаётся тема согласно плану обучения. К вашим услугам несколько обучающих видео, загруженных непосредственно в систему, и перечень заданий, которые необходимо выполнить до конца учебного дня. Технически, у вас есть полноценные полтора дня, чтобы выполнить все задания, но практически, когда часы показывают 8:42, вы получаете новый набор заданий и открывается новый учебный день – программа идёт внахлёст. Количество заданий в теме также нефиксированное – от 4 до 15 (а в отдельный день до 23).



Здесь возникал первый «вопрос совести»: пытаться выполнить день целиком прежде, чем приступить к следующему, или сделать по мере возможностей и пойти отдыхать? Выполненный целиком день выигрышно отражается на процессе обучения, т.к, прорешав все задания, студент больше практиковался и закреплял изученное. С другой стороны, не всегда решение находилось «по щелчку», и, потратив несколько ночей кряду на поиск решения запутанных заданий, студент рисковал очень быстро выгореть. Каждый участник бассейна должен был выработать оптимальную для себя стратегию прохождения курса, т.к. от этого зависело в первую очередь его психическое и физическое здоровье. Прохождение бассейна есть первый шаг на пути к зачислению в саму школу, и, если по его окончании студент измотан и нестабилен, дальнейшее обучение с трудом представляется успешным.

Дилемма взаимоотношений


В моём бассейне несколько раз в день кадеты, которые нас курировали, объявляли Push-ups Time: физкульт минутка, когда все студенты собираются вместе на небольшой площадке в центре зала и держат планку (или отжимаются). Инициатива, столь отдалённая от непосредственно процесса обучения программированию, помогала отвлечься от многочасового сидения за компьютерами в позе креветки и разгрузить мозг. Плюс была возможность оценить, кто лёгок на подъём, а кому всё лень и неинтересно. Такая с первого взгляда незначительная активность позволяла узнать о своих коллегах на бассейне гораздо больше, нежели многочасовое обсуждение кода из задания.

Старожилы школы, которые проходили бассейн не первый раз, рассказывали, что раньше возле кадетов стоял стол с надписью «Got a question? Google it! » и вазочкой конфет для успокоения израненной души. В мой бассейн стол убрали, но суть осталась той же. Прежде, чем задать вопрос, попытайся «погуглить» его. Иностранцам было чуть проще, т.к. диапазон поиска не ограничивался английским языком: на некоторые темы я смотрела видео-лекции на русском языке. Если всемирная сеть не помогла, посовещайся с коллегами по бассейну: возможно, они поняли тему лучше либо смогли найти необходимое объяснение и могут поделиться находкой. Используй любой источник информации, кроме знаний кадетов – последним запрещено отвечать на любые вопросы, касающиеся учебной программы. В системе бассейна школы 42 обучение «peer-to-peer» имеет свою субординацию.



Особенности взаимоотношений «кадет – студент бассейна» усложнялись по мере движения курса бассейна. Запрет на обсуждение дел бассейна был понятен и усвоен, но как насчёт дружеского общения? Один из популярных вопросов, который мучит всех студентов бассейна, – визовый. Школа 42 не оказывает поддержку студентам по легализации их нахождения на территории США, поэтому кадеты, которые уже зачислены в школу, вполне логично вызывали интерес. Желание узнать побольше о жизни кадетов из первых уст вступало в противостояние с опасением за репутацию. Ведь у кадетов есть свои кураторы, и чем пускаться в сложные объяснения и доказательства, что ты не рассказываешь ничего о бассейне, проще было ограничить общение со студентами вообще. В результате этого порой явственно чувствовалось «классовое» разделение, ограничивая общение только в рамках студентов бассейна. Безусловно, бывали и безбашенные тусовки студентов и кадетов, но, в моём бассейне такие студенты-тусовщики рисковали потерять свой пропуск в школу.

Дилемма минимального порога


Как я уже упоминала выше, в каждом учебном дне есть новая тема, содержащая различное количество заданий. Их выполнение имеет свою особенность. Чтобы считать материал учебного дня успешно изученным, необходимо верно выполнить 25% заданий. Простая математика подсказывает, что, если, к примеру, в теме 12 заданий, необходимо корректно выполнить первые 3. Почему я делаю акцент на слове «первые»? Расположенные в порядке возрастания сложности, задания должны быть выполнены последовательно. Если вы сделали ошибку в упражнении №2, все последующие, даже если были выполнены верно, не будут учитываться в общем зачёте. Равно как если вы сделали сложнейшее упражнение №12, но пропустили №3, будут засчитаны баллы только за №1 и №2 (а их будет недостаточно для закрытия дня).



В связи с этим у многих студентов возникает вопрос: зачем пытаться решить все задания, если для зачёта нужно только 25%? Мне это напоминает студенчество, когда достаточно было получить 4, чтобы «сдать» экзамен и идти дальше (в Беларуси, по 10-балльной шкале). Каждому на бассейне приходится решать для себя, что важнее: сделать идеально абсолютный минимум, чтобы закрыть день и приступить к следующему (или заняться своими делами), или потратить время, чтобы решить все упражнения и получить больше знаний? В один из дней «программа минимум» сыграла против меня: функция, которую я пропустила в учебном дне, потом всплыла у меня на экзамене. Было неловко.

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



На этих трёх дилеммах я прерву свой рассказ. Надеюсь на вашу обратную связь – стОит ли продолжать повествование об особенностях бассейна «мастерской программистов» школы 42? Буду также рада ответить на ваши вопросы в комментариях!