Поисковик кандидатов для HR (командный проект) — различия между версиями
Ivsavin (обсуждение | вклад) (Новая страница, с помощью формы Новый_командный_проект) |
(Перенос в осень 2017) |
||
(не показано 6 промежуточных версии 2 участников) | |||
Строка 2: | Строка 2: | ||
|name=Поисковик кандидатов для HR | |name=Поисковик кандидатов для HR | ||
|company=IPONWEB | |company=IPONWEB | ||
− | |semester=Осень | + | |semester=Осень 2017 |
|course=3 | |course=3 | ||
|number_of_students=3-5 | |number_of_students=3-5 | ||
Строка 12: | Строка 12: | ||
=== Чему научатся студенты? Что самое интересное в проекте? === | === Чему научатся студенты? Что самое интересное в проекте? === | ||
− | Пример разработки специализированного поисковика | + | * Пример разработки специализированного поисковика |
− | Пример информационной системы с типовым воркфлоу | + | * Пример информационной системы с типовым воркфлоу |
− | Большие возможности для эвристик ранжирования, классификаций, кластеризаций и тд, так как у объектов много разнородных фич | + | * Большие возможности для эвристик ранжирования, классификаций, кластеризаций и тд, так как у объектов много разнородных фич |
− | Область не очень конкурентная особенно на российском рынке, можно найти пользователей сервиса | + | * Область не очень конкурентная особенно на российском рынке, можно найти пользователей сервиса |
=== Организация работы (Как студенты будут работать в команде?) === | === Организация работы (Как студенты будут работать в команде?) === | ||
Основные моменты взаимодействия: | Основные моменты взаимодействия: | ||
− | + | * Непрерывная интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant) | |
− | + | * Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator | |
− | В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали. | + | * В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали. |
− | + | * Взаимные код-ревью: все ревьюят всех. | |
− | + | * Удаленная работа, встречаться нечасто (например, в конце каждого спринта), но раз в 2-3 дня обязательно синхронизовать результаты и планы в слаке/телеграмме или по почте. | |
− | === | + | === Компоненты (Из каких частей состоит проект?) === |
− | + | * Краулер | |
− | + | * Выгрузка профилей | |
− | + | * Нормализация профилей | |
− | + | * Нормализация запроса | |
− | + | * Ранжирование результатов | |
Краулер, который обходит по некоторым условиям (чтобы не выкачивать сайт целиком) популярные профессиональные ресурсы: LinkedIn, Github, StackExchange, Habrahabr, Upwork. | Краулер, который обходит по некоторым условиям (чтобы не выкачивать сайт целиком) популярные профессиональные ресурсы: LinkedIn, Github, StackExchange, Habrahabr, Upwork. | ||
Строка 39: | Строка 39: | ||
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
Язык разработки непринципиален, подойдет любой, в котором удобно работать с HTTP-запросами, взаимодействовать с СУБД и разрабатывать веб-сервер (например, Python, Ruby) | Язык разработки непринципиален, подойдет любой, в котором удобно работать с HTTP-запросами, взаимодействовать с СУБД и разрабатывать веб-сервер (например, Python, Ruby) | ||
+ | |||
+ | В качестве платформы подойдут AWS или Google Cloud | ||
=== Какие начальные требования? === | === Какие начальные требования? === | ||
− | Базовое понимание HTTP, опыт работы с API. | + | * Базовое понимание HTTP, опыт работы с API. |
− | Опыт веб-разработки и написания краулеров | + | * Опыт веб-разработки и написания краулеров |
=== Темы вводных занятий === | === Темы вводных занятий === | ||
− | Взаимодействие в команде, методология Agile | + | * Взаимодействие в команде, методология Agile |
− | Архитектура разрабатываемого проекта | + | * Архитектура разрабатываемого проекта |
− | Составление бэклога и планирование спринтов | + | * Составление бэклога и планирование спринтов |
=== Критерии оценки === | === Критерии оценки === | ||
Минимальные требования (на 4-5 баллов): | Минимальные требования (на 4-5 баллов): | ||
− | Краулер и выгрузка профилей через апи для одной соц.сети (например, Github) | + | |
− | Нормализация профилей с выделением основных навыков пользователя (языки программирования, фреймворки). | + | * Краулер и выгрузка профилей через апи для одной соц.сети (например, Github) |
+ | * Нормализация профилей с выделением основных навыков пользователя (языки программирования, фреймворки). | ||
Точные требования на 6-10 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта. | Точные требования на 6-10 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта. | ||
=== Похожие проекты === | === Похожие проекты === | ||
− | http://amazinghiring.com - наиболее близкий | + | * http://amazinghiring.com - наиболее близкий |
− | https://www.successfactors.com | + | * https://www.successfactors.com |
− | http://recruiter.friendwork.ru | + | * http://recruiter.friendwork.ru |
=== Контактная информация === | === Контактная информация === | ||
− | Почта: acccko@gmail.com | + | * Почта: acccko@gmail.com |
− | Телеграмм: acccko | + | * Телеграмм: @acccko |
Текущая версия на 11:26, 18 августа 2017
Компания | IPONWEB |
Учебный семестр | Осень 2017 |
Учебный курс | 3-й курс |
Максимальное количество студентов, выбравших проект: 3-5 | |
Содержание[убрать]
|
Что это за проект?
Поисковик по специалистам (по умолчанию в сфере ИТ): агрегирует информацию о людях из разных источников, склеивает разные профили одного человека, унифицирует и структурирует информацию о пользователях. Есть форма поиска, в которую можно вбить сырой текст вакансии, он также нормализуется и подберутся специалисты из базы.
Чему научатся студенты? Что самое интересное в проекте?
- Пример разработки специализированного поисковика
- Пример информационной системы с типовым воркфлоу
- Большие возможности для эвристик ранжирования, классификаций, кластеризаций и тд, так как у объектов много разнородных фич
- Область не очень конкурентная особенно на российском рынке, можно найти пользователей сервиса
Организация работы (Как студенты будут работать в команде?)
Основные моменты взаимодействия:
- Непрерывная интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant)
- Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator
- В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали.
- Взаимные код-ревью: все ревьюят всех.
- Удаленная работа, встречаться нечасто (например, в конце каждого спринта), но раз в 2-3 дня обязательно синхронизовать результаты и планы в слаке/телеграмме или по почте.
Компоненты (Из каких частей состоит проект?)
- Краулер
- Выгрузка профилей
- Нормализация профилей
- Нормализация запроса
- Ранжирование результатов
Краулер, который обходит по некоторым условиям (чтобы не выкачивать сайт целиком) популярные профессиональные ресурсы: LinkedIn, Github, StackExchange, Habrahabr, Upwork. После этого происходит некоторый ETL: выкачиваются профили и унифицируется информация в них. К той же унифицированной форме приводится текст запроса HR - описания вакансии. После этого происходит выборка и ранжирование.
Какие будут использоваться технологии?
Язык разработки непринципиален, подойдет любой, в котором удобно работать с HTTP-запросами, взаимодействовать с СУБД и разрабатывать веб-сервер (например, Python, Ruby)
В качестве платформы подойдут AWS или Google Cloud
Какие начальные требования?
- Базовое понимание HTTP, опыт работы с API.
- Опыт веб-разработки и написания краулеров
Темы вводных занятий
- Взаимодействие в команде, методология Agile
- Архитектура разрабатываемого проекта
- Составление бэклога и планирование спринтов
Критерии оценки
Минимальные требования (на 4-5 баллов):
- Краулер и выгрузка профилей через апи для одной соц.сети (например, Github)
- Нормализация профилей с выделением основных навыков пользователя (языки программирования, фреймворки).
Точные требования на 6-10 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта.
Похожие проекты
- http://amazinghiring.com - наиболее близкий
- https://www.successfactors.com
- http://recruiter.friendwork.ru
Контактная информация
- Почта: acccko@gmail.com
- Телеграмм: @acccko