«Начинайте с митапов», или Нужны ли вообще курсы по программированию
В этом посте — расшифровка с избранными моментами из выпуска Python Junior Podcast, записанного на конференции Moscow Python Conf++: поговорили о методиках преподавания Python и о том, нужны ли вообще курсы по программированию.
Главные темы:
- Что мотивирует людей идти на курсы по программированию?
- Есть ли жизнь работа после курсов?
- Чем отличаются онлайн-курсы от офлайновых?
- Кому они будут полезны, а кому обучение до лампочки?
- Как выбрать курс и с чего начать учиться программированию?
Python Junior Podcast — подкаст о программировании для тех, кто хочет лучше разбираться в Python. Эфиры ведут евангелисты сообщества MoscowPython и преподаватели курсов Learn Python.
В разговоре участвовали:
- Валентин Домбровский, сооснователь MoscowPython
- Григорий Петров, евангелист MoscowPython
- Александр Синичкин, тимлид в UseTech, спикер и преподаватель GeekBrains
- Илья Лебедев, евангелист MoscowPython, сооснователь школы программирования Learn Python
Почему люди идут на курсы
Валентин Домбровский: При каких условиях курсы вообще могут работать? С точки зрения организации и с точки зрения самого человека. Понятно, что курсами просто так в человека не вложишь знания и навыки, если он этого не хочет.
Илья Лебедев: У тех, кто проходит курсы, разные цели. И далеко не всегда цель — устроиться на работу. По статистике, которую я в свое время собирал из разных источников, цель «устроиться на работу» даже не в первой тройке. Обычно чувакам по фану идти учить что-то новое, или это для них вариант интеллектуального времяпрепровождения.
Далеко не все ходят на курсы, чтобы сменить работу.
Если же говорить именно о смене работы, то в нашей отрасли с этим все плохо. Чтобы устроиться на работу сразу после курсов, нужна доля удачи или стечение обстоятельств.
Почти нет мест, куда ты можешь прийти, отдать деньги, время, а на выходе получить знания и умения, которые нужны, чтобы пройти собеседование в и устроиться на работу. Или даже не почти — их просто нет. Я не знаю ни одного сервиса, который обещает подобное.
Григорий Петров: Я несколько дней назад записался на курс общей биологии, который рекламировали на Хабре. Понятное дело, я никогда не буду биологом, но в моей картине мира этот курс как раз конкурирует с сериальчиками, книгами и так далее. Каждое утро я трачу 15 минут на курс, 15 минут на книги.
Курсы по программированию конкурируют не с вузами и не со стажировками, а с митапами и сериальчиками.
Илья Лебедев: У меня есть статистика курсов, которые стоят дороже 20 тыс. руб., и туда действительно меньше 20% участников идут с целью поменять работу в течение полугода.
Все зависит от разных деталей. Сейчас мы говорим о курсах не для джунов, а уже для advanced. Народ идет с такими мыслями: «Я программист на Python, работаю с Django, мне это в кайф. Я хочу этим заниматься, не только сидя дома за ноутбуком: я хочу еще пообщаться с прикольными ребятами и найти что-то по-настоящему клевое, что мне потом зайдет».
Вместо того чтобы самому болтаться по Хабру и Google, они идут в какое-нибудь место, где уже есть curated content и есть тот, кто ответит на все вопросы. Это концентрированный способ самообучения.
Александр Синичкин: На такие курсы идет уже более или менее опытный человек. Он уже окунулся в мир программирования и знает, что в первую очередь он должен делать всё для обучения: читать документацию и те материалы, которые ему присылают.
Хотя есть обычные студенты, которые приходят в институт, сидят на парах, рисуют в тетрадке и думают, что получат корочку — и у них будет работа. Я очень часто встречал таких.
Эффективны ли курсы по программированию
Илья Лебедев: Есть чуваки, которые ждут, что в них вложат знания. Ими никаким курсами не поможешь. Они будут сидеть и ковырять в носу, им эти курсы бесполезны. А тем, кто проактивен, и курсы не нужны, потому что они сами с усами.
Курсы помогают сэкономить ресурсы.
Тут можно прийти к мысли, что вообще никакое обучение не нужно и всё это от лукавого, только чтобы бабла срубить. На самом же деле история про «немного сэкономить время» — это зачастую не немного, а очень много. А еще получить ритм, дедлайны, уверенность в себе, знакомства и еще много-много плюсов.
Григорий Петров: Я изучаю японский язык, и мне очень нравится приводить его в качестве примера. Я учил его несколько лет самостоятельно, перебирал разные способы. Нанимал преподавателя, несколько месяцев с ним занимался, пробовал расхваленный Genki. А пару месяцев назад я нашел сервис WaniKani, уже довольно старый. Начав заниматься по нему, я понял: вот так надо обучать японскому.
Теперь я с WaniKani сижу по 15–30 минут в день, у меня прогресс, и у меня вообще все замечательно. И что я делал несколько лет до этого? Самостоятельно выбирал разные варианты, гадал и потерял много сотен часов.
Александр Синичкин: Курсы не очень справляются со своей задачей. Слишком мало дается на курсах, чтобы можно было поставить человека на реальный проект.
Вам действительно очень повезет, если вы найдете место стажера в реальной компании на реальных проектах. Это самый эффективный способ: вас кидают в воду, и вы плывете. Под присмотром, но плывете и сами пытаетесь выкарабкаться.
Это не какие-то учебные проекты, когда можно что-то поломать и не париться, не думать о качестве кода или его оптимизации. Тут действительно приходится самому быстро до всего доходить.
Один месяц работы заменит полгода или год курсов.
Мои стажеры приходят ко мне после курсов и через месяц говорят: «То, что я до этого писал, — такой ужас! Мне этот месяц дал намного больше».
Какими бывают форматы курсов
Григорий Петров: Сейчас очень много форматов курсов. Есть неинтерактивные форматы, где только текст. Есть форматы, где мы смотрим видео, читаем текст и сдаем экзамены, а-ля Coursera. Есть более интерактивные, где мы общаемся с живыми преподавателями. Это всё онлайн.
И есть разные офлайн-школы программирования, где мы изучаем всё либо частично онлайн, либо частично офлайн. Больше десяти разных вариантов.
Александр Синичкин: Еще курсы отличаются размером. Есть короткие вебинары и воркшопы, где за два часа освещается маленькая тема. Есть 10 уроков по какой-нибудь одной теме, например Django, где обучают, как создать с нуля небольшой интернет-магазинчик. И есть объемные курсы, которые ведутся несколько месяцев, где достаточно плотно сбитая программа: не только Django, но и смежные темы, тот же JavaScript, и deployment.
Григорий Петров: В Москве будут разворачивать новую инициативу — Bootcamp. Это когда берут живого человека и на три месяца сажают в лагерь, где по 10–12 часов в день он и такие же высокомотивированные люди обучаются, обучаются, обучаются и больше ничем не занимаются. Этот формат сейчас мегапопулярен в Штатах.
После учебы в «буткэмпах» на работу программистами устраивается чуть ли не больше 80% участников.
Да, Илья, я давно хотел спросить. Когда я открывал у вас поток Learn Python, я с удивлением узнал, что курс бывает офлайновым и онлайновым. Как мне показалось, они по сути ничем не различаются. Скажи, какая между ними разница — по статистике, по ощущениям.
Илья Лебедев: Когда ты учишься онлайн, ты меньше участвуешь в общей движухе, и поэтому тебя нужно чаще подпинывать, чаще устраивать общие созвончики. Процент «отваливаемости» в онлайне выше, поэтому для онлайна нужно устраивать больше совместной активности. У нас есть еженедельные общие созвоны, где все рассказывают о своем прогрессе, и созвоны отдельно по проектам.
Как выбрать курс по программированию
Валентин Домбровский: Что важно учитывать при выборе курса? Как понять, подходит ли курс, подходит ли преподаватель, на что стоит обратить внимание?
Александр Синичкин: Желательно, чтобы были доступны какие-нибудь материалы преподавателя в бесплатном доступе, чтобы посмотреть их, перед тем как записываться. Это нужно, чтобы понять, как человек доносит свою точку зрения, насколько доступно объясняет. Обратите внимание на то, как он показывает что-то, если это интерактив, как пишет код.
Тем, кто вообще не шарит в этом, первое время очень сложно вообще понимать наш язык, айтишный сленг. Надо обращать внимание на то, как человек доносит информацию. Можно ведь говорить на сленге, но при этом всё будет понятно из контекста.
Если вы не понимаете преподавателя, то, даже заплатив за курс, вы все равно не станете его понимать.
Григорий Петров: Есть мой любимый «кошелек Миллера» — закономерность, согласно которой наш мозг может держать в фокусе внимания одновременно 4–5 новых штук.
Поэтому выписывайте в блокнотик, сколько новых штук ввел преподаватель на протяжении 10-минутного интервала. Если их в районе 5–7, всё хорошо. А если их 20–30, то, возможно, преподаватель — великолепный специалист, но, знаете, Эйнштейн был очень фиговым преподавателем физики.
Илья Синичкин: Я тут побуду оппонентом и скажу, что все это фигня и не работает. Предположим, вы решили приобрести какой-то из курсов, которые веду я. Вы гуглите «илья лебедев питон». Находите мое выступление на каком-нибудь митапе и смотрите его. Что вы из этого узнаете? Узнаете, как я готовлюсь к занятиям? Нет. Узнаете, как я веду занятия? Тоже нет, потому что это совсем разные форматы. Даже если формат такой же, возможно, прошло несколько лет и с тех пор многое изменилось.
Вы можете погуглить отзывы о предыдущих наборах курса. Но всегда есть как супернедовольные ребята, так и слишком довольные. Истина где-то посередине. Того количества комментов, которые нужно собрать, чтобы получить репрезентативную выборку, скорее всего, не будет.
Когда я думаю, как найти надежный способ оценить качество учебного мероприятия, мне приходит в голову только один — пойти и поучиться там.
Возможно, получится записаться не на весь курс, а на какое-то количество занятий. Если не зайдет, то уйти оттуда. Это единственный способ, который работает в случае со мной.
Валентин Домбровский: Наш подкаст проходит при поддержке Learn Python. По авторской методике Ильи мы и устроили свои курсы. Ты можешь записаться, сходить на первое занятие, но нужно внести предоплату. А потом, если тебе не нравится, мы вернем деньги. Илья, есть статистика, сколько людей у нас отваливается после первых занятий?
Илья Лебедев: Один, максимум два человека. Но за 10 наборов было только два или три случая, когда студент не сошелся с куратором. Все остальное — это когда на людей реально наваливались какие-то личные и рабочие дела и у них не находилось времени на курсы.
Какая роль у куратора курса
Григорий Петров: Илья, у меня детектор «кошелька Миллера» пощелкал. Ты ввел новый термин — «куратор». Расскажи немного, это кто такой?
Илья Лебедев: Подойду со стороны классификации курсов. Важная тема — какую долю внимания преподавателя получает каждый студент. С одной стороны, находятся какие-нибудь вузовские потоковые лекции, куда приходит один умник и начинает что-то втирать двумстам студентам, которые сидят в аудитории.
А с другой — это какая-то менторская история, когда я два раза в неделю встречаюсь с сеньором того языка, который учу. У него нет программы, он специально подстраивается под меня.
Найти сеньора, который умеет круто преподавать, — это тот еще геморрой, и стоит он как настоящий разработчик.
Лучше быть ближе к менторской истории, чем к потоковой. И у нас курсы устроены так, чтобы, с одной стороны, каждый студент получал как можно больше внимания, но с другой — курс не стоил конских денег. У нас весь поток делится на небольшие группы по 3–7 человек. К каждой приставляется свой преподаватель, который и называется куратором.
Валентин Домбровский: У нас нет профессиональных преподавателей, у нас именно люди, которые занимаются практикой.
С чего начинать учиться программированию
Валентин Домбровский: Если человек хочет научиться программированию, но никак не может на это решиться, что вы ему посоветуете?
Григорий Петров: Надо просто начать делать первые шаги. На мой взгляд, лучший первый шаг — это приходить на митапы.
Человек хочет научиться программировать в какой-то области. Он смотрит, какие есть митапы в его городе по этой теме. Далее он приходит на митап, слушает, общается. Там обязательно будут организаторы — специальные люди, которые нужны, чтобы общаться и отвечать на вопросы.
Подходит к ним: «Привет, я приехал из Тулы, работаю продавцом в «М.Видео». Меня всегда завораживала работа программиста, но я очень боюсь, потому что я не изучал в школе математику».
И тут на него выбегаю я с криками: «Математика программистам не нужна! Чувак, там вообще не будет ничего, кроме плюса и минуса! Если тебе нравится Python, бери вот эту книжку, начинай читать. А если у тебя будут вопросы, вот тебе моя визитка, пиши».
Александр Синичкин: Вспоминаю себя. Придя на первый митап, я очень стеснялся. Вроде как умные люди тут стоят, говорят умные вещи. Я, продавец из «М.Видео», подойду, и что мне сказать?
Я бы посоветовал попробовать найти в своих задачах постоянно повторяющиеся паттерны. Я начал именно с такого. Написал маленький скрипт, он был ужасен.
Ваш первый код будет ужасным, это нормально. Просто это первый шаг.
Главное, чтобы был интерес. Дальше уже пойдут и митапы, и хороший код, и курсы.
Илья Лебедев: Как-то раз я пришел на митап MoscowPython и послушал доклад, который назывался «Зачем разработчику интернет-магазин». Разработчик рассказывал, как он после работы приходит домой, надевает плащ и шляпу и делает свой интернет-магазин: закупки, склад, продажи, маркетинг.
После доклада я его спрашиваю: «Чувак, что делать, если все это круто, хочется, но иногда не можется? Я после работы, я устал, мне лень». Он говорит: «Не делай. Не хочется — не делай. Смотри сериал».
Тогда мне это показалось дикостью, и очень депрессивной. Мол, есть люди, которым хочется, а я не из таких, у меня нет этой суперспособности. Сейчас я к этому гораздо спокойнее отношусь и понимаю, что это офигительно правильный совет. Если не хочется, то не надо этим заниматься. Может быть, вам нравится макраме.
Валентин Домбровский: У меня последний вопрос. Александр, оказавшись перед Гвидо, что ты ему скажешь?
Александр Синичкин: Я как можно сердечнее постараюсь его отблагодарить за то, что он создал такую вещь, которая сейчас составляет существенную часть моей жизни. И надеюсь, это прозвучит искренне.
Илья Лебедев: Я скажу, что он крутой, потому что он создает тренды, а не копирует их.
***
Это лишь часть выпуска Python Junior. Полную версию эпизода можно послушать.
Или даже посмотреть:
RSS подкаста
Спасибо, что прочитали, послушали или посмотрели.