Что-то случайно набрел на посты о преподах, универе, студентах, и со второй попытки решил запилить сюда пост.
Сколько из нас здесь тех, кто учился на IT-направлении? А тех, кто учится сейчас? А тех, чьи дети учатся на таком?
А сколько тех, кто слышит от своих чад, или знакомых, или думает сам: "В универе дают не то", "Эта дисциплина нам не нужна", "Да нас не учат программированию"? А кто преподает IT-дисциплины сам?)
Здравствуйте, я - "препод" и могу ответить "да" в различных вариациях на все эти вопросы, только детей у меня нет, но такие фразы я всё равно слышу :)
Попала в мои руки однажды одна дисциплина длиной в год, которую предстояло вести самостоятельно, что и делаю по сию пору. В общем и целом без подробностей - программирование. С этим у меня проблем никогда не было, нужная квалификация есть, вперед. В наследство от прошлого препода мне достался весь УМК: лекции, лабы, рабочие программы и вот это вот всё. Есть, с чего начинать.
По этому УМК я провел год. Стандартный курс структур данных и алгоритмов, ничего примечательного. Огляделся, понял, что в чистом виде это не особо интересно, и понеслось:
Это дисциплина по выбору, которую могут выбрать студенты для изучения, написав в деканате соответствующее заявление. Могут, но не больше 20 человек. В идеале 5-10, так легче. А еще это дисциплина, на которой учатся будущие разработчики. И как разработчик я могу приблизить ребят к более реальным вещам, чем рассказывать про сферических коней в вакууме, а потом разводить руками, когда их психика разобьется о суровую реальность. Как препод я могу сделать контент интереснее и немного отойти от классического формата занятий. Почему нет, кто мне запретит?)
Спустя несколько лет всё пришло к следующему состоянию:
Отошел от гнетущих мироздание слов "лекция" и "лаба". Теперь у нас просто "занятие". Это не специально, само вышло.
Сознательно я отошел от лабораторных занятий в аудитории: компы в универе - лютое гавно, на которых среда разработки разгонится дай Бог к концу пары, а дома у студентов настроено всё под себя и работает лучше. Лучше успеть рассказать больше по теме, и так часов мало выделено. Рассказать - это рассказать и показать. Минимум слайдов, минимум текста, больше кода в среде разработки. Мысли не допускаю, чтобы что-то начитывать, и не дай Боже еще под запись.
Сознательно отошел от понятия "лабораторная работа": есть просто задания. Есть чисто "по фану" (отработку алгоритмов): бота написать для игры, например. Есть задания чисто на тренировку: глобального смысла не несут, но ребята научатся работать с языком. А есть задания, которые приближены к реальности и там спуску давать нельзя, там иногда возникают перлы в стиле "а удалю-ка я тесты из проекта, чтобы сборка собиралась".
Тяжело, долго, упорно, с помощью и без нее несколько лет создавалась приближенная к реальности инфраструктура:
Хватит Java-кодить в стандартном проекте IDE, вот вам система сборки с настроенным check-style
Хватит носить код на флешке или присылать на почту, вот вам репозитории и система контроля версий
Вот вам тикеты в баг-трекере, учитесь с ним работать
Вот вам continuous integration и TeamCity, вам это понадобится
Вот вам Upsource и кодревью, вы не закроете ни один тикет, пока не станете писать код по конвенциям и best practice
Вот вам Confluence - wiki-like система для всех гайдов, заданий, заметок, статей. Хватит методичек, привыкайте к решениям, с которыми работают большие дяди
Вот вам командные проекты, чтобы вы поняли, каково это
А давайте-ка будете еще и тесты писать, как нормальные люди, и помнить про покрытие
Ну и курс пришлось расширить. Кроме структур данных и алгоритмов, от которых теперь осталась малая, необходимая часть, теперь есть занятия по тестированию, бд, Java, спрингу, паттернам, и пр. А вообще, чтобы не закостенеть, каждый год контент курса я меняю. Что-то выкидываю, что-то добавляю. К тому же некоторые темы могут выбрать сами студенты, а там исходя из возможности принимать решение - рассматривать на занятиях или нет.
А еще ребята с моей подачи оставляют фидбеки на каждое занятие, чтобы можно было корректироваться самому. Для меня это нормально и как-то сразу стало естественным, ребята привыкли, а вот коллеги, когда узнают, просто охеревают: "Они тебя еще и оценивают? о_О" ©. Собственно, а почему нет? Мне кажется, каждому преподу было бы полезно получать фидбек от студентов на свои занятия, очень так держит в тонусе, знаете ли :)
Временами ребята выбираются на мероприятия: митапы, конференции, хакатоны, разные олимпиады. А иногда удается сделать нечто, вообще непохожее на обычную лекцию. Например, в этом году удалось сделать восьмичасовой митап со спикером в единственном числе - мной. Рассказывал про Java и всякие best practice. Не в вузе, в этот раз мне предоставил площадку местный стартап-акселератор. Получилось достаточно хорошо, ребятам, вроде, понравилось, ниже фоточки :)
Куда на ивентах такого формата без ништяков. Акселератор оставил буклетики, а коллеги из сочувствующей IT-компании подогнали стикеры и сувениры студентам за хорошую работу в течение дня
(Фотографии и еда в состав площадки не входили, всё оплачивалось отдельно :))
Где-то в похожем ключе в прошлом году я проводил экзамен, но длился он три дня, и ништяков было больше и они были большим, чем блокнотики и кружка. Могу запилить сюда пост)
Подобные ивенты не дают стухнуть в аудитории - мало сидеть слушать, а потом делать задания. Если ты хочешь войти в айти - входи сейчас. Если это какой-то митап или конференция, то для ребят это возможность пообщаться с сотрудниками компаний города, оставить контакты, наметить какие-то планы на работу и/или стажировку. Нужно просто создать возможность. И такая возможность результаты (охренеть, и правда) дает: несколько ребят со старших курсов уже устроились. И вот это круто: когда я понял, что могу вертеть своей дисциплиной, как захочется, одной из ее целей я увидел свободный выход ребят на работу. Мне бы, в конечном счете, хотелось, чтобы про мою дисциплину знали и моих студентов принимали безбоязненно на работу джунами.
Это, пока что, не реализовано, сейчас ограничивается только тем, что мне пишут HR-ы и спрашивают фидбеки за студента, который к ним подался. Вот это бывало, да, не раз. Но это еще не то, чего бы мне хотелось.
Это не единственное, что не удается, к сожалению. За год у обычной дисциплины есть четкий таймлан. В моём случае (это, скорее минус, чем плюс) таймлайн превращается в "семь красных линий, перпендикулярных друг другу, одна из них зеленого цвета, другая прозрачная и одна линия в форме котенка". Из курса хочется выжать максимум, потому что достоверно знаю, что реализация 90% дисциплин на четырех курсах у ребят - гавно. Хочется рассказать и про бд, и про спринг, и про андроид, и впихнуть котлинпитоннейросети и вот это вот всё, но невозможно. Либо превратить курс в научно-популярный рассказ об IT.
Но в общем и целом, от привычного формата дисциплины остались только зачетка с ведомостью, и в 80% занятий - стены универской аудитории. По крайней мере, мне хотелось бы в это верить :)
Зачем всё это пишу? Рассказать, хоть кому-то :D Узнать мнение, мысли. А еще в планах несколько мероприятий, зимой вот ребятам снова предстоит экзамен сдавать, нужно уже что-то планировать. Проблема в одном: все реализуется на 95% собственными силами и средствами, поэтому у меня есть опасение, что далее я не потяну такие расходы. У меня была попытка краудфандинга - не взлетело. Совершенно не умею просить деньги, и этот даже этот пост не для этого, разумеется. Но умею просить советы, оный и хочу спрашивать у вас.
IT-компании мало заинтересованы в поддержке такого начинания, поскольку любой мой ивент для ребят - это не более 20 человек, это им неинтересно. Я думал даже где-то собирать донаты, но как-то слабо это представляется.
Подскажите идеи, как можно найти средства? Кто мог бы участвовать в донатах, если бы они были? И вот всё такое, буду благодарен за советы, а то у меня начинается кризис бессилия вследствие анорексии кошелька :) Ну и на вопросы, конечно, отвечу в комментах :)