Поисковик кандидатов для HR (командный проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_командный_проект)
 
(Перенос в осень 2017)
 
(не показано 6 промежуточных версии 2 участников)
Строка 2: Строка 2:
 
|name=Поисковик кандидатов для HR
 
|name=Поисковик кандидатов для HR
 
|company=IPONWEB
 
|company=IPONWEB
|semester=Осень 2016
+
|semester=Осень 2017
 
|course=3
 
|course=3
 
|number_of_students=3-5
 
|number_of_students=3-5
Строка 12: Строка 12:
  
 
=== Чему научатся студенты? Что самое интересное в проекте? ===
 
=== Чему научатся студенты? Что самое интересное в проекте? ===
Пример разработки специализированного поисковика
+
* Пример разработки специализированного поисковика
Пример информационной системы с типовым воркфлоу
+
* Пример информационной системы с типовым воркфлоу
Большие возможности для эвристик ранжирования, классификаций, кластеризаций и тд, так как у объектов много разнородных фич
+
* Большие возможности для эвристик ранжирования, классификаций, кластеризаций и тд, так как у объектов много разнородных фич
Область не очень конкурентная особенно на российском рынке, можно найти пользователей сервиса
+
* Область не очень конкурентная особенно на российском рынке, можно найти пользователей сервиса
  
 
=== Организация работы (Как студенты будут работать в команде?) ===
 
=== Организация работы (Как студенты будут работать в команде?) ===
 
Основные моменты взаимодействия:
 
Основные моменты взаимодействия:
- Непрерывня интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant)
+
* Непрерывная интеграция: линтеры кода, прогон тестов, покрытие тестами, сборка пакета и выкладка на прод, работа с конфигурациями. Настройка на примере Jenkins или Phabricator. Работа с конфигурациями через Puppet (или, возможно, Docker или Vagrant)
- Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator
+
* Гибкая методология разработки: бэклог, организация спринтов, оценка сложности задач и сопоставление с фактически потраченным, демо. Технически на примере Trello, RedMine или Phabricator
В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали.
+
* В группе каждые 2 недели (спринт) переходит роль менеджера проекта, чтобы каждый мог попробовать роль пару раз и на планирование не забивали.
- Взаимные код-ревью: все ревьюят всех.
+
* Взаимные код-ревью: все ревьюят всех.
- Сразу рассчитывать в основном на удаленную работу, встречаться нечасто (например, в конце каждого спринта), но раз в 2-3 дня обязательно синхронизовать результаты и планы в слаке/телеграмме или по почте.
+
* Удаленная работа, встречаться нечасто (например, в конце каждого спринта), но раз в 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 будут сформулированы на первых занятиях исходя из составленного бэклога и уровня подготовки участников проекта.

Похожие проекты

Контактная информация

  • Почта: acccko@gmail.com
  • Телеграмм: @acccko