Как я проходил двухнедельный IT-интенсив после 15 лет работы в отрасли
Этот текст я публикую второй раз.
Первую версию заблокировали за рекламу. Что именно там рекламировалось, я так до конца и не понял, поэтому в этот раз никаких названий образовательных учреждений не будет. На всякий случай не буду даже слишком подробно рассказывать, чем зарабатываю на жизнь. Скажем так, больше 15 лет работаю в IT, и этого для дальнейшей истории вполне достаточно.
Я уже почти год учусь в одном неназываемом образовательном учреждении и хочу сделать небольшой цикл текстов об этом опыте. Рассказать про вступительный интенсив, потом про основное обучение и отдельно про то, чему в итоге научился.
Начну с интенсива. Во многом именно он оказался самой яркой частью всей истории.
На объявление об обучении я наткнулся случайно. В тот момент как раз заканчивал другой большой курс и совершенно не собирался снова куда-то поступать. Но программа выглядела достаточно серьёзно, чтобы хотя бы попробовать пройти отбор.
Несмотря на техническое образование и много лет работы в IT, у меня всегда оставалось ощущение пробела именно в фундаменте программирования. Практические задачи решать умеешь, проекты как-то работают, деньги за это даже платят, но где-то внутри периодически возникает мысль: а нормальной-то программистской базы у тебя нет.
Хотелось этот вопрос наконец закрыть.
Первым этапом отбора была трёхчасовая игра на логику и алгоритмы. Нужно было управлять роботом с помощью движения вперёд, поворотов и циклов. Всего десять заданий, которые постепенно становились сложнее.
Я видел, что некоторые проходили игру за час-полтора, поэтому тоже рассчитывал закончить быстро. Первые задания пошли бодро, но просто пройти уровень оказалось мало. Хотелось каждый раз найти максимально короткое решение, за него давали больше баллов.
В итоге вместо предполагаемых полутора часов просидел почти все три.
Это, как выяснилось позже, довольно точно описывало мою будущую проблему на интенсиве.
После игры пришло приглашение на следующий этап.
Две недели интенсива
Как именно всё будет устроено, заранее толком не изучал. Знал только, что впереди двухнедельный интенсив, после которого часть участников сможет продолжить обучение.
Уже на месте выяснилось, что раньше примерно тот же объём проходили за четыре недели, а нам всё упаковали в две.
Основные задания были на Си, с которым до этого я вообще никогда не работал. С Unix было немного проще, отдельные команды вроде grep были знакомы, но постоянно жить в терминале раньше не приходилось.
В первые же дни выяснилось, что 15 лет опыта в IT не дают большого преимущества на незнакомом стеке. Общий технический кругозор помогает быстрее понять, куда смотреть, но с Си, указателями, памятью и компиляцией всё равно приходится разбираться практически с нуля.
Проекты открывались один за другим. Утром появляется задание, через 36 часов закрывается, но следующим утром уже доступно новое. Если долго возишься с предыдущим, автоматически тратишь время следующего.
Обычный день начинался часов в восемь утра. Сначала чай и разговоры, кто куда дошёл, где застрял и кто уже понял, как подойти к сегодняшней задаче. Потом все расходились по компьютерам.
Дальше примерно так: пишешь код, что-то ломается, ищешь причину, снова пробуешь, спрашиваешь других. Через какое-то время уже кто-нибудь приходит с вопросом к тебе. В десять-одиннадцать вечера едешь домой, спишь и утром возвращаешься обратно.
И так почти две недели.
Готового учебного материала практически не было. Сначала получаешь задачу, которую ещё не умеешь решать, а потом уже под неё собираешь необходимые знания. Читаешь документацию, ищешь информацию, спрашиваешь людей вокруг.
Нейросети тоже хорошо помогали, но скорее как наставник. Можно было попросить объяснить указатели, работу с памятью или конкретную ошибку. Теоретически никто не мешал отправить условие целиком и попросить написать программу, но среди тех, с кем я общался, так почти никто не делал.
Чаще схема была другой: «объясни, чего я здесь не понимаю».
И очень быстро начинаешь много общаться с окружающими. Кто-то уже разобрался в теме и может подсказать направление. Иногда одной фразы хватает, чтобы понять, куда смотреть дальше. Через несколько часов уже сам объясняешь то же самое следующему человеку.
Для меня это было непривычно. Большую часть профессиональной жизни работаю самостоятельно. Если чего-то не знаю, обычно иду искать и разбираюсь. Здесь постоянно приходилось спрашивать, обсуждать решения и просить помощи.
К концу первой недели хотелось всё бросить
Кроме проверок другими участниками проекты проходили автоматическую проверку.
Довольно быстро выяснилось, что успешные проверки людьми ещё ничего не гарантируют.
Первый раз я вообще не понял, что произошло. Проверки прошёл, отправил проект дальше, а получил ноль.
Потом началась отдельная история с форматированием. Где-то не запустил clang-format, где-то проблемным оказался один файл, ещё в одном проекте код был отформатирован, но не с той конфигурацией, которая требовалась.
Одна формальная ошибка, весь проект уходит в ноль.
Ещё я пропустил первое групповое задание. Нужно было заранее записаться в команду, а сделать это вовремя не успел. Когда разобрался, присоединяться уже было поздно.
Зато внезапно появился единственный практически свободный день за весь интенсив. Предыдущее задание закончено, следующее ещё не открылось, остальные заняты групповым проектом.
Получилось остаться дома, спокойно почитать теорию и немного восстановить силы.
К концу первой недели из шести результатов зелёными были три. Два первых и самых простых проекта плюс экзамен, который написал на 89%. Два индивидуальных проекта обнулила автоматическая проверка, групповое задание было пропущено.
А впереди ещё целая неделя.
В какой-то момент всерьёз подумал, может, хватит.
Поговорил с женой. Она поддержала и сказала, что раз уж я в это ввязался, надо выложиться до конца, а дальше будь что будет.
После этого отношение к происходящему поменялось.
До этого хотелось каждый проект сделать максимально хорошо. В некоторых заданиях были дополнительные части, и вместо 100% можно было получить, например, 120%.
Но если полтора дня доводить один проект до идеала, а потом автоматическая проверка обнулит его из-за какого-нибудь файла или настройки форматирования, теряешь не только этот результат. За это время уже начался следующий проект, который теперь можешь не успеть сделать даже на проходной балл.
Поэтому на второй неделе стратегия стала другой. Закончить проект достаточно хорошо, отправить на проверку и двигаться дальше.
Больше полноценных попыток, больше шансов получить зелёный результат.
Получалось примерно то же самое, что ещё на отборочной игре. Можно долго искать идеальное решение, только дополнительного времени от этого не появляется.
Результаты всё равно были неровными. Ещё два индивидуальных проекта обнулила автоматическая проверка, один набрал только 12%, второй экзамен закончился на 24%. Зато второй групповой проект прошёл на 91%.
Всего за интенсив получилось одиннадцать результатов, четыре зелёных и семь красных.
Красивой победной статистики здесь не будет.
Интенсив оказался не только про код
Для проверок использовалась внутренняя валюта. Проверяешь чужую работу, получаешь несколько единиц. Хочешь отправить свою на проверку, тратишь.
Параллельно начислялись баллы за активность, в том числе за проверки и проведение мероприятий. В какой-то момент я тоже подумал, что можно сделать побольше проверок и набрать баллов, но при подсчёте обнаружилась небольшая проблема.
Внутренняя валюта начинала концентрироваться у людей, которые много проверяли чужие проекты. Потратить такое количество на собственные работы они физически не могли. При этом на групповых заданиях часть валюты вообще уходила из оборота.
Если этим одновременно увлечётся несколько человек, остальным в какой-то момент может просто не хватить валюты для проверок.
Одну из своих обучающих лекций я посвятил как раз этой механике. Поговорили, почему собирать всю местную валюту у нескольких особенно активных капиталистов не очень полезно для общества.
Экономический кризис в отдельно взятом интенсиве в итоге не случился.
Кроме этого постоянно проходили небольшие мероприятия. Нужно было собрать хотя бы пять человек и рассказать или показать что-нибудь интересное.
Люди рассказывали про музыку, прыжки с парашютом, показывали упражнения с элементами танцев.
Мне было проще заниматься техническим просвещением. Рассказывал про нейросети, программирование микроконтроллеров и 3D-печать. Однажды даже привёз собственный 3D-принтер и печатал что-то прямо на месте.
За две недели вообще получилось довольно много активности. Проверки, лекции, помощь другим, обсуждения.
А ближе к концу нужно было выбрать трёх героев и трёх антигероев интенсива.
Насколько это влияло на итоговый отбор, я не знаю. Но сама механика хорошо показывала, что одним кодом всё не ограничивается.
Если две недели сидеть в углу, ни с кем не разговаривать и никому не помогать, другим людям будет довольно сложно вспомнить тебя при выборе героя. Зато антигероем при определённых талантах стать, вероятно, проще.
При четырёх зелёных результатах из одиннадцати я до сих пор допускаю, что активность внутри группы могла сыграть какую-то роль в итоговом решении. Но точные критерии нам не сообщали, поэтому это только предположение.
Под конец кураторы устроили ещё обмен отзывами. У каждого был конверт с ником. Можно было написать другим несколько слов на стикере и положить записку в их конверт.
Потом открываешь свой и читаешь всё, что тебе написали за две недели.
И вот это запомнилось очень хорошо.
Если сейчас вспоминать интенсив, сильнее всего вспоминаются даже не задачи и не Си, а люди.
Все очень разные по возрасту, опыту и своим историям, но при этом как будто на одной волне. Не случайная компания, которую посадили в одну аудиторию, а люди, которым действительно интересно разбираться, учиться и что-то делать.
Мы две недели практически жили вместе. Утром встречались за чаем, потом разбегались по компьютерам, снова собирались, обсуждали, у кого что получилось и что опять не работает. Кто-то объяснял, кто-то просил помощи, кто-то рассказывал очередную историю.
Я давно так не смеялся.
Все одновременно куда-то несутся, пытаются успеть, друг друга подхватывают, и тебя очень быстро затягивает внутрь.
Когда интенсив закончился, оставался один вопрос, поступил я вообще или нет.
С четырьмя зелёными результатами из одиннадцати особой уверенности не было. Свои шансы оценивал примерно как 50 на 50.
Через несколько дней пришло сообщение.
Поступил.Примерно через месяц началось основное обучение. Там уже нужно было постепенно определяться с направлением. Мне были интересны Python и Data Science, в итоге сразу начал двигаться в сторону Data Science, потому что там к Python добавлялись данные, машинное обучение и нейросети.
Но это уже следующая история, если её, конечно, тоже не признают рекламой.
Второй раз добровольно проходить такой интенсив я бы, скорее всего, не стал. Для фрилансера две недели такого режима означают почти две недели без нормальной работы и дохода. Плюс дома семья тебя практически не видит.
Но тут есть странное противоречие.
Если предложить просто ещё раз пройти его, то нет, спасибо.
А если бы можно было вернуться именно в те две недели, к тем же людям, снова утром приехать, пойти пить чай, потом весь день разбираться с очередной непонятной задачей, смеяться, спорить, кому-то помогать и самому постоянно что-то спрашивать, туда я бы вернулся с удовольствием.
Потому что шёл туда за базой по программированию.
А запомнились в итоге люди.
























