Не думал, что в современности будет место историям, когда человек берет свои знания, представления о мире, и несет их буквально на своих двоих в дальние дали. Но всегда было интересно, что такими людьми движет. Расчет, вера в свою правоту, энтузиазм?
Оказалось, такие истории еще случаются. В 2017 году несколько молодых преподавателей программирования из Московских школ дополнительного образования собрались в команду, назвали ее «Кружок» и поехали по городам России рассказывать детям о технологиях. Они посетили Воткинск, Калугу, Вязьму. Затем в селе Глазок под руководством ребят дети создали сайт, и тут же попали в телевизор и заголовки крупнейших СМИ.
Сейчас «Кружок» едет с туром по 10 городам, а в конце августа планирует провести фестиваль в селе Сардаял.
Преподаватели «Кружка» Саша Братчиков и Александр Патлух рассказали нам с fillpackart каково это — учить детей программированию и заниматься таким вот «технологическим миссионерством».
— Я читал, есть некий Коля из Вязьмы, который после ваших курсов сам делает свои проекты. Как у него дела?
Саша Братчиков: — Да, Коля из Вязьмы — это очень хороший пример. Мы про него всем рассказываем и хотим, чтобы таких примеров было больше. Мы изначально хотели это поставить на рельсы, чтобы дети продолжали, общались с нами. Но это сложно, их удалённую работу надо курировать, вести поддерживающие мероприятия. Последнее время мы делаем этого меньше, но все равно остаются такие вот уникальные примеры детей, которые тащат на собственном интересе и внутренней мотивации.
— А что конкретно он делает?
Александр Патлух: — У него была история с интернет-магазином виртуальных товаров, но он на неё забил. Сказал, что хочет сделать себе портфолио, как начинающий веб-разработчик. Попросил у меня пару-тройку курсов по JavaScript. Чувствует, что недопрокачан в этом. Сейчас, думаю, изучает их.
— Вы еще рассказывали, что во время пилотной семидневной школы наступили на кучу граблей. А что именно там случилось?
С: — Да, это было в Воткинске, Удмуртской Республики. Кстати, первый и единственный город, где занятия проводились не в школе. Мы арендовали антикафе. Дети приходили со всего города, из разных школ. Все приходили со своими ноутбуками. Программированием до этого не увлекался никто, насколько я помню.
Были одни основные грабли. В Moscow Coding School, где мы работали, у нас сформировалось несколько учебных программ. Первая по веб-разработке — начиная от верстки, и заканчивая JS, jQuery и тд. Вторая программа по Python в среде Minecraft для детей. При помощи кода они строят там дома, улицы. И третья по Arduino — интернет вещей, connected devices.
Первоначальная концепция была не в том, что мы даем ребёнку какой-то навык. Мы хотели развивать у него некий технологический кругозор и попытались все эти три программы запихнуть в семь дней. Два дня веб разработки, два дня с Arduino, два дня на Python.
Неподготовленные дети были в шоке от такого наплыва информации. Они ещё не поняли что такое html/CSS, а мы уже рассказываем про Python. У всех новичков много путаницы в синтаксисе языка, и когда каждые два дня ты меняешь синтаксис, у ребёнка, естественно, происходит непонимание.
— И как они реагировали, просто разбегались, переставали приходить?
С: — Нет, не разбегались, но наступал момент, когда ты задаешь наводящие вопросы по материалу последних двух часов, а дети просто не понимают ничего, вся аудитория. И ты понимаешь, что делаешь что-то не так. Когда два-три человека не поняли, это нормально. Но когда вся аудитория — проблема в тебе как преподавателе, либо в программе, ее последовательности.
А: — Ну и у них еще открыт Майнкрафт. Они в него убегали.
С: — Нет, дети не разбегались, им продолжает быть интуитивно интересно, но от непонимания мотивация снижается. Так решили семь дней уделять чему-то одному. Мы остановились на самом простом — на верстке. Очень много времени тратим на базовые синтаксические вещи, делаем какие-то простые сайты.
— Когда вы приезжаете в село, нет ощущения, что никому здесь это не нужно, и ничего не получится.
С: — Я вижу это как некий стереотип. Когда мы ехали в Глазок, сами не были уверены, что людям зайдёт, но попробовали.
Если подумать, откуда вообще взялась парадигма, что людям в селе не нужно программирование? Это исходит из убеждения, что мир так устроен — какие рабочие места есть поблизости, там люди и должны работать. И в селе люди занимаются чем-то своим.
Понятно, что в нашем мире это парадигма немного меняется. Рабочие места перестают физически быть привязаны к месту. Потоки миграции с каждым годом все меньше и меньше обусловлены именно работой. Исходя из этой предпосылки, аргумент, что людям в селе, где нет рабочих мест программистов, ничего это не нужно — становится ложным.
Даже если людям это не нужно в данный момент, это не повод не дать им возможность узнать о всём многообразии вещей в современном мире, о программировании, о новых индустриях. В технологическом мире каждые пять лет происходит что-то новое, и у этих людей тоже есть полное право обо всём знать.
А: — Саша говорит про стереотипы о привязке рабочих мест. Но когда с детьми работаешь, у них эти стереотипы ещё не сформировались до конца. Они тоже ходят в интернет, смотрят YouTube каналы. У них пока нет в голове привязки, «я родился в городе, где железнодорожники шпалы укладывают, и я тоже буду железнодорожником». У них еще не накопился багаж социального давления снаружи, который диктует эту парадигму. Поэтому ты приезжаешь и видишь, что им интересно как функционирует digital мир. Они с ним тоже соприкасаются.
С: — И у нас есть короткий период чтобы ухватиться за эту детскую незашоренность и рассказать о всяких новых штуках. Естественно, общественное давление с годами нарастает, и люди продолжают из поколения в поколение заниматься одним и тем же.
— Да, я это и имел в виду. Одно дело, как мы представляем стереотипы, а другое — есть ли эти стереотипы о себе у них. Чувствуют ли они сами, внутри, что им это не надо. Но если нет — то здорово.
А: — У них огромный интерес, мы ещё ни разу не встречались с явным отторжением.
— После Глазка о вас заговорили. Когда это случилось, другие разработчики не захотели вместе с вами ездить по селам и учить тому, что умеют они?
С: — Постоянно пишут. Писали люди из Яндекса, пишут не только из Москвы, но и со всей России. Пишут люди из других сфер — дизайнеры, иллюстраторы. Со следующей итерации тура мы естественно хотим расширяться. Это будут не только технологии, но обязательно что-то еще. Всех этих людей обязательно хотим привлекать. Чем больше людей, тем эффективнее можно работать.
А: — В общем, все под эгидой «не только» — не только технологии, не только мы. Может быть, не только в России.
Как дорого обходятся поездки и откуда на них брать деньги
Воткинск — родной город Саши Братчикова. Несмотря на это, первая поездка, по словам ребят, оказалась самой дорогой — 80 тысяч рублей.
«В эту сумму вошли билеты, жилье, печать мерча: футболок и плакатов, которые мы развешивали по городу. Воткинск — самый далекий город из всех, куда мы ездили. Жилье было относительно дешевым по меркам Москвы и Питера, но мы жили в однокомнатной квартире вшестером. Это порождало всякие бытовые неприятности».
Ребята пытались найти финансирование, рассчитывали на крупные технологические компании, но не срослось — первые две поездки оплачивали из своего кошелька.
«Применительно к туру, конечно, мы думали про гранты и программы поддержки. Но быстро поняли, что лишь одно выяснение бюрократических правил игры отнимет у нас огромное количество времени и сил, не предлагая ничего взамен», рассказывали они.
В итоге часть расходов взяла на себя компания Makeomatic, в которой Саша работает. Она оплачивает билеты и частично проживание.
О системе образования и ее проблемах
— Я недавно опрашивал абитуриентов, и все как один считают, что для работы в IT необходимо высшее образование. Ваши ребята тоже так считают?
С: — В любой области можно работать без высшего образования. Понятно что в каких-то областях и на каких-то позициях компьютерные науки будут большим плюсом не только в плане строчки в резюме, а в целом — в плане развития и подготовленности.
А: — Это очень персональная вещь. Есть люди, которые умеют затаскивать самостоятельно такие вещи, что ни одному вузу не снилось.
Фил: — Своих детей вы бы отправили в вуз?
А: — Да, но это не обязательно было бы программирование или компьютерные науки. Если говорить лично, я смотрю на вуз не только, как на способ получения знаний. вуз — это очень многое: обучение тому, как надо учиться, систематизация мышления. Связи, черт подери! Я думаю, это все важно.
Но я бы не выводил роль фундаментального образования на уровень, что оно прямо необходимо для работы в IT-индустрии.
— Кто уже работает, так обычно и говорит — «дети просто наивные и не понимают, что можно работать без этого».
А: — Если честно, во время поездок мы об этом даже не разговаривали, хотят они в вузы или не хотят. У них там есть прочерченный жизненный путь. Обычно он привязан к учебному заведению, в том районе, где они живут. Хочется им учиться или не хочется, они не рассказывали. В Яндексе вот всем работать хочется, если спросишь.
— Как думаете, в России есть проблема с IT образованием?
А: — Да, вот мы этим и занимаемся. С ним явно что-то не так. Дается неплохая фундаментальная математическая база, но система достаточно устаревшая. Она живёт в парадигмах, которые зародились в советской эпохе. Зачастую изучаются не практические технологии. Это приводит к тому, что естественный интерес детей остаётся неудовлетворенным. При этом нагрузка постоянно растёт.
С моей точки зрения, все это скопилось в снежный ком, который должно вырулить дополнительное образование. Оно будет давать альтернативы, перспективы. Главное, я верю, что оно получит статус, который позволит быть востребованным, имея не корочку, а знания.
За что и хочется топить.
Ф: — Я, например, обучался дома с книгой. Потом меня взяли на работу джуниором и так пошло. А вы?
А: — Я получил высшее образование и даже имею какую-то степень, но не технического плана — я социолог. Первый раз я пощупал Python для того чтобы, разбирать результаты социологических исследований. Потом, конечно, веб мне снес крышу окончательно. Я начал работать во всяких рекламных и около-рекламных агентствах. То есть мой основной способ изучения разработки — это наставничество. Мне показывали, рассказывали, я повторял, писал какие-то штуки сам. А сейчас все новые технологии — это привет YouTube и Coursera.
Ф: — То есть ты столкнулся с разработкой, потому что она потребовалась тебе как инструмент?
А: — Она не то чтобы мне адски потребовалось — она мне упростила жизнь. Социологические исследования можно было обрабатывать во всяких программах типа SPSS, но выглядят они как страшнющий продукт компании 1С начала 90-х годов. А когда Python решает твою задачу написанием пары скриптов, на душе легчает.
С: — У меня образование это кибернетика и математические методы в экономике, всякая статистика — то, что сейчас называют data science. Я работал в Питере в компании, которая занимается аналитикой в рекламе (RTB), прогнозирует, как клиенту закупить ее в интернете оптимальным способом. Я занимался там аналитикой, писал на Python и на языке R для статистической обработки.
Меня всегда парило, что я напишу какой-нибудь скрипт, но реализовывать потом все равно должны разработчики. Я сам, своими руками захотел делать эти вещи. Так увлекся разработкой, устроился джуном в небольшое бюро, которое делает все полностью под ключ — фронт и бэк. Там у меня были знакомые, они взяли меня без собеседования. Я сказал, что примерно умею, но в целом не знаю ничего и очень хочу учиться.
Ф: — Мне кажется, у вас обоих достаточно крутой кейс. Вы пришли в разработку не потому, что хотели быть разработчиками до того, как поняли, каково это — а сначала попробовали, вам вкатило и потом решили учиться.
С: — Да, я учился в питерском физмат лицее. Ребята оттуда идут, например, в ИТМО, становятся призерами ACM. Там многие сидели в кружках до 11 вечера. Учителя были дико заряженные.
А у меня совершенно интереса к этому не было. Думал, раз я не сижу до ночи, как остальные, значит программирование не по мне. Но раз уж 10 лет потратил на физмат лицей, надо выбирать что-то более-менее техническое. Так и выбрал среднее — математику в экономике. Но тогда осознанности никакой не было, осознанность пришла позже.
О преподавании в школах программирования
— Вы работаете тем, что преподаете на курсах по программированию?
С: — Все мы так или иначе преподавали. Мы вообще познакомились в Moscow Coding School. Это школа, где как правило обучают новичков азам чего-либо.
Ф: — Можете рассказать как устроены эти программы?
А: — Сейчас они устроены несколько иначе, чем когда мы познакомились. Тогда это был исключительно офлайновый формат, сильно практико-ориентированный. Обычно это было шесть дней интенсивов по выходным. Пять часов ты кодишь каждые выходные в течение трёх недель, получаешь кучу микро-проектов походу и один более-менее готовый в конце.
В этой школе атмосфера была очень клевая. Сейчас она стала только онлайновой, поэтому об атмосфере уже не поговоришь. А тогда там играл репчик, приходили люди из креативных индустрий — дизайнеры чтобы научиться верстать, или дизайнеры, научившиеся верстать, приходили учить JS, чтобы фигачить интерактивные макеты. Это было довольно задорно, весело и круто.
Нас по сути соединило вместе то, что мы поднимали детское направление.
Ф: — Расскажете, с какими стеками знакомы?
С: — Основной язык, с которым работаю — это Javascript. Я пришел в бюро, у которого такой довольно стартаперский стек. Мы делаем новые небольшие проекты. У нас фулстек JavaScript, React с Redux на фронтэнде, Node.js и немного Ruby на бэкенде. В mobile это в основном Java и Swift, где-то год назад начали использовать React Native.
А: — У меня тоже все вокруг JS. Я Vue.js люблю, немножко django умею.
Ф: — А с типизированным JS работаете? FlowTypes используете?
С: — Да, используем. Мы вообще развиваем свой опенсорс в бюро, где я работаю. Он пока еще не очень известный называется Microfleet — это тулкит для создания своих микросервисов. Они у нас в продакшене работают где-то пять лет, и мы решили все выкатить на опенсорс. Там мы все типизируем на Flow. Тулкит пока не очень популярный. Я начал им заниматься, и у меня ушла где-то пара недель, чтобы погрузиться в кодовую базу. Многое не задокументировано, порог входа довольно высокий, а такие проекты, как правило, в опенсорсе не популярны. Но дальше в компании мы будем развивать свой собственный опенсорс бренд.
Ф: — Никогда не было ощущения, что не хватает знаний для преподавания?
С: — Нет, мы же детям преподаем, это другой порядок сложности. У нас краткосрочный интенсивный курс для новичков, мы не уходим дальше верстки.
А: — А верстаем мы все офигенно.
— Но в школе вы же не только детям преподавали.
С: — Здесь я стараюсь искать для себя какой-то интерес, преподавать вещи, которые не знаю сам. JS я как правило не преподаю. Почти год назад я ездил в армянский центр креативных технологий «Тумо». Мы запартнерились со стартапом, который делал сенсоры, считывающие разные биометрические данные человека — кардиограмму, миограмму, кожно-гальваническую реакцию, электроэнцефалограмму, альфа бета волны.
И я поехал туда с таким курсом для детей несмотря на то, что вообще ничего не знал. Просто на два месяца погрузился в тему, и мы с ребятами разработали программу, как считывать данные человека, как эти данные преобразовывать, как на основе этих данных делать выводы. Даже как делать различные приложения. Например считываешь данные человека при помощи этих сенсоров, формируешь некий профиль, как человек в данный момент себя чувствует, и обращаешься к api того же Spotify, чтобы он на основе этих данных предложил тебе музыку.
Ф: Не было такого кейса, что научил чему-то, а потом понял, что ошибался и научил не тому?
А: — Ну… у меня было такое с JavaScript. Но не критичное. Так, минорные баги. Конечно, если рассказываешь про асинхронность, то её надо бы вкатить получше.
С: — У тебя было, что ты не рассказывал про синхронность и что-то не понимал?
А: — Да, да. Я там накосячил, потом пришлось писать большой пост всем студентам. Мол, ребята…
С: — … я был неправ.
А: — Не то, что не прав, так, поправил ключевые тезисы.
Ф: — Ну, никто не застрахован.
А: — Бывает, что рассказываешь с практической точки зрения, а в процессе залезаешь в фундамент, который у тебя достаточно шаткий. Потом читаешь статью, которая лучше рассказывает первопричину того, что ты используешь на практике каждый день. И понимаешь, что не точно выразился.
Чему и как «Кружок» учит детей
Детей вы сейчас учите HTML/CSS, верстке. Почему из всех программ выбрали именно эту?
А: — Детям интересно, когда результат быстрый, и прямо на месте. Так как они почти все нулевые, им нужно что-то простое, вызывающие внутренний вау-эффект. Нужен инструмент, который позволяет рассказывать своими словами о том, что им интересно — это веб, картинки, html, CSS и вся вот эта красота.
На нулевом этапе они мало заинтересованы в продумывании логики взаимодействий, интерактива. Им нужно быстро выплескивать свое творчество на монитор ноутбука. Верстка дает очень простой вход в технологии. Они легко перестают бояться кода, понимают, что от идеи до реализации полшага.
— Неужели им не интереснее было Python в Майнкрафте изучать?
А: — Там нет такой обширности самовыражения. В Майнкрафте ребёнок вряд ли сам придумает проект про рыбу сазана — ему просто нравится ловить ее в реке. Если он будет привязан к тому, чтобы построить здание, сделать движущийся объект — это увлекательно, он там не своими словами говорит.
Мы же едем в эти города раскрыть детей, дать им способ сказать о своем районе или о своих увлечениях — своими словами. Мы могли бы, наверное, какие-то более графичные штуки применять, которые также легко заходят, типа p5.js. Но это была бы визуализация, иллюстрация, а сайт есть сайт. Они каждый день общаются с сайтами, им понятен результат, и понятно, в какую сторону двигаться.
— Ну а как же робототехника?
А: — Это кайф, но тут нужно железо закупать, а денег у нас нет.
С: — Проблема в том что надо постоянно ездить с этим оборудованием, собирать его, проводить на нём курсы, а потом увозить. И это странно — дети ничего не смогут продолжить делать сами.
Плюс есть такой момент в робототехнике: ты закупил ряд компонентов, с ними сделал все возможные проекты, и тебе нужно покупать что-то новое. Для этого нужны деньги, а там, куда мы едем, не у всех есть возможность тратить много денег на свое обучение. Им пришлось бы заказывать компоненты из-за границы или как минимум из Москвы. Этим вряд ли кто-то будет заниматься.
Ф: — Перед тем, как делать курс, вы как-то систематизировали свои знания?
А: — Перед «Кружком» мы уже много раз читали эти курсы, так что, пожалуй, этого не требовалось. А изначально процесс создания курсов конечно этого требует. В «Кружке» систематизация была скорее в том, как это уложить в максимально краткосрочный формат — чтобы успеть за семь дней финализировать проект, сделать его красивым и эффектным.
Документальный фильм о поезде «Кружка» в село Глазок
Ф: — Обучали учеников гуглить все эти вещи? Говорили, что можно читать спецификации?
А: — Конечно! «Найти все в Google» — это лейтмотив. У Серёжи из нашей команды есть огромная проникновенную речь, которую он произносит в конце. Если у вас есть инструмент и возможность искать что-то в интернете, вы можете за неделю свернуть горы. А если ещё есть люди, которые вас в этом поддерживают — то вообще красота!
С: — Мы пытаемся донести до ребят, что умение гуглить — это очень важный навык. Зачастую даже на взрослых курсах Moscow Coding School перед нами оказывались люди, которые просто-напросто не умеют этого. Они или боятся сайтов на английском языке с кодом, или еще чего-то.
Всегда есть страх заговорить на английском. Но когда ты начинаешь говорить, даже если у тебя не очень с грамматикой, страх уходит. Также и с умением гуглить, читать документацию — надо преодолеть, а потом все идёт очень классно. Нужно не бояться гуглить и читать на английском.
Ф: — Объясняете ученикам, как все устроено внутри?
А: — Да, в первый день они практически не сидят за компьютером. Мы просто показываем что-то на проекторе, играем с ними в игры, так или иначе связанные с устройством веб-сайтов. Говорим, что такое клиент, сервер, IP-адрес. Есть набор методологических игрушек, который мы используем в первый день, чтобы ввести в контекст среды, где им предстоит работать. Они, например, сами придумывают себе IP-адреса и тд.
С: — Но с этим главное не затянуть. Естественно, мы не зарываемся в подробности работы движков внутри браузеров. Когда дети что-то не понимают, они очень быстро угасают. У нас есть начальный теоретический блок, но в целом мы исповедуем наложение теории на практику — когда ты что-то сделал, что-то получилось и потом мы объясняем, что это такое было. Если мы будем объяснять все азы, всю теорию, а только потом начинать писать код, то все дети просто разбегутся.
Об ответственности и будущем
Ф: — Вам не кажется, что ввод в IT-сферу через верстку может создать проблемы в будущем? То есть, вы предопределяете направление, в котором они будут работать дальше.
А: — Ну, вопрос понятен. Я думал о нём…
Нет, мне кажется, это не создает проблем. Интернет будет всегда. Это уже новая грамотность, сайт должен уметь сделать любой выпускник школы. Это должно быть как презентацию в Power Point накидать. Я бы даже это не связывал с входом в IT мир. Мы просто даем базовый навык, который ещё при этом интересен, и снимает барьер того, что символы в текстовом редакторе могут превратиться в нечто другое.
С: — Сейчас мы рассказываем про веб, но возможно в будущем будем расширяться. А возможно наш пример вдохновит кого-то, кто сделает в своем городе курсы не касающиеся веба.
То есть, у нашей истории есть ещё функция вдохновить других энтузиастов, чтобы они организовали что-то похожее в своих городах. И мы им с удовольствием поможем.
Ф: — А как думаете, многих можно заинтересовать разработкой не только пользовательских интерфейсов?
А: — Нулевых? Можно конечно, но я бы не взялся. Это был бы прикольный челлендж. Нужно было бы прорабатывать курс минимум год, чтобы получилось интересно лезть в бэк с нуля.
Ф: — Будет проблема с мотивацией?
А: — Я не думаю, что тут проблема в мотивации. Их мотивируют вещи совершенно не учебные — Саша классно в футбол с ними играет, и поэтому им хочется к нему на кодинг завтра. Или их просто мотивирует то, что мы кодим смешные штуки. Например, Серёжа задал на дом посмотреть три мемаса в интернете.
Мотивация этих студентов очень привязана к персонам преподавателей. Их больше вдохновляет не то что мы кодим, а то, как мы с ним себя ведём. На фоне этого все становится достаточно весело и интересно.
— Вы ведь это всё делаете бесплатно?
А: — Да, дети за это ничего не платят.
— Получается вам это не просто интересно — в это прямо верите?
А: — Конечно! Это очень важно!
— А почему важно?
А: — Вообще все становится понятно когда в первый раз приезжаешь в какой-нибудь город, и тебе говорят: «знаете, если бы вас не было, я бы никогда этого не сделал. Этого никогда бы со мной не произошло». После такого наступает переломный момент. Я лелею мысль, что где-то в селе Глазок растёт Илон Маск. Если я приложу к этому руку, помогу ему, то жизнь прожита не зря.
С: — Мысль, которая меня движет, тоже пришла где-то во время Глазка. Я уже говорил, что жизнь человека предопределена, местом где он родился, обстоятельствами, внешним давлением. Если рядом есть колледж РЖД, то большинство детей становится железнодорожниками. Это предопределено с самого детства.
Есть ощущение, что надо врываться каким-то другим историям, составлять детям — пока они не зашоренные — более полную картину мира. Говорить, что у них есть выбор. Может быть, этот выбор позволит им прожить более счастливую жизнь.
Нужно доносить новый кругозор до места, где его нет.
— У вас есть ощущение ответственности за них? Их путь был предопределен, а вы приехали и, возможно, его изменили.
А: — Я чувствую… ты же находишься семь дней с этими детьми, и часто ты даешь жизненные советы даже не по поводу кодинга — а по поводу того, как быть нормальным человеком. Некоторым ребятам в Дагестане надо было объяснить, что драться — это не очень хорошо.
Ф: — Как вы думаете, быть разрабом — круто?
А: — Да.
С: — Да, это круто
Ф: — Почему?
А: — Потому что ты творец. Ты точно созидаешь, а не разрушаешь. Потому что ты используешь мозг на том уровне, который ему положен. Потому что это стимулирует тебя постоянно учиться и быть лучше.