Зачем ВУЗам и IT-компаниям сотрудничать? Опыт RubyGarage и факультета прикладной математики ДНУ
Меня зовут Катерина Шум, я HR-менеджер в RubyGarage и отвечаю за внутренние образовательные программы в компании. Статья написана в сотрудничестве с А. Кузенковым, кандидатом физико-математических наук, доцентом кафедры вычислительной математики и математической кибернетики, заместителем декана по учебной работе факультета прикладной математики Днепровского национального университета имени Олеся Гончара.
Сегодня принято критиковать высшее образование, мотивируя это тем, что коммерческие курсы дают более полезную программу за короткий срок. И в этом высказывании есть доля правды. Тем не менее, мы бы хотели посмотреть на идею высшего образования для IT-сферы под другим углом и рассказать о нашем опыте сотрудничества с факультетом прикладной математики ДНУ. В статье мы поговорим о совместной учебной программе и планах по улучшению качества обучения в ДНУ, выпуску квалифицированных специалистов с практическим опытом, развития сообщества студентов по специальностям, связанных с программированием.
Высшее образование для IT-специальностей. Что не так?
Для начала, кратко рассмотрим ситуацию в высшем образовании для IT.
С одной стороны, мы имеем явно устаревшую систему преподавания и учебную программу. Навыки, связанные с IT-технологиями обладают свойством достаточно быстро устаревать. За период
C другой стороны, мы понимаем, что ВУЗы дают студентам на программистских специальностях фундаментальные математические знания, навыки коммуникации в коллективе, подготовку к взрослой жизни и, главное, навыки обучаться самостоятельно.
Мы, со своей стороны, верим, что высшее образование для IT все еще остается актуальным. Мы также понимаем, что без участия всех заинтересованных сторон этого процесса (самих студентов, университетов и IT-компаний), невозможно построить качественный образовательный процесс. И только искренне признав проблематику, вместе мы сможем найти решение.
Мотивация как основа всего
По словам Александра Кузенкова, на сегодняшний момент, необходимо решение минимум трех мотивационных составляющих в сфере высшего образования для того, чтобы состоялся качественный учебный процесс для будущих IT-специалистов.
Мотивация студентов
Система среднего и высшего образования построена так, что на 1 курс поступают дети
В странах с развитой экономикой средний возраст абитуриентов больше всего на два-три года, чем в Украине. При этом, к
Очевидно, что IT-специальности далеко не самые «легкие». Часто, ребята в выпускных классах школы боятся или не хотят изучать сложные математические и IT-дисциплины, а готовы предпочти сложной, но интересной и высокооплачиваемой профессии ординарную, но простую.
Как убрать этот барьер? Мы считаем, что будущим студентам, а также первокурсникам, важно дать возможность «прикоснуться» к IT-специальности как можно раньше. Здесь на помощь приходят мотивационные лекции, однодневные воркшопы, где вместе с менторами каждый желающий может попробовать создать что-то своими руками, например, свой сайт.
Цель подобных мероприятий — показать перспективы IT и что стоит инвестировать время, деньги и энергию в IT-образование, показать, что все не так сложно, как кажется на первый взгляд и первый положительный опыт тому доказательство. Практика показывает, что такие активности находят отклик у ребят и мотивируют результативно провести
Мотивация IT-компаний
У большинства IT-компаний существует четкий перечень знаний и умений, которыми должны обладать те или иные IT-специалисты. При этом, соответствие этим требованиям образовательных программ, а иногда даже стандартов высшего образования, имеет случайный и хаотичный характер. Важно, чтобы вузы давали возможность, а IT-компании не только влияли на обучающие программы, а также помогали составлять их и внедрять.
Решением, по мнению Александра Кузенкова, может стать создание эффективных платформ для коммуникации преподавателей и представителей IT-отрасли.
Цель такой платформы — дать возможность будущему работодателю беспрепятственно участвовать в обсуждении, формировании, методическом наполнении, и даже преподавании образовательного курса для студентов IT- и около IT-специальностей. Такая платформа на протяжении последних 3 лет эффективно работает на факультете прикладной математики ДНУ и уже начинает давать свои плоды.
Также, часто IT-компании поддаются соблазну принять на работу человека, обладающего лишь базовыми навыками некоторого языка программирования, без достаточных знаний по математическим и IT-дисциплинам. Такие junior-специалисты уже могут приносить пользу компании и иметь базовый доход. Но ни в коем случае нельзя останавливать обучение и уходить из университета. Все должны понимать, что язык программирования — это описательная часть. Давать команды компьютеру можно с помощью любого языка программирования. Более ценно научиться с помощью алгоритмов давать команды правильно. Погоня за быстрой наживой может сыграть злую шутку в долгосрочной перспективе как для специалиста, так и для компании.
Решение проблемы лежит в осознанном подходе к взращиванию кадров и эта задача ложится на плечи IT-компаний — мотивировать студентов закончить обучение и всячески этому способствовать. Например, давать возможность студентам работать в part-time графике, оставляя время для учебы и занятий личными делами, поощрять успешную сдачу экзаменов материально и нематериально (например, предоставлять дополнительные дни отпуска) и внедрять другие мотивационно-поощрительные программы.
Мотивация преподавателей
Отношение преподавателей к предмету также играет важную роль. Сегодня, в ВУЗах многие преподаватели предпочитают читать лекции по программе, составленной более
- Нехватка времени. За повседневными, рутинными задачами не остается времени для креатива и разнообразия при обновлении и адаптации учебных программ;
- Недостаток практического опыта. Зачастую, преподаватели — отличные теоретики, но при разработке задач, нацеленных на решение бизнес-проблематики, сказывается отсутствие опыта работы в настоящих проектах;
- Финансирование. К сожалению, материальная компенсация и поощрения все еще остаются довольно низкими и преподавателям приходится добавлять часы преподавания, брать part-time проекты и находить дополнительные источники дохода. Такой загруженный ритм работы негативно сказывается на основной деятельности.
Мы видим решение этой проблемы в сотрудничестве преподавателей ВУЗов и IT-компаний. Примеры такого сотрудничества — совместная разработка обучающих программ, внедрение учебных курсов, заточенных под современные тренды в технологиях и требования работодателей. IT-компаниям стоит объединиться с преподавателями, чтобы выпускать конкурентоспособных выпускников, умеющих решать решать задачи бизнеса, которые неизбежно будут стоять перед ними в будущем. Благо, современные ВУЗы идут на такое сотрудничество, так как хотят идти в ногу со временем, оставаться востребованными.
Общие цели — ключ к успеху
Сегодня, практика сотрудничества ВУЗов и IT-компаний — не новшество. Некоторые компании даже преподают курсы о своих продуктах, подготавливая специалистов для работы в конкретной компании. Тем не менее, мы видим потенциал в коллаборациях подобного рода, считаем, что нам всем есть куда развиваться и как улучшать качество образования совместными силами. Призываем другие компании и ВУЗы поделиться подобным опытом в комментариях, нам важно получить обратную связь, понять, что мы могли бы улучшить.
Вместе с преподавателями мы разработали поэтапный план сотрудничества и этот процесс мы разделили на несколько этапов:
- Обучение преподавателей веб-разработке на Ruby on Rails;
- Составление ускоренной трехлетней обучающей программы для студентов факультета прикладной математики в ДНУ;
- Проведение мероприятий для знакомства абитуриентов и студентов первых курсов с IT-индустрией;
- Создание пространства в университете для обучения студентов;
- Изменение политики компании на поддержку и мотивацию студентов закончить обучение в ВУЗе;
- Внедрение обучающей программы в учебный план и снятие обратной связи для улучшения программы и постоянной адаптации под запросы рынка.
Подробнее о каждом из этапов рассмотрим внизу.
1. Разработка учебной программы для студентов
«Наша идея — не заменить, а улучшить программу образования. Мы понимаем, что нужно актуализировать существующие подходы, при этом, не нарушая «фундамент» — А. Кузенков
Один из самых трудоемких этапов — разработка учебной программы для студентов, которая бы охватила все важные аспекты программирования и позволила сделать выбор в пользу той или иной технологии. Кроме того, программа должна решать несколько задач:
- Подготовка квалифицированных специалистов. Вначале, нужно определиться, что такое хороший специалист с точки зрения работодателя. Вместе мы составили квалификационные требования к навыкам и компетенциям студентов факультета прикладной математики. Они включат два направления: frontend и backend. Каждое из направлений погружает студентов в технологии, языки программирования и фреймворки и даем возможность определиться с направлением: выбрать то, что им больше по душе, не «наобум», а поняв это на практике.
- Быстрая адаптация будущих специалистов. Наш проект нацелен на решение проблемы адаптации разработчиков в реальных рабочих условиях. Глобально, мы хотим сократить пресловутые полгода на адаптацию до нескольких месяцев за счет учебной программы, составленной с балансом теории и практики.
- Вовлечение студентов. Как правило, на «айтишные» специальности поступают дети с высоким баллом и мотивацией учиться. Они охотно участвуют в олимпиадах, воркшопах и мотивационных лекциях. Мы хотим вносить вклад в сообщество начинающих разработчиков и подпитывать их стремления стать веб-разработчиками.
Разрабатывая программу, мы понимали, что IT-индустрия движется семимильными шагами и не все IT-компании поспевают за стремительным развитием новых технологий, языков программирования и фреймворков, что уж говорить о ВУЗах. Мы решили, что оптимальный вариант — оставить математический фундамент, базовые алгоритмы, структуры данных, изучение объектно-ориентированного языка программирования, технологии и среды разработки программного обеспечения.
Таким образом, студенту, закончившему бакалавриат, не придется переучиваться из-за устаревших технологий и подходов. Разработанная программа направлена на то, чтобы поднять вопросы практичности полученных знаний, сохранив сильную теоретическую базу.
Курс «Введение в программирование»
Курс «Введение в программирование» рассчитан на студентов первого курса с минимальным опытом в программировании или вообще без него. Составляя программу, мы ставили перед собой цель дать студентам фундаментальные знания о программировании и основных концепциях, связанных с веб-технологиями, а также адаптировать ее к современным реалиям и требованиям работодателей. Программа помогает студентам:
- Изучить основы работы компьютера, как работает программирование и познакомиться с популярными языками программирования;
- Разобрать понятия back-end и front-end и веб-технологий;
- Понять различие между технологиями, которые используются на front-end и back-end;
- Быть в курсе трендов и терминов: адаптивный дизайн, Agile, SaaS, PaaS, API, MVC и другие;
- Научить качественной коммуникации с другими разработчиками;
- Направить студентов в выборе языка программирования и технологий, с которыми они бы хотели работать в будущем;
- Пробудить искренний интерес к технологиям и вдохновить их на дальнейший выбор профессии в IT-сфере.
Введение в программирование | |
Подзаголовок: Курс для студентов-первокурсников. На курсе студенты изучают базовые концепции, связанные с программированием и веб-технологиями. Кроме того, курс помогает студентам выбрать направление (front-end или back-end) и технологии для программирования. | |
Общее представление | Как устроены компьютеры, операционные системы и «общение» между компьютерами. |
Интернет | Как работает интернет, браузеры, веб-сайты и мобильные сайты. |
Front-end и back-end | Обзор front-end и технологий: HTML, CSS, JavaScript. Обзор back-end и технологий: Python, PHP, Ruby. |
Основные концепции программирования | Синтаксис, переменные, функции, базовые типы данных. |
Фреймворки и API | Обзор front-end и back-end фреймворков, API, IDE. |
CMS и SaaS | Обзор популярных CMS: Wordpress, Magento, Drupal и SaaS платформ для создания полноценных сайтов вроде Wix и Shopify. |
Продвинутые концепции | Работа с GIT, Объектно-ориентированное программирование (ООП), Continuous Integration. |
Тренды в технологиях 2019 | Обзор трендов: гибридные приложения, responsive дизайн, full-stack JavaScript и прочие. |
Выбор профессии | Выбор дальнейшего направления в front-end или back-end и какие знания нужны для каждого из них. |
Начиная со второго курса, студенты могут выбирать специализацию по Front-end или Back-end или же изучать оба курса. Все материалы полностью ложатся в учебный план факультета, так как раскрывают много дополнительных аспектов и практических примеров.
Направление «Front-end»
Направление Front-end охватывает четыре курса (дисциплины):
- Создание адаптивных web интерфейсов с HTML5 и CSS3;
- Создание динамических web интерфейсов с JavaScript;
- Создание нагруженных web интерфейсов с React и Redux;
- Создание мобильных интерфейсов с React Native.
Выбор таких технологий, как HTML, CSS, JavaScript очевиден — это — база и стандарт знаний и умений в front-end. Дополнительно, мы предложили React.js из-за низкого порога вхождения, развитой экосистемы, высокой продуктивности при загрузке контента. В целом, направление Front-end позволяет студентам изучить не только frontend технологии, но и основы кросс-платформенной разработки для мобильных приложений с помощью React Native.
Создание адаптивных web интерфейсов с HTML5 и CSS3
HTML/CSS | |
Подзаголовок: После окончания курса, студенты получают все необходимые знания и навыки HTML/CSS Coder, включая основы адаптивного веб-дизайна и кросс-браузерной совместимости. | |
Основы веб-дизайна | Типографика, колористика, работа с изображениями и иконками, основы UX. |
Основы HTML | Структура HTML-документов, атрибуты в HTML |
Добавление медиа-файлов на страницу | Работа с изображениями, аудио- и видео-файлами |
Основы работы с текстом | Базовое форматирование текста в HTML: от заголовков до списков |
Семантика и организация | Семантические и несемантические элементы, навигация между страницами |
Формы | Типы ввода данных, создание форм с разными типами ввода данных |
Таблицы | Создание таблиц в HTML |
CSS | CSS-селекторы, каскад, блочная модель, стилизация навигационного меню, перекрывающийся контент и прозрачные фоны |
Типографика CSS | Типографика CSS и кастомные шрифты |
Адаптивный веб-дизайн | Основы адаптивного веб-дизайна, адаптивная сетка, создание адаптивных веб-страниц |
Спецэффекты CSS3 | Тени, скругленные углы, переходы, анимация |
Использование JavaScript без написания JavaScript | Слайдшоу, показ и скрытие контента при нажатии, создание галерей |
Добавление эффектов | Основы jQuery, адаптивная навигация, анимация |
Кросс-браузерная совместимость | Браузерная поддержка, тестирование кроссбраузерности и кроссплатформенности |
Sass | Основы Sass и SCSS |
Программирование на JavaScript
JavaScript | |
Подзаголовок: Курс посвящен изучению и разработке приложений на JavaScript без использования фреймворков и библиотек | |
Основы JavaScript | Переменные, типы данных, преобразование типов, операторы, циклы, функции |
Операции с DOM | DOM-дерево, селекторы, работа с элементами, интерфейсные события |
Объектно-ориентированный JavaScript | Конструктор, прототип, прототипное наследование, классы и наследование, свойства, методы |
Асинхронный JavaScript и работа с сетью | Понятие асинхронного программирования, XMLHttpRequest, JSON, REST, Promise, Fetch API, async/await |
Обработка ошибок Регулярные выражения Новые возможности JavaScript (ES6+) | try/catch, пользовательские ошибки Шаблоны и флаги, символьные классы, группы Обзор базовых возможностей ES6, стрелочные функции, итераторы, генераторы |
Паттерны JavaScript | Singleton, Factory, Observer, Mediator, State паттерны и др. |
Создание веб-приложений с ReactJS
React | |
Подзаголовок: Курс включает исчерпывающую программу по React, Redux, роутингу, анимациям и многому другому. | |
Понимание основных функций и синтаксиса | Структура директорий, основные команды, сборка, компоненты, JSX, Props & State, обработка событий, Stateless & Stateful, работа со стилями и др. |
Отладка приложений React | Разбор сообщений об ошибках, использование Dev Tools & Sourcemaps, работа с инструментами разработчика React и др. |
Погружение в компоненты и внутренние элементы React | Жизненный цикл компонентов, классовые и функциональные компоненты, компоненты высшего порядка и др. |
Работа с API | Запросы HTTP в React, cоздание запросов HTTP для получения данных, обработка данных, обновление данных и др. |
Роутинг | Роутинг и SPA, настройка ссылок, настройка пакета роутинга, подготовка проекта для роутинга, обработка параметров запроса и др. |
Формы и валидация форм | Создание пользовательских компонентов для ввода, обработка ввода, обработка отправки форм и др. |
Redux | Состояния приложения, архитектура Redux, получение и изменение данных, side-effects и др. |
Добавление Redux в проект | Установка Redux и React Redux, основные настройки Redux и др. |
Продвинутый Redux | Middleware, Devtools, введение в асинхронный код и его обработка и др. |
Тестирование | Необходимые инструменты для тестирования, написание тестов, правильное тестирование компонентов. |
Создание мобильных приложений с React Native
React Native | |
Подзаголовок: Курс по React Native включает работу с Redux, Hooks, принципы архитектуры мобильных приложений, а также позволяет студентам оценить все преимущества разработки кросс-платформенных компонентов при работе с React Native. | |
Разработка кросс-платформенного мобильного приложения | Как разрабатывать кросс-платформенные мобильные приложения, доступ к собственным возможностям устройств. |
Установка и настройка | Установка React Native, структура приложения, сравнение React и React Native |
React Native | UI элементы, навигация, анимация, обработка жестов и др. |
Работа с API | Запросы HTTP в React Native, cоздание запросов HTTP для получения данных, обработка данных, обновление данных и др. |
Верстка компонентов | Создание макетов с Flexbox, позиционирование и стилизация компонентов, основы UX для мобильных приложений |
Хранение состояние приложения | Подключение Redux, action creators, side effects, введение в Redux Thunk |
Направление «Back-end»
В основе направления Back-end так же четыре курса (дисциплины):
- Управление исходным кодом с помощью Git
- Управление реляционными базами данных на примере MySQL
- Введения в ООП и профессиональное программирование с примерами на Ruby
- Разработка WEB приложений на фреймворке Ruby on Rails
Ruby и Ruby on Rails. Наш выбор не случаен. Ruby — язык программирования, в основе которого лежит подход «developer’s happiness first». Это в первую очередь достигается за счет удобного и понятного синтаксиса, понятного даже новичку. Ruby сходу стимулирует разработчиков применять автотестирование и использовать лучшие подходы и практики программирования. Бонусом идет развитое сообщество и большое количество готовых решений (Ruby gems) для легкого расширения функционала веб-приложений. Популярный Ruby-фреймворк, Ruby on Rails, перенял те же принципы.
Также мы включили в программу по back-end, на наш взгляд, must have дисциплины: управление исходным кодом, теория реляционных баз данных.
Управление исходным кодом с помощью Git
Управление исходным кодом | |
Подзаголовок: Курс охватывает ключевые понятия системы контроля версий Git, процесс работы Git, управление файлами (перемещение, переименование, удаление) и обновление файлов, управляемых вне Git. | |
Установка и быстрый старт Git | Разбор основных плюсов работы с (VCS) — системами контроля версий. Создание и управление репозиториями. Работа с хостингом репозиториев на примере Github. Конфигурация git-профиля. Обзор способов начала работы с VCS (первичная инициализация, клонирование и импорт). |
Основные Git-команды | Обзор основных Git-команд и их применение |
Сравнения (Comparisons) | Обзор команд для сравнения файлов, веток, коммитов и др. |
Ветвление и слияние (Branching and merging) | Основы ветвления и слияния в Git, лучшие практик по созданию, именованию и ведению веток и запросов на слияния (Pull Request-ов) |
Перемещение (Rebasing) | Управление перемещением в Git. |
Прятанье (Stashing) | Способы прятанья и отображения спрятанных файлов |
Работа с метками (Tagging) | Примеры меток, легкие метки, обновление меток и использование меток в GitHub |
Управление реляционными базами данных на примере MySQL
Реляционные базы данных | |
Подзаголовок: На курсе студенты изучают теорию реляционных баз данных, SQL, познакомятся с СУБД MySQL. | |
Реляционные базы данных | Теория реляционных баз данных, введение в нормализацию баз данных, виды связей, процесс проектирование базы данных, обзор типов связей данных: «один к одному», «один ко многим», «многие ко многим» |
Начало работы | Введение в СУБД, SQL и MySQL, установка MySQL на MacOS, Windows, Linux |
Создание баз данных и таблиц | Создание, редактирование и удаление баз данных и таблиц, типы данных: CHAR, VARCHAR, DECIMAL, FLOAT, DOUBLE, и т.д. |
CRUD-команды | Введение в CRUD, SQL запросы для реализации CRUD, вставка данных в таблицы, обновление данных в таблицах, удаление данных из таблиц, заполнение базы данных. |
Выборка | Выборки из таблиц, сортировка, фильтрация данных, выборка из нескольких таблиц, логические операции, подзапросы, union, Concat, Count, математика, обзор функций. |
Введения в ООП и профессиональное программирование с примерами на языке Ruby
Ruby | |
Подзаголовок: Содержательный курс по программированию на Ruby. Курс охватывает как базовые концепции, так и более продвинутые темы (метапрограммирование) и автотестирование с помощью фреймворка RSpec. | |
Введение и установка | Введение в Ruby, установка на MacOS и Windows |
Начало работы с Ruby | Методы в Ruby, комментарии, переменные, строковая интерполяция, методы для объектов, возвращаемые значения |
Типы данных | Числа и работа с числами, строки и работа со строками, преобразование чисел в строки, диапазоны, массивы и hash массивы, добавление и изменение массивов, итерация и различные методы чтения массивов. |
Методы и условные конструкции | Введение в методы, условные конструкции и операторы. |
Блоки, процедуры, лямбды | Обзор блоков, процедур, лямбд в Ruby. |
Работа с датой и временем | Объект Time, методы, преобразование объекта Time. |
Работа с файлами | Чтение из текстового файла с помощью Ruby, запись в текстовый файл с Ruby. |
Регулярные выражения | Введение в регулярные выражения в Ruby, методы регулярных выражений. |
Классы, модули и миксины | Введение в ООП, классы, основные методы для классов, monkey patching, наследование, создание подклассов, введение в модули и миксины, ключевые слова. |
Метапрограммирование в Ruby | Концепция метапрограммирования, объекты в Ruby, hook методы, инструментарий метапрограммиста. |
Автотестирование в Ruby на RSpec | Теория написания автотестов, введение в RSpec, unit-тесты, matchers, mocks и stubs, TDD. |
Разработка WEB приложений на фреймворке Ruby on Rails
Разработка WEB приложений на Ruby on Rails | |
Подзаголовок: Курс готовит профессиональных веб-разработчиков на Ruby on Rails и включает в себя практическую часть по созданию e-commerce платформы с нуля. | |
Введение в Ruby on Rails | Введение в Rails, структура приложения, MVC, Rails-консоль. |
CRUD-операции в Ruby on Rails | CRUD, Scaffold, Rails Generators. |
Модели | ActiveRecord, миграции, связи, валидации, callbacks, запросы, создание, удаление, редактирование моделей и др. |
Роутинг | RESTful, ресурсы, namespaces и др. |
Контроллеры | Экшины и методы в контроллерах; Strong parameters, Работа с куками и сессией; Настройка аутентификации и авторизации. |
Отображение | Разбор вариантов ответа сервера — HTML, JSON, XML; Лэйауты, шаблоны и partials — лучшие практики для применения; Разбор основных шаблонизаторов; Работа с флэш-месседжами; Основные подходы для работы с формами в Rails; Ознакомление со встроенными фреймворками для компиляции ассетов (изображения, CSS, JS-файлов и др.); Assets Pipeline и Webpacker. |
Автоматизированное тестирование | Автоматизированное тестирование: интеграционное, функциональное, юнит-тестирование. |
Обзор Rails инструментов | Bundler, Devise, CarrierWave, Kaminari, Haml, Sass, CanCanCan, Nokogiri, SimpleForm, Capistrano, Omniauth, Sidekiq. |
Деплоймент / развертывание приложения | Настройка окружения, развертывания Rails-приложения и деплоймент на удаленные сервера. |
2. Обучение преподавателей веб-разработке на Ruby on Rails
Для того, чтобы выпускать сильных специалистов, их должны готовить соответствующие сильные специалисты. Первым этапом нашей программы стал курс по веб-разработке на Ruby on Rails для преподавателей факультета прикладной математики.
Курс для преподавателей длился 2 месяца и за это время мы:
- адаптировали программу нашего постоянного курса по Ruby и Ruby on Rails, разработав ускоренный курс, насыщенный практическими примерами;
- сделали отдельный акцент на методических рекомендациях по обучению согласно нашей программе;
- предоставили менторов для консультаций, обсуждения методических вопросов, обмена преподавательским опытом.
Результат и — преподаватели, готовые преподавать по новой учебной программе с новыми подходами и примерами. Мы верим, что все получится, ведь у преподавателей есть явное преимущество: они — хорошие методисты, способны перерабатывать большие массивы информации, формировать их в структурированную программу и позже интегрировать эти знания в учебный процесс для различных специальностей и курсов.
3. Мероприятия для вовлечения абитуриентов в IT
В разделе о мотивациях студентов мы говорили о том, что один из способов снизить барьер между абитуриентами и ВУЗами — дать будущим студентам «пробную версию» опыта программирования. Это могут быть воркшопы, хакатоны, мотивационные лекции, активности, где студенты могут пообщаться с единомышленниками, собрать сайт своими руками и пройти полный процесс разработки.
С 2018 года, мы нарабатываем опыт таких мероприятий: поддерживаем студенческие олимпиады в университете; организовываем воркшопы; проводим мотивационные лекции с преподавателями наших Ruby/Rails курсов и лидами Backend-разработки, где спикеры рассказывают, как прийти в профессию с нуля и построить карьеру.
Один из ярких примеров таких мероприятий — двухдневный воркшоп Rails Girls, который мы проводили в сентябре. Среди целевой аудитории ивента мы выделили сегмент студентов из специальностей, связанных с математическими и компьютерными науками. Эта группа участников интересуется технологиями, видит неисчерпаемый потенциал IT-индустрии, стремится получить высокооплачиваемую профессию, которая также приносит удовлетворение от работы.
На Rails Girls мы подогрели интерес участников, показав процесс разработки изнутри: от написания спецификации до дизайна приложения и его сборки. Кроме практической части, мы также включили короткие выступления спикеров. Интересно, что в последний раз Rails Girls проводился в Днепре в 2012 году и одна из тогдашних участниц в этом году выступала уже в качестве спикера. Мы верим, что такие истории вдохновляют студентов идти к мечте и не сдаваться.
4. Поддержка кафедры и создание вдохновляющего пространства в университете
В июне мы стартовали проект по созданию учебного пространства прямо в стенах университета. Сейчас мы обновляем аудиторию в университете: хотим сделать это пространство современным, ярким и вдохновляющим. В планах — проводить обучающие мероприятия и хакатоны, приглашать спикеров, словом, максимально вовлечь студентов в программирование.
5. Поддержка учащихся сотрудников
Политика нашей компании не препятствует, а наоборот, поддерживает стремления сотрудников, которые еще учатся в ВУЗе. Например, во время учебы, каждый может взять part-time график и, если требуется, отпуск во время сдачи сессии. Таким образом, мы создаем комфортные условия, в которых сотрудник чувствует себя защищенным, имеет возможность развиваться всесторонне и не стоять перед выбором учебы или карьеры.
6. Внедрение обучающей программы в учебный план
«Мы разработали трехгодичные курсы, чтобы предоставить студентам полную специализацию. Мы хотим научить студентов учиться, осваивать фундаментальные теоретические знания и получить практико-ориентированные задачи, которые помогут им в работе на реальном проекте» — А. А. Кузенков
Курс, разработанный совместно с преподавателями кафедры прикладной математики, длится три года. Курс стартовал 1 сентября 2019 года, студенты-первокурсники могут начать обучение с нуля, в то время, как второй и третий курс могут взять курсы на само обработку, чтобы «догнать» программу.
Дальше в наших планах — создать условия для постоянной обратной связи от преподавателей и студентов, чтобы скорректировать программу для лучших результатов. Через год мы собираемся подвести итоги и рассказать о всех моментах и подводных камнях, которые нас еще ожидают, ведь мы в начале пути. Как говорится, to be continued :)
Выводы:
Наша общая цель — подготовка выпускников с высоким уровнем знаний и возможностью быстрой адаптации в реальных рабочих условиях. Чтобы достичь нужного результата, мы определили четкие критерии качества подготовки специалистов, собрав требования работодателей к специалистам и адаптировав программу под них.
Математика — это фундамент высшего IT-образования. Другую его часть (языки программирования, технологии и среды разработки) университеты вольны менять под требования, которые выставляет рынок труда и современные тенденции в индустрии.
Мы надеемся, что наш пример станет полезными для других компаний и университетов и вдохновит на перемены. Предлагаем другим ВУЗам присоединяться к этой инициативе и хотим сказать, что мы открыты к подобным проектам со всеми желающими.
Также предлагаем IT-компаниям поделиться опытом подобных коллабораций, будем рады пообщаться в комментариях и ответить на вопросы!
Оставляю свои контакты для обратной связи и предложений о сотрудничестве:
15 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів