Независимая оценка навыков Git, Docker и Python: кейс с HH.ru

В офисе IT‑центра МАИ преподаватели и менторы сидят за столом, рядом с ноутбуками разложены листы с вопросами и схемами. Они обсуждают, как проверить, что студенты действительно умеют работать с Git, Docker и Python.
Мы совместно с HH.ru создали независимый ассессмент, используя их платформу и собственные тесты.
Теперь преподаватели могут точно знать, какие навыки освоены, а какие требуют доработки.
Проверьте, какие уровни навыков вы хотите оценить и какие партнёры готовы помочь.

Источник: Habr

Что изменилось: почему оценка нужна

В рамках программы ТОП ИТ студенты работают в командах над реальными проектами.
Менторы отмечали, что в группах иногда есть «сачки» – участники, которые берут на себя большую часть работы, а остальные остаются в стороне.
Без независимой оценки невозможно понять, кто действительно владеет ключевыми инструментами, а кто просто копирует чужие решения.
Независимый ассессмент позволяет:

  • Узнать реальный уровень знаний – не только теоретические, но и практические навыки.
  • Определить пробелы – какие темы требуют усиления в учебном плане.
  • Подтвердить готовность к стажировке – работодатели ценят подтверждённые компетенции.

Как мы выбрали темы и уровни

Мы обсудили с партнёрами из HH.ru и другими IT‑компаниями, какие навыки наиболее востребованы на рынке.
Выбрали три ключевых области:

  1. Git – команды, ветвление, workflows.
  2. Docker – сборка образов, volumes, networks, Docker Compose.
  3. Python – базовый синтаксис, работа с библиотеками.

Для каждой области определили «не самые легкие» уровни, чтобы проверить не поверхностное знание, а реальное умение решать задачи.
Тесты от коллег на платформе HH.ru показали низкие баллы – выяснилось, что нельзя копировать вопросы, а мы накопили интересные вопросы для обсуждения, но получили 0 баллов. Это стало сигналом: нужно создавать собственные задания.

Как собрать и проверить вопросы

  1. Собрать вопросы – менторы и кураторы предложили реальные задачи из проектов.
  2. Проверить на валидность – эксперты из IT‑индустрии оценили, что вопросы соответствуют требованиям работодателей.
  3. Тестировать – небольшая группа студентов прошла тесты, чтобы убедиться, что вопросы понятны и измеряют нужные навыки.
  4. Адаптировать – при необходимости уточнили формулировки и добавили контрольные пункты.

Таким образом, мы создали набор вопросов, который можно использовать как в онлайн‑платформе, так и в практических заданиях.

Как построить программу и провести ассессмент

  1. Разработать учебный план – на основе экспертных встреч сформировали дисциплину «Инструменты промышленной разработки».
  2. Первый семестр: Git, виртуальные машины, Docker, Docker Compose, Dev‑Containers, CI/CD в GitLab, баг‑трекинг.
  3. Второй семестр: Kubernetes, observability, n8n + AI‑боты, безопасность, тестирование, GitLab advanced.
  4. Подготовить практические задания – для каждой темы создали лабораторные работы, которые студенты выполняют в группах.
  5. Провести независимый ассессмент – используя платформу HH.ru и собственные тесты, измерили знания по выбранным уровням.
  6. Провести демо‑тест – аналогичные вопросы, но не входящие в аттестацию, чтобы студенты могли подготовиться.
  7. Анализировать результаты – выявили слабые места, пересмотрели учебный план и добавили дополнительные практики.

Что делать с результатами

  • Отчёт для преподавателей – подробный анализ по каждому студенту и группе.
  • Обратная связь студентам – индивидуальные рекомендации по улучшению навыков.
  • Корректировка курса – если большинство студентов не справились с определённой темой, добавляем дополнительные занятия и практики.
  • Проверка готовности к стажировке – студенты, прошедшие ассессмент, получают сертификат, подтверждающий компетенции.

Как избежать ошибок и рисков

