Добрый день.
С весны 2014 года я совмещаю разработку в области BI и преподавание основ программирования на вечерних курсах профессиональной (пере)подготовки. За четыре года у меня сложилась определенная классификация слушателей. Далее я в общих чертах расскажу какие люди встречаются, какие проблемы у них возникают, как их можно решить. Ну и в качестве бонуса: как на собеседовании распознать в слушателях вечерних курсов потенциальный талант.
Допускаю, что такая классификация актуальна только в моем контексте, поэтому немного расскажу об организации. Курсы проводятся очно. Занятия начинаются примерно в 18:00 по местному времени. Чаще всего раз в неделю. Время, отведенное на обучение, варьируется от 7 до 30 занятий и зависит от платежеспособности и желания студента. Стоимость одного занятия студенту обходится примерно в 900 рублей. У нас нет даже формального отсеивания студентов. Кто хочет учиться, с тем и работаем.
Если вам это интересно, добро пожаловать под кат.
Работяги
Работяги — это мужчины и женщины, которые в данный момент работают по какой-нибудь другой специальности на полную ставку. Например юрист, бухгалтер, сисадмин или телефонный оператор. Хирургов и таксистов пока не встречал. Типичная мотивация работяги звучит так: «Моя нынешняя работа меня не устраивает и хочу сменить профиль», «Я хочу переехать, а в <страну> пускают только программистов и врачей» или «Начальство поставило задачу — разобраться самостоятельно». На основной работе у них время от времени случаются авралы или корпоративная шиза. Это выражается в том, что могут часто переносить занятия или приходить на занятие в необучаемом состоянии. У некоторых работа вахтовая и они могут пропадать на месяц и потом возвращаться.
Как выделить время на учебу в своем распорядке дня?
Обращение к работягам — ищите время. Работягам с постоянной занятостью поможет только понимающие родственники и воспитанные дети. Если дома удастся хотя бы на пару часов в неделю создать рабочую атмосферу, то курсы не пройдут зря. Можно попробовать применить знания на нынешней работе. Правда нужны не курсы программирования вообще, а что-нибудь приближенное к жизни. Например по продвинутому Excel или по SQL. Любопытно, что наилучший прогресс у тех, кто работает вахтами или просто просиживает штаны на рабочем месте. Образно, продает мороженое зимой.
Обращение к работодателям — узнавайте как соискатель организовал свое время на самообучение. Если человек работал полный день и потом смог еще заниматься вечером, то он *весьма* устойчив к переработкам. Если соискатель занимался самообучением непосредственно на прошлом рабочем месте, то он при выборе из «бездельничать» и «развиваться» выбирает второе. При непредвиденных простоях в работе, он будет и дальше вкладывать время в свои навыки.
Как пережить временное падение заработной платы после смены профессии?
Обращение к работягам — подумайте еще раз. Зачем вам столь кардинальная перемена, как смена профессии? Может быть нужно сменить не специальность вообще, а место работы? Может быть лучше переехать в другой город? Может быть, в конце концов, нужно немного подтянуть навыки на нынешней работе? Если уж вы твердо решили все менять — готовьте большую финансовую подушку: кушайте попроще, перестаньте ходить в любимый бар, пересядьте с личного автомобиля на общественный транспорт или на велосипед. Ну а если вы не готовы даже к таким небольшим переменам, как вы представляете себе смену профессии?
Обращение к работодателям — узнайте как человек будет жить после ухода с нынешней работы. Здраво ли он оценивает свои ресурсы на ближайший год?
Емели
Емели отличаются от работяг тем, что еще нигде не работали. Они получили диплом или даже несколько, но еще не устроились. Главная причина — личная пассивность. Емели даже на курсы приходят не сами, а с родителями или от службы занятости. На занятиях они не задают никаких вопросов. Регулярно занимаются «медитацией» глядя на экран. Прогресс по задачам происходит только если я сижу рядом и задаю наводящие вопросы. Абстрактный материал не доходит вообще. Домашнее задание, как правило, не делают, причину выяснить не удается. Любопытно, что емель-девушек я ни разу не видел.
Куда пристроить любимое чадо?
Обращение к родителям — развивайте его личные, НЕпрофессиональные навыки. В любой работе от сотрудника требуются коммуникабельность, ответственность и т.п. по списку. Ставьте ему задачи хотя бы по дому и добивайтесь, чтобы он сам их выполнил. Ни в коем случае не переделывайте. Отправьте в армию, если вы еще не купили военник. Устройте на работу агентом какой-нибудь МЛМ компании, они проводят подходящие бесплатные тренинги из своего шкурного интереса.
Выпускники
Есть и другая категория безработных — Выпускники. Они либо заканчивают обучение, либо не так давно закончили учиться “на программистов”. Выпускники считают, что для устройства на работу им не хватает знаний. Они могут помнить что такое ветвление, цикл и массив, но им не всегда удается решить задачу с их помощью (а задачи у меня простые). Об ООП они когда то слышали, но не поняли. При просмотре вакансий, они видят кучу непонятных слов. Причем в каждой вакансии слова разные. А еще есть вакансии эникейщика в сомнительные конторы со случайным набором терминов. Выпускники могут даже ходить на какие-нибудь бесплатные конференции. Но там люди тоже выдают кучу непонятных слов из своего узкого рабочего контекста, что совсем не добавляет ясности.
Я получил диплом. Что дальше?
Обращение к студентам — научитесь решать практические задачи. Найдите список задач для проекта и выберите себе что-нибудь по вкусу. Если ничего не находится и не приходит в голову — напишите мод к своей любимой игре, сделайте бота для мессенджера.
Обращаться к работодателям не вижу необходимости. Бывшие выпускники «фундаментального образования» и так в центре внимания.
Домохозяйки
Четвертую категорию лучше всего назвать Домохозяйки. Как вы можете догадаться, это в основном женщины. Курсы программирования для них это что то на уровне курсов кройки и шитья или лепки из глины, или семейной психологии. Устраиваться на работу по этой профессии они не собираются, но занимаются довольно усердно и домашнее задание выполняют добросовестно. Любопытно, что с домохозяйками можно запросто все занятие проболтать на тему, не связанную с самим курсом, и они уйдут довольные. Когда студентов у меня было мало, домохозяйки встречались часто. Когда студентов стало больше, чем моего времени, им начали предлагать курсы фотошопа или верстки веб-страниц.
СЛОЖНА
Представителей пятой категории я вижу периодически с запуском больших групп студентов. Причем вижу недолго, потому что вскоре после начала такие студенты перестают ходить на занятия. Они приходят на очные занятия в первую очередь потому, что самостоятельно с материалом по учебнику или видеоурокам, или с умным товарищем они не справились. Это очень влияет на их уверенность в собственных силах. Некоторые чуть ли не с порога заявляют, что студента тупее, чем они, я еще не встречал. Любая мелкая ошибка в ходе обучения только подкрепляет эту неуверенность. А ведь умение ошибаться и пробовать дальше в поисках решения — очень важно для разработчика. Я стараюсь донести мысль о том, что ошибки случаются часто и с ними нужно просто работать. То есть читать само сообщение об ошибке и думать о причинах возникновения.
Стоит отметить важность приемочных тестов и подробного условия задачи. Студентам важно видеть, что у них *действительно* получается, тогда им будет проще осваивать более сложные материи. В некоторых случаях лучше дать две задачи, чем одну зубодробительно сложную.
И все же такие студенты иногда уходят не закончив обучение. Причин несколько. Может быть дело в недооцененной сложности обучения. Возможно с некоторыми из таких студентов я где-то недоработал или не рассчитал нагрузку. Это мои ошибки, которые невозможно исправить, но можно учесть в будущем. Благодаря таким студентам я сам развиваюсь как преподаватель и улучшаю свои учебные материалы. Однако всех научить нельзя. Упрощать учебные материалы ниже определенного порога становится бессмысленно. Если человек на курсах понял, что программирование ему не подходит — это даже хорошо. Возможно он быстрее найдет себя в другой области.
Обращение к студентам — не сдавайтесь при первых трудностях. Преподаватели тоже люди. Задавайте вопросы, просите перефразировать материал, если вам что-то не понятно. Да, это может быть сложно. Помните, что моменты «я ничего не понимаю» будут всегда. Нужно просто научиться справляться с ними.
Про всех понемногу
Некоторые особенности обучения слабо связаны с мотивацией и основной занятостью.
В каком направлении на самом деле развиваться?
Обращение к студентам — разберитесь кто чем занимается. Реальных направлений в IT — множество. «Программист» это обывательское понятие. Есть даже анекдот такой: «Программист — это человек, который решает проблему о которой никто не знает таким способом, который никто не понимает.». Если разобраться кем на самом деле можно работать, то в океане информации из Интернета можно будет разглядеть крупные течения и плыть по ним.
Как на курсах получить такой объем знаний, которого хватит для устройства на работу?
Никак.
Обращение к студентам — занимайтесь самообразованием. У вас не хватит денег на такие курсы, где вас действительно подготовят к трудоустройству. Просите у преподавателей совета и примерное направление. На вечерние занятия лучше приходить ради консультаций, а не ради решения какой-то частной задачки.
Обращение к работодателям — узнавайте что человек усвоил самостоятельно. Если человек изучил только материал самих курсов, но не интересовался миром за их пределами, то он и на работе будет плыть по течению.
Вы уверены, что умеете пользоваться компьютером?
Обращение к студентам — изучайте (или ищите курсы) по базовому администрированию компьютера. В ВУЗах и СПО это скорее всего заложено в программу. Самоучкам нужно рассчитывать только на себя.
Вам точно пригодится владение командной строкой, как один из базовых навыков администрирования. Может быть даже на вашей нынешней работе. Не исключено, что командная строка будет вас кормить в будущем. Включать освоение командной строки в каждый курс — непозволительная роскошь. Отсеивать при поступлении тех, кто не владеет ей, значит остаться без студентов. Как следствие — основные приемы работы с консолью остаются на самостоятельное изучение. Страдает компиляция без IDE `javac ExampleProgram.java`, работа с гитом `git commit -m “My first commit”`, а до `node myfirst.js` обычно даже дела не доходит.
Немногие знают как открывать “Проводник” в Windows. Мало кто имеет опыт работы с сетевыми папками. Это, конечно, мелочи. Но их много и от этого студентам может быть СЛОЖНА даже на первом занятии по программированию.
Другой полезный навык — быстрая печать и горячие клавиши. Печать не обязательно слепая и десятипальцевая, но для такой есть хороший тренажер. Вам скорее всего придется много писать и переписывать. Если вы будете выделять и копировать мышкой повторяющийся с небольшими отличиями фрагмент, то потратите ужасно много времени. Если вы будете писать короткие имена переменных из соображений экономии времени, то можете поймать проблемы с пониманием вашего собственного кода. А это приводит ко множеству ошибок, которые было бы неплохо избежать.
Вы уверены, что умеете вести записи?
Часто встречаю студентов, которые не умеют фиксировать информацию. Некоторые уникумы пытаются переписать с доски ВООБЩЕ ВСЕ, включая фрагменты кода. На это тратится довольно много времени. Хорошего конспекта при этом не получается. В получившихся записях работает только полнотекстовый поиск глазами. С этим можно бороться, если вовремя прерывать бесполезное копирование букв и в нужные моменты ставить задачу по записи информации в тетрадь.
Как предсказать результат от курсов?
При работе со взрослыми людьми подход так или иначе получается индивидуальный. Но при этом встает вопрос, а как предсказать результат?
Одно время я пытался использовать тест Равена для оценки потенциала студентов, но забросил это дело. Проблемы возникают либо в психологическом плане “у меня руки не из плеч, у меня никогда ничего не получается”, “она уже десятую лабу делает, а я только на шестой”, либо в организационном “Не было времени на домашнее задание. На работе аврал, а дома жена, дети, собака”. Однако я все таки общаюсь со студентами до подписания договора, чтобы оценить уровень знаний, выяснить пожелания, дать профессиональные ориентиры. Если нет определенных предпочтений, то стараюсь убедить вместо с/с++ или php взять java, либо c#. На этапе обучения в них существенно меньше подводных камней и неочевидного поведения. Некоторых желающих приходится отговаривать от курсов. Например когда человек хочет “сделать свой интернет-магазин”. За 40 часов на курсах с нуля на одном php они магазин сделать не научатся, а мое и свое время потеряют.
С удовольствием отвечу на ваши вопросы в комментариях.
Автор: akryukov