Программа профессионального роста
Мы предлагаем студентам пройти программу подготовки в решении бизнес задач там, где применяются методы программирования, машинного обучения и распределенных вычислений.
Формат этой программы представлен следующими макро-механизмами:
Скрининг
Скрининг - это процесс опроса и тестирования студентов по разработанной схеме для того, чтобы определить существующие навыки и способности обучаемого. Это позволяет соотнести эти навыки с рекомендуемой IT ролью студента в дальнейшем обучении. Скрининг также применяется для оценки и рекомендации IT роли уже после обучения.
Решение практической задачи
Решение практической задачи происходит в виде командной реализации проекта. Группе студентов не более 10 человек ставится бизнес-задача. Группой управляет куратор (Product Owner, Scrum Master), который передает команде требования к разрабатываемому сервису, формулирует бизнес приоритеты требований в рамках решаемой задачи.
Кроме того, в соответствии с результатами скрининга куратор распределяет начальные роли внутри группы. Группа под присмотром куратора и с его помощью выполняет следующие действия:
- Проводит декомпозицию бизнес-задачи на задачи разработки, выстраивая приоритеты реализации решения таким образом, чтобы сделать каждый элемент выполнимым в рамках одной фиксированной по времени итерации и в соответствии с приоритетами бизнеса.
- Обучаемый каждый в своей исходной роли решает поставленную задачу, изучая при этом методы решения и технологии настолько, насколько это нужно для получения результата.
- Обучаемый интегрирует свое решение через предоставляемый механизм CI/CD, включая валидацию со стороны других членов группы и куратора.
- Решения задач в рамках итерации обсуждаются всей группой в конце каждой итерации.
Решение технических проблем
В процессе решения у студентов возникают технические проблемы ввиду отсутствия знаний и опыта. Куратор мониторит проблемы и инициирует технические митапы/вебинары для получения знаний и навыков. Для этого организуются коммуникация с техническими экспертами.
Кроме того процесс обучения сопровождается лекциями технологического курса релевантного решению поставленной бизнес задачи.
Роли
Прграмма покрывает участие студентов в следующих ролях:
- Team-lead
- Руководитель проекта в рамках одной итерации. Студент в этой роли участвует в контроле выполнения задач и интеграции решений в единый сервис.
- UI разработчик
- Занимается разработкой пользовательского интерфейса в виде Web-приложения.
- Backend разработчик
- На нем лежит ответственность за разработку API для сервиса и Web-приложения.
- Data инженер
- Эта роль предполагает решение задачи доставки данных в сервис, их преобразования с использованием распределенных механизмов.
- Data Scientist
- Data Scientist занимается разработкой алгоритмов поиска паттернов в данных, построение Machine Learning моделей, проведение эксперементов и улучшение качества моделирования.
- ML инженер
- Инженер в этой роли занимается интеграцией алгоритвом и Machine Learning моделей с сервисом, используя, в том числе AI платформы.
- DevOps инженер
- Он отвечает за развертывание инфраструктуры, сервиса и других приложений, а также за автоматизацию развертывания.
- QA инженер
- Речь идет о ручном тестировании с подготовкой тестовго покрытия сервиса, моделей и UI.
Ротация ролей
В конце каждой итерации студенты меняют (ротируют) свои роли так, чтобы за весь период проекта поучаствовать в разработке с разных позиций.
Параметры обучения
- Обучение рассчитано на три месяца.
- Одновременно до 2-3 групп и не более 10 человек в каждой.
- Обучение предполагает решение одной бизнес-задачи одной группой.
- Предполагается порядка 10 вебинаров (по 1-2 часа)
- Предполагается порядка 20 лекций (по 1-2 часа)
- Проект имеет базовую реализацию с готовым техническим и бизнес решением, к которому должна стремиться группа. Но при этом группа решает задачу с чистого листа. Куратор старается привести команду к целевому результату, но при этом в конце обучения проводится сравнение результатов группы с целевым.
- Технология обучения позволяет применять ее для разных уровнях студентов. Чем выше исходный уровень, тем ближе задача к “боевым” условиям.
Направления обучения
Обучение покрывает следующие направления:
- анализ требований и формирование задач;
- генерация синтетических данных и сбор реальных данных;
- анализ данных и определение их качества;
- разработка и развертывание инфраструктуры для решения задачи и публикации результата;
- разработка алгоритмов бизнес задачи на языке программирования Python и необходимых фреймворков;
- разработка алгоритмов распределенных вычислений с использованием Big Data технологий (Apache Spark, Pyspark) для обработки данных в решаемой задаче;
- разработка DS/ML моделей для решения бизнес задачи на языке программирования Python (Sklearn, LightGBM, Tensorflow, Pythorch). Reinforcement learning в реализации Deep Q-network;
- разработка UI интерфейса решения с помощью Bootstrap и jquery, AngularJS или React (детальное изучение UI фреймворков не является целью);
- ручное, автоматизированное, интеграционное и компонентное тестирование решения;
- профилирование производительности высоконагруженных компонентов.
Пример бизнес задачи
Commerce Simulator
Это бизнес задача, решение которой позволяет мелким и средним предпринимателям создать модель поведения их бизнеса с точки зрения наличия точек торговли или e-commerce канала в требуемой геолокации.
Решение позволяет сконфигурировать бизнес параметры: ассортимент товаров, характер товаров, объемы, цены, скидки, промо- акции, и тд.
Решение позволяет сконфигурировать среду, в которой будет функционировать бизнес: геолокация бизнеса, условия логистики пополнения ассортимента и доставки покупок, внешние характеристики (объем населения города, района, покупательская способность, погодные условия и т.д.)
Решение формирует покупателя в виде робота с определенной стратегией потребностей, покупок, трат и тд. Покупатели действуют в среде, где находится анализируемый бизнес и адаптируются/обучаются в плане совершения покупок.
Пользователь меняет бизнес параметры и мониторит изменение финансовых показателей.
С другой стороны есть дополнительная опция автоматической конфигурации и адаптации бизнеса к изменяющемся условиям с последующими рекомендациям предпринимателю.
Решение выпускается как сервис с UI интерфейсом и монетизацией в зависимости от выбранных пользователем конфигураций и объемов.
Наши клиенты