Как я преподавал программирование в колледже
Я работаю фронтенд-программистом уже больше трех лет.
За это время был наставником для стажеров в разных компаниях и преподавал экономику школьникам в частном образовательном центре. Мне всегда нравилось делиться своими знаниями с другими людьми. Поэтому в 2020 году я устроился преподавателем программирования в один из московских колледжей. Этот опыт помог мне самому глубже разобраться в предмете, а еще я улучшил навыки публичных выступлений, поработал в государственной организации и, естественно, заработал.
Расскажу, как все было.
Как и почему я стал преподавателем
О финансовой стороне вопроса я задумывался в последнюю очередь. Прежде всего я решил попробовать себя в роли преподавателя, чтобы закрепить собственные знания, а также прокачать так называемые софт-скиллы— например, навыки публичных выступлений и убеждения. Кроме того, мне в принципе было интересно оказаться на месте педагога перед полной аудиторией учеников.
Так как у меня уже была основная работа, я хотел преподавать дистанционно. В ИТ-отрасли с этим просто: программирование — востребованная сейчас сфера, поэтому в российском сегменте интернета много курсов, онлайн-школ и так далее.
Я понял, что мне было бы удобно делиться знаниями с другими людьми одним из трех способов:
- Записать свой курс для какой-нибудь образовательной онлайн-площадки — например, для «Курсеры», Udemy или «Степика».
- Стать педагогом или ментором в онлайн-школе, такой как Geekbrains, «Практикум» или «Толк».
- Устроиться преподавателем на дополнительные курсы в какой-нибудь университет или крупную компанию.
Последний вариант я считал оптимальным. Крупные компании часто организуют внутренние школы для молодых специалистов. Например, в «Т-Банк-финтехе» опытные сотрудники делятся знаниями с новичками. В результате педагог здесь работает с максимально мотивированными студентами.
Я обратился в свою компанию с предложением вести курс для программистов, но мне не ответили. Тогда я решил попытать счастья в одной из крупных онлайн-школ. Но там предложили лишь вакансию методиста, а мне хотелось работать напрямую со студентами. В итоге я начал просто смотреть вакансии в интернете и наткнулся на подходящее объявление: в один из московских колледжей требовался преподаватель программирования для школьников.
Несмотря на то что педагог требовался в колледж, учить предстояло школьников. Преподаватели требовались для государственного проекта «Профессиональное обучение без границ». Суть его в том, что любой московский школьник вместе с аттестатом может получить свидетельство о профессии рабочего или служащего с присвоением квалификации или разряда.
В списке профессий есть и оператор ЭВМ. Здесь школьников учат навыкам работы с компьютером, а еще в рамках программы можно осваивать в том числе и программирование.
Тестирование и трудоустройство
Вообще, требования к преподавателям прописаны в ст. 46 закона «Об образовании», но если коротко, то главное — это иметь диплом о среднем или высшем образовании, а также подтвердить свою квалификацию при трудоустройстве.
Я откликнулся на вакансию в начале 2020 учебного года. Через пару дней меня пригласили на собеседование в колледж. Оно состояло из двух частей: собственно разговора и проверки квалификации.
Я поговорил с заместителем директора колледжа по контролю качества образования. Вкратце описал, что делаю в веб-программировании, и рассказал про свой опыт преподавателя. Мы обсудили условия работы и обговорили, чему должны научиться дети, которые окончат курс.
Вторая часть собеседования — подтверждение квалификации. Для этого надо было пройти тестирование на сайте Московского центра качества образования. Тест оценивал мои компетенции именно в сфере ИТ.
Зарегистрироваться на сайте и пройти тестирование может любой человек, но это платно — я отдал 490 ₽. Из-за пандемии тест проходил онлайн, заняло у меня это 45 минут.
Подробнее расскажу о системе контроля «Проктор», которую используют организаторы теста. Перед началом проверки система просит доступ к веб-камере и микрофону ноутбука, а также к камере смартфона. Таким образом проверяющие следят, чтобы тот, кто сдает тест, отвечал сам и не пользовался шпаргалками или подсказками. Если система увидит в кадре лишнего человека, заметит, что вы перевели взгляд, или услышит подозрительные звуки, то об этом сразу узнает контролер, который тут же свяжется с экзаменуемым.
На мой взгляд, если захочется списать или еще как-то схитрить, сделать это будет несложно. Камера не показывает помещение полностью, а значит, помощник сможет спрятаться, например, за компьютером. Сама идея с «Проктором» не так уж и плоха, но в таком виде она не позволяет проконтролировать все на сто процентов.
Вопросы были не сложными, а скорее забавными и вводили в ступор своей нелепостью. Например, надо было выбрать из четырех ресурсов — Linkedin, Baidu, Bing и Yahoo — только социальные сети или ответить, можно ли назвать смартфон персональным компьютером.
На мой взгляд, в тесте должно быть больше вопросов прикладного характера — например, про внутреннее устройство компьютера, работу интернета и сетей, языки программирования и так далее.
Итоги теста известны сразу же, но сертификат надо подождать несколько дней. Потенциальный работодатель может и сам посмотреть результат кандидата: документ о прохождении тестирования выкладывают на сайте. Я сдал на «высокий уровень» — по пятибалльной шкале это соотносится с оценкой «хорошо».
После того как кадровики из колледжа увидели на сайте сертификат, меня попросили принести документы, которые необходимы для оформления:
- Паспорт.
- СНИЛС.
- ИНН.
- Справку об отсутствии судимости — ее я заказывал на сайте госуслуг.
- Справки из психоневрологического и наркологического диспансера, что я не состою там на учете.
- Диплом об образовании.
- Реквизиты карты «Мир» для начисления зарплаты.
- Копию трудовой книжки, заверенную сотрудником отдела кадров с основного места работы.
- Справку о том, что я не болею коронавирусной инфекцией.
- Медкнижку — ее я оформил в санитарно-эпидемиологическом центре, делают за четыре рабочих дня.
В отделе кадров спросили, как меня лучше оформить — по договору ГПХ или совместителем. Я выбрал работу по совместительству, поскольку тогда колледж компенсировал мои расходы на справки, тестирование и медкнижку. Сколько я на это потратил, уже не помню.
Уроки и студенты
Курс «Оператор ЭВМ» для школьников рассчитан на 120 академических часов и длится 20 недель. Обычный академический час — это 45 минут, но при дистанционном обучении он равен 25 минутам. Уроки я проводил через «Зум», каждое занятие длилось 180 минут: 25 минут учимся, потом 5 минут перерыв. Отдыхать надо было обязательно, руководство колледжа строго наблюдало за тем, чтобы дети не перенапрягались.
Кроме этого, я должен был контролировать посещаемость, заполнять журнал в гугл-таблице, а в конце каждого дня добавлять на общий диск онлайн-запись занятия и свою презентацию. Чтобы внести всю нужную информацию в журнал и выставить оценки, требовалось потратить после урока еще до получаса. То есть в целом я тратил на преподавание около трех с половиной часов раз в неделю.
- 3,5 часа
Для каждого занятия я готовил презентацию, практические задания и скрипт — шпаргалку для себя.
На уроках я постоянно повторял ребятам: «Цель наших занятий — расширить ваши границы знаний». Для ее достижения я выбрал веб-разработку сайтов, так как, работая с этим направлением, можно прокачать очень много навыков, связанных с ИТ. Подробнее о веб-разработке я рассказывал в одной из статей в Т—Ж.
Если коротко, то все сайты состоят из двух главных частей. Первая — видимая, с которой пользователь взаимодействует в браузере, например нажимает кнопки или заполняет какие-нибудь формы на сайте. Вторая — серверная, она незаметна и отвечает за внутреннюю логику ресурса. Например, за хранение информации в базе данных или выдачу поисковых результатов.
На курсах я попытался познакомить студентов с профессией «фулстек-программист», который занимается разработкой в обоих направлениях: серверной части и пользовательского интерфейса веб-сайтов. Так ученики могли максимально познакомиться с ИТ-сферой и расширить границы своих знаний.
Конечно, я не мог на первом занятии сразу рассказывать о том, как устанавливать среду разработки и писать код. Начинал с более широких понятий, двигаясь от общего к частному. В целом план курса выглядел так:
- Компьютерные науки и их дисциплины.
- Компьютерные сети. Как работает интернет.
- Веб-программирование. Бэкенд. Фронтенд. Консоль браузера.
- Инструменты разработчика: редактор кода и система контроля версий.
- Языки программирования JavaScript и TypeScript. Среда исполнения Node.js.
- Создание бэкенд-приложения с помощью Express.
Когда я дал ребятам достаточное количество теории, то добавил в уроки немного геймификации: практические задачи представлял в виде ТЗ от заказчика или продакт-менеджера.
Такой подход, во-первых, позволял студентам узнать о разных областях программирования, бэкенде и фронтенде. Во-вторых, они получили представление, как этапы разработки выглядят в реальности: выявление потребности, техзадание, обсуждение, разработка и тестирование.
Программистские темы я старался объяснять простыми словами с аналогиями из жизни. Например, чтобы рассказать, как компьютер понимает код, приводил аналогию общения с иностранцами. Сравнивал язык программирования с любым иностранным языком, а компьютер — с жителем другой страны.
На практических занятиях мы писали код или отрабатывали теорию. Например, когда на занятии изучали устройство браузера, студенты работали с браузерной консолью и выполняли там задания. Практическая работа была всегда во второй половине занятия. Это позволяло держать студентов в тонусе и тут же закреплять пройденный материал.
Со студентами мы общались в «Телеграме», так как у этого мессенджера самое удобное десктопное приложение. Ведь во время занятия надо было много обмениваться скриншотами с ошибками и результатами работы программ. Кроме этого, у опросов в «Телеграме» есть режим «квиза», который я использовал для тестов.
Иногда мои мысли уходили глубоко в теорию, я хотел дать больше информации и забывал про тайминг. Например, когда на втором занятии говорил о том, как устроен интернет, не успел рассказать и половины из того, что задумал. После того занятия я стал четко продумывать план и расписывать подробный скрипт с тезисами урока. Я понял, что лучше иметь при себе подсказку, чем тратить драгоценные минуты на неумелую импровизацию.
Всех учеников можно было поделить на два типа: те, кто пришел по собственной инициативе, и те, кому требовался лишь сертификат. Первые старались выполнять домашние задания и серьезно относились к занятиям. Вторые часто пропускали уроки и хитрили: например, говорили, что у них не работает компьютер, поэтому они не смогли сделать домашку.
Поначалу я переживал, что не все ребята увлечены на сто процентов, но потом сосредоточился на тех, кто проявлял интерес. Один парень иногда даже писал в личных сообщениях поздно вечером по каким-то техническим вопросам. Мне было приятно.
В конце курса я провел экзамен, чтобы понять, как ребята все усвоили. Проверка состояла из теста и практической части: надо было написать код. Экзамен проходил онлайн и длился полтора часа.
Результаты оказались предсказуемыми: студенты, которые ответственно относились к занятиям, с экзаменом справились без проблем. Вообще, основная часть студентов получила «хорошо». Двоек не было, всем ученикам выдали сертификаты, что они освоили профессию.
Деньги
Моя зарплата напрямую зависела от количества учеников в группе. За каждого школьника мне платили 57,69 ₽ в час. Правда, час не обычный астрономический, в котором 60 минут, а академический — он, напомню, составлял в моем случае 25 минут, плюс 5 минут длилась перемена. В моей группе училось 20 человек. То есть с учетом 13% НДФЛ за один астрономический час я зарабатывал 2008 ₽, а за три часа занятий в день, соответственно, 6024 ₽.
Занятия проходили раз в неделю. Курс длился 20 недель. За весь учебный год на руки я получил 120 480 ₽.
- 120 480 ₽
На зарплату не влияло, посещает ребенок занятия или прогуливает. Правда, если ученика отчисляют или он отчисляется сам, то моя зарплата становилась бы меньше. Но в моей группе таких не было.
Важно учесть, что в среднем еще около четырех часов в неделю я тратил на подготовку к занятиям, так как у меня не было никаких методических материалов. Это время никто не оплачивал. С другой стороны, это работа на перспективу: если я буду вести такие же занятия и в следующем учебном году, то второй раз готовиться не придется.
Что в итоге
Плюсы от этой работы были не только финансовые. Во-первых, я стал более уверенно выступать перед аудиторией. Если раньше не всегда мог подобрать нужные слова, то сейчас доступно могу объяснить любой термин для людей, которые не имеют отношения к сфере ИТ.
Во-вторых, я закрепил свои знания в смежных областях с программированием. Я знал про некоторые вещи только поверхностно, а когда готовился к урокам, пришлось разбираться в тонкостях. Например, я представлял, как в теории работает интернет, но не знал, как конкретно он попадает ко мне домой от провайдера. Теперь знаю.
Естественно, в свои достижения я записываю и то, что мои ученики стали гораздо лучше разбираться в компьютерных технологиях. Более того, ребята фактически добавили себе в портфолио проекты по программированию. Это может стать преимуществом, если они пойдут куда-то на стажировку. Работодатель охотнее возьмет человека, который уже хоть что-то умеет.
Главный же вывод, который я сделал, — преподавание отнимает много сил. Уроки лучше проводить в несколько коротких подходов, чем сразу большим блоком. После трех часов занятий я уставал так же, как после полноценного восьмичасового рабочего дня. У меня создавалось впечатление, что на неделе стало на один выходной меньше.
Еще я понял, что к занятиям надо тщательно готовиться: импровизировать тяжело, поэтому заранее стоит иметь скрипт с четким планом урока. При этом подготовка к занятиям длится дольше, чем сами уроки, а это время не оплачивают.