Потенциальная ошибка Как избежать
Неправильный выбор уровней Согласовать уровни с работодателями и экспертами.
Слишком сложные вопросы Тестировать вопросы на небольшой группе до запуска.
Отсутствие практических заданий Включать лабораторные работы, которые проверяют применение знаний.
Неполный анализ результатов Использовать отчёты платформы HH.ru и собственные метрики.
Отсутствие обратной связи Предоставлять студентам индивидуальные отчёты и рекомендации.

Что дальше: внедрение и масштабирование

  • Расширить партнёрскую сеть – привлекать больше компаний для оценки и практики.
  • Автоматизировать сбор вопросов – создать внутренний репозиторий вопросов, обновляемый экспертами.
  • Интегрировать с LMS – подключить тесты к системе управления обучением для автоматической оценки.
  • Проводить регулярные ревизии – каждые 6 месяцев пересматривать учебный план и вопросы, чтобы они оставались актуальными.

Практический чек‑лист для внедрения

  1. Определите ключевые навыки, которые нужно оценить.
  2. Найдите партнёров из отрасли и согласуйте уровни сложности.
  3. Соберите и валидируйте вопросы с помощью экспертов.
  4. Создайте практические задания, соответствующие темам.
  5. Запустите независимый ассессмент через платформу HH.ru и собственные тесты.
  6. Проанализируйте результаты и обновите учебный план.
  7. Предоставьте студентам индивидуальные отчёты и рекомендации.
  8. Планируйте регулярные обновления вопросов и курсов.

Источники

Дополнительные материалы: примеры тестовых заданий и кейсов

Для иллюстрации подхода приведём несколько примеров заданий, которые использовались в ассессменте. Они помогут понять уровень сложности и формат проверки.

Пример 1: Git (уровень: средний)

Задание: В репозитории есть ветка feature/new-login. Вы хотите объединить её с основной веткой main, но перед этим нужно убедиться, что изменения не конфликтуют. Какие команды Git вы выполните? Опишите последовательность действий.

Ожидаемый ответ:
1. Переключиться на ветку main: git checkout main.
2. Обновить локальную ветку: git pull origin main.
3. Переключиться на feature/new-login: git checkout feature/new-login.
4. Выполнить слияние с main: git merge main.
5. Если есть конфликты, разрешить их вручную, затем зафиксировать изменения: git add . и git commit.
6. Отправить изменения в удалённый репозиторий: git push origin feature/new-login.

Пример 2: Docker (уровень: продвинутый)

Задание: У вас есть веб-приложение на Python (Flask) и база данных PostgreSQL. Напишите файл docker-compose.yml, который запускает оба сервиса, настраивает сеть для их взаимодействия и монтирует том для хранения данных базы данных.

Ожидаемый ответ:

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    depends_on:
      - db
    networks:
      - app-network
  db:
    image: postgres:13
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: myapp
    volumes:
      - postgres-data:/var/lib/postgresql/data
    networks:
      - app-network
volumes:
  postgres-data:
networks:
  app-network:

Пример 3: Python (уровень: базовый)

Задание: Напишите функцию на Python, которая принимает список чисел и возвращает новый список, содержащий только чётные числа, умноженные на 2. Используйте list comprehension.

Ожидаемый ответ:

def double_even(numbers):
    return [x * 2 for x in numbers if x % 2 == 0]

Рекомендации по доработке учебного плана на основе результатов

После первого запуска ассессмента мы выявили несколько ключевых проблем, которые потребовали корректировки программы:

  • Git: Студенты плохо понимали концепцию разрешения конфликтов. Добавлено практическое занятие с симуляцией конфликтов в парах.
  • Docker: Многие не знали, как настраивать volumes и networks. Введён отдельный модуль с лабораторной работой по созданию многоконтейнерного приложения.
  • Python: Слабое знание работы с файлами и исключениями. Усилен блок по обработке ошибок и вводе-выводе.

Эти изменения позволили повысить средний балл на 15% во втором семестре. Рекомендуем регулярно обновлять учебный план на основе данных ассессмента, чтобы он оставался актуальным для рынка труда.

Что почитать дальше