Борис Гончаров — в недавнем прошлом минчанин и совладелец интернет-магазина, выпускник Института управления. В мае прошлого года он выиграл грин-карту и переехал в США. Несколько месяцев пожил в Нью-Йорке, а после поступил в школу программирования «42» и переехал в городок Фримонт рядом с Сан-Франциско. Борис рассказал dev.by, как в Долине можно учиться программированию бесплатно.
«В школе нет преподавателей, уроков и прочей классической ерунды»
Переехав в Америку, я стал думать, куда пойти учиться. В Минске я окончил Институт управления по специальности «менеджер-экономист», торговал климатическим оборудованием, занимался контекстной рекламой, а к программированию отношения не имел.
Как-то на Facebook увидел объявление про школу «42» в Калифорнии. Зашёл на их сайт, увидел, что это бесплатно, зарегистрировался и в январе поехал в городок Фримонт поступать.
Школа «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 часов можно не выполнять.
Лично у меня компании мечты нет, просто хочу работать там, где мне будет интересно.
И ещё пару слов о документах — для тех, кто не живёт в Америке. Поступить в школу можно и по обычной туристической визе, главное, чтобы она не была просроченной. Правда, вскоре вопрос о легальном пребывании всё равно встанет, так как по турвизе находиться в штате можно не более полугода. Кто-то проходит «бассейн», уезжает и приезжает обратно. Школа с оформлением визы не помогает.
Но если вы живёте в США и у вас всё в порядке с документами, это реальная возможность стартануть.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.