«Если твой код отлично работает, но стилистически не соответствует норме, система поставит 0 баллов». Минчанин поступил в бесплатную школу программирования «42» в Долине

20 февраля 2019, 09:14

Борис Гончаров — в недавнем прошлом минчанин и совладелец интернет-магазина, выпускник Института управления. В мае прошлого года он выиграл грин-карту и переехал в США. Несколько месяцев пожил в Нью-Йорке, а после поступил в школу программирования «42» и переехал в городок Фримонт рядом с Сан-Франциско. Борис рассказал dev.by, как в Долине можно учиться программированию бесплатно.

«В школе нет преподавателей, уроков и прочей классической ерунды»

Переехав в Америку, я стал думать, куда пойти учиться. В Минске я окончил Институт управления по специальности «менеджер-экономист», торговал климатическим оборудованием, занимался контекстной рекламой, а к программированию отношения не имел.

Как-то на Facebook увидел объявление про школу «42» в Калифорнии. Зашёл на их сайт, увидел, что это бесплатно, зарегистрировался и в январе поехал в городок Фримонт поступать.

​«42» 

«42» — частная некоммерческая бесплатная школа, основанная французским миллиардером Ксавье Ньелем. Все интеллектуальные права принадлежат студентам. Первый кампус был открыт в Париже в 2013 году. В 2016 году появился кампус в Калифорнии, городе Фримонте. 

В дополнение к официальным парижскому и калифорнийскому кампусам учебные заведения аналогичной модели появились во французском Лионе, а также в Румынии, Южной Африке, Молдове, Украине, России, Болгарии, Бельгии, Марокко, Нидерландах и Финляндии. 

В школе нет преподавателей, она не выдаёт дипломов и не присуждает степеней. Обучение основано на peer-to-peer методике и проектном обучении. Название школы отсылает к книге Дугласа Адамса «Автостопом по Галактике». «42» — это «ответ на главный вопрос жизни, Вселенной и всего». 

Школу поддержали многие руководители ИТ-компаний в Кремниевой Долине, такие, как Эван Шпигель (CEO Snap Inc.), Кейвон Бейкпур (Periscope), Стюарт Баттерфилд (Slack), Брайан Чески (Airbnb), Тони Фаделл (Nest Labs), Джек Дорси (Twitter), Пол Грэм (Y Combinator), Билл Гарли (Benchmark).

Школа «42» — абсолютно бесплатная, более того, она предоставляет бесплатное общежитие, что в Кремниевой Долине очень важно. Но чтобы попасть в школу, надо пройти отбор, который длится месяц. Отбор называется piscine (по-французски это значит бассейн) и проходит в самой школе. На этот месяц, кстати, жильё тоже предоставляется.

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

В первый день приходит около 300 человек. Но к концу первой недели примерно треть отсеивается. Кто-то понимает, что это не его, кто-то постоянно фэйлит, расстраивается и уходит. К концу отбора в «бассейне» остаётся чуть больше 100 человек.

Люди — самые разные, обоих полов, хотя мужчин больше, визуально им от 18 до 50 лет. С самых разных континентов: мексиканцы, корейцы, китайцы, украинцы, казахи, африканцы. Американцы, конечно, тоже есть. В моём «бассейне» было много русскоговорящих. Из Беларуси было человека три.

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

Каких-то требований к кандидатам нет. В «бассейн» можно прийти с нулевыми знаниями (хотя лучше всё-таки посмотреть какой-нибудь курс на Youtube, как сделал я). Цель отбора — выявить наиболее способных и обучаемых.

В школе нет преподавателей, уроков и прочей классической ерунды. Учёба проходит по методу peer-to-peer — когда все студенты взаимодействуют только друг с другом. Каждый день, в 8.42, приходят задания и к ним короткие видео с базовым объяснением по теме.  А дальше ты ищешь информацию сам: гуглишь, читаешь мануалы, общаешься с другими ребятами. Сдать задание надо на другой день в 23.42, то есть на его выполнение даётся два дня, но фактически у тебя всего один день — потому что новое задание приходит каждый будний день.

Ежедневные задания сначала проверяют сами студенты. Ты отправляешь «таски» на сервер и записываешься на проверки к двум таким же «пловцам». Договариваешься с ними о встречах, они проверяют, оценивают и пишут отзывы, потом ты кого-то проверяешь. Без этого никак — система не завалидирует день и поставит 0 баллов. Так и завязывается общение.

«Здесь много ребят, которые приходят с абсолютным нулём, и в принципе они справляются»

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

В «бассейне» все учат язык С, с ним же продолжают работать и в школе до определённого уровня. А дальше можно выбрать своё направление: из других языков тут изучают C++, Python, Java, PHP. Плюс можно попасть в лабораторию робототехники.

По выходным в «бассейне» проходит «раш» — командный проект, для выполнения которого рандомно объединяются команды по три человека. Плюс на субботу-воскресенье даётся индивидуальное задание.

один из индивидуальных проектов

один из индивидуальных проектов

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

Школа работает в режиме 24x7 — в лаборатории можно находиться круглосуточно. Я проводил в лаборатории по 12-18 часов в день. Плюс к этому каждый день мне приходилось работать: в Нью-Йорке я устроился администратором веб-сайта в небольшую газету, и удалось сохранить работу удалённо. В районе шести я вставал, пару часов работал, потом шёл в школу и до часа ночи проводил в лаборатории. На сон оставалось часов пять. Но было кайфово. Жалел, что в сутках всего 24 часа.

Здесь много ребят, который приходят с абсолютным нулём, и в принципе они справляются.

Идеально выполнять все задания — не самое главное. Школа хочет увидеть, насколько человек трудолюбив и социально активен. Есть ребята, которые плохо выполняли задания, тем не менее, по мнению школы, они демонстрировали прогресс.

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

«Провалил экзамен — не значит, что тебя отсеяли; прошёл — не значит, что тебя взяли»

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

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

В моём наборе «бассейн» прошли около 80 человек.

окрестности

окрестности

Те, кто поступил, называются кадетами. Обычно те, кто прошёл бассейн, ещё какое-то время ждут начала обучения. Мне повезло: мой «бассейн» окончился в первых числах февраля, ближайшей датой старта было 11 февраля, а следующей — в конце апреля. Мне оперативно дали положительный ответ, и я успел подать заявку на участие в основной программе обучения и на общежитие. Так что обучение я начал уже через неделю по окончании бассейна.

Чему я научился в «бассейне»? Азам языка С. Теперь у меня есть полное понимание, как работают стандартные функции из стандартной библиотеки языка С. Могу самостоятельно написать функцию. На практике это не пригодится: нигде не нужно переписывать стандартную функцию, ею нужно просто уметь воспользоваться. Но знания о том, как работает стандартная функция, просто «впиливаются» в голову.

Что ещё важно? Здесь учат писать код правильно. Система проверяет не только работоспособность кода, но и его стилистику. В каждой функции должно быть не более 25 строк, в одном файле не более 5 функций и так далее. Если твой код не соответствует норме, то, пусть он и работает отлично, система поставит ноль баллов. Правда есть специальные программы, тоже написанные студентами, при помощи которых можно проверить код ещё до отправки на сервер.

В «бассейне» задания простые и краткосрочные. Во время основного обучения проекты — долгосрочные. Например, мой первый  проект — написать свою библиотеку на С, которую мы будем использовать для дальнейшей работы. Срок работы над проектом — от 2 недель до 1 месяца. То есть всё начинается со сложного, хардкорного отбора, во время которого надо вкалывать, а потом режим становится более щадящим.

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

Сдав 4 проекта на языке С (в среднем на это надо 2-3 месяца), можно выбирать направления в разработке: игры, алгоритмы, веб-разработка — каждый идёт туда, где ему интересно. Лично я планирую идти либо в алгоритмы, либо в машинное обучение.

«Tesla, Google, Apple, приходят в школу, чтобы присмотреться к кадетам»

Курс в школе рассчитан на три года, но из тех, кого я знаю, никто три года ещё не отучился. В течение года ребята устраиваются на работу и уходят. Школа никаким образом не держит, можно уйти в любой момент.

Про условия в общежитии. Они — довольно простые. В комнате селят по 3-4 человека: у тебя есть кровать, шкаф, стол, стул.

Есть также платная столовая, которая делает обеды и ужины, цена в среднем — $5 долларов, по местным меркам, это очень дёшево. Вообще с едой в Америке — беда, кругом одни фастфуды. А в столовой делают в принципе нормальную пищу: можно съесть пюрешку или более-менее здоровый сэндвич. Например, сегодня были бурритос — отварная курица в лаваше с каким-то соусом. Вчера была паста. Завтрак надо раздобыть самому.

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

Но те, кто живут в общежитии, должны выполнять определённые условия: они должны проводить в лаборатории не менее 35 часов в неделю, а также посещать (именно посещать, успешная сдача не обязательна) не менее 2 экзаменов в месяц и набирать как минимум 1 уровень в месяц.

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

Вокруг тебя — все компании Кремниевой долины. Многие из них, в том числе Tesla, Google, Apple, приходят в школу, чтобы присмотреться к кадетам. Как только ты набираешь 7-й уровень (а в месяц можно набрать 1-2 уровня), можно подавать заявку на стажировку в любую компанию. С 7-го уровня ты имеешь право и работать, и учиться. И да, общежитие по-прежнему предоставляется, причём с этого времени условие в 35 часов можно не выполнять.

соседство с Tesla даёт о себе знать

соседство с Tesla даёт о себе знать

Лично у меня компании мечты нет, просто хочу работать там, где мне будет интересно.

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

Но если вы живёте в США и у вас всё в порядке с документами, это реальная возможность стартануть.

Обсуждение