Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Разработка проектов и управление командой разработчиков


Информационный Канал Subscribe.Ru

Здравствуйте, уважаемые подписчики!

 Начало разработки проекта «База Данных Кандидатов».

Это первый драфт названия проекта в дальнейшем название может поменяться. Идея проекта - автоматизировать получение новых резюме кандидатов из интернета, их обработка, автоматизация разбора анкет кандидатов, а так же сделать работу HRM (Human Resource Manager) легче и проще.

Далее и в следующих выпусках рассылки я расскажу в деталях цели и назначение проекта, как он разрабатывается, какие были стадии, итерации, идеи и реализация. Примеры спецификации, модели БД, БД и сам проект можно будет сгрузить и опробовать с сайта, который будет создан пока пишется эта и следующая статьи.

Теперь немного отступления. С момента начала работы в фирме в качестве менеджера прошло уже более 6 лет.

В течение этих лет одним из главных вопросов – был вопрос кадров. Я даже шутил со своей командой, что подбор кадров это мой крест.

Люди, люди и еще раз люди, уверенные в том, что могут создавать успешные проекты их и создают. Люди, которые инициативны на столько, что не замечают проблем и успешно находят решения сложных задач. Не профессионалы, которые знают столько, что во всем сомневаются, а энергичные, инициативные и главное верящие в успех и добиваются результатов.

6 лет я общаюсь с кандидатами: начинающими, что-то знающими, что-то умеющими, специалистами и экспертами. Но главное для меня стало в людях: человеческие качества, инициативность и опыт.

По поводу человеческих качеств: если человек сволочится, то его профессионализм не играет никакой роли. Со сволочью работать никто не будет, правда это не относится к тем, кто этой сволочью и является.

Инициативность – даже опыт не столь важен, как инициативность. Инициативный человек может стать профи очень даже быстро, так как не боится пробовать и совершать ошибки. Такие люди быстро набирают опыт и становятся профессионалами.

Опыт – это главное что бы стать профессионалом. Теория ничего не стоит по сравнению с практикой. Успех это что-то типа: идея -> теория –> практика –> анализ результата –> теория –> практика –>….

Любая фирма в итоге сталкивается с вопросом подбора персонала. Для кого-то это проблема, для некоторых – просто выбор из огромной существующей БД. И те, кто имеют постоянно обновляемую и удобную БД кандидатов – быстрее и правильнее могут принять на работу стоящих людей.

Обычно сотрудников надо найти срочно и вчера. И что самое интересное – вопрос подбора персонала важен и актуален в течение всего времени работы фирмы, не зависимо от ее размеров. Ну конечно исключим фирмы, в которых директор, менеджер, бухгалтер, секретарь, менеджер проекта, руководитель команды, разработчик, тестировщик и технический писатель – одно и тоже лицо (к близнецам не относится).

Все ищут достойных людей, и кажется, вот нашел и теперь можно остановится, однако идет время, ситуация меняется, и надо либо заменять существующих сотрудников либо подбирать новых на открывшиеся вакансии.  И опять надо начинать поиск достойных людей с начала. И снова звонки, переписка, инет, объявления, реклама. Если искать не достойных, то конечно – поиск не является проблемой – первый попавшийся свободный кандидат подойдет.

6 лет я занимался этим же: инет, звонки, объявления, реклама. Среди всех способов поиска сотрудников самым эффективным оказался интернет. Именно через инет я подобрал 50% своих сотрудников.

За это время работы с кандидатами моя БД выросла до тысячи человек, появились десятки статусов кандидатов и сотни записей, заметок и комментариев. И в итоге я пришел к выводу, что необходимо максимально автоматизировать и упростить работу по поиску и обработке кандидатов.

В следующих статьях я опишу программу, которая позволит мне автоматизировать и упростить работу.

Я расскажу идею, распишу модель БД и как она рождалась от первой мысли до законченной физической модели, покажу пример функциональной спецификации на этот проект, и опишу этапы внедрения проекта в свой фирме, создам сайт и выложу проект для тестирования и пользования.

Самого проекта еще нет, есть только идея и уже частично готовая модель БД. Остальные стадии, этапы будут следовать шаг за шагом как в художественной литературе, где есть завязка, разворот событий и финал. Завязка уже началась в этой статье, а основные события и финал будут отражены в следующих статьях.

Вы сможете следить за всем ходом разработки, оценивая его, критикуя, советуя или просто держаться в стороне.

От идеи до проекта.

Идея выглядит следующим образом. Через все возможные каналы идет реклама и даются объявления. Кандидаты берут с сайта фирмы или получают по почте стандартную анкету. Они заполняют ее и шлют обратно в фирму. Стандартная анкета разработана таким образом, что как только она приходит, то автоматически разбирается и заносится в БД. Автоматический разбор возможен когда анкета построена таким образом что кандидат может заполнять только определенные поля и не может менять или расширять остальной текст.  Дополнительно специальные методы собирают каждый день или через определенные периоды времени новые резюме, парсят их  и автоматически заносит в БД.

HRM просматривает БД и с помощью фильтров выделяет определенные группы кандидатов, которым надо отослать к примеру стандартную форму резюме или выслать тестовое задание или обработать полученное решенное тестовое задание или пригласить на интервью.

БД так же позволяет хранить шаблоны тестовых заданий и соответственно автоматически их рассылать кандидатам по определенным критериям.

Так же в БД могут храниться «проф. портреты кандидатов» и если найденный кандидат совпадает с одним из портретов, то автоматически менеджеру проекта отсылается уведомление о том, что найден потенциальный кандидат на свободную вакансию. Т.е. менеджеру проекта достаточно только описать портрет искомого кандидата и занести его в БД, и больше не нависать с озабоченное выражением лица над менеджером по кадрам.

Автоматизация работы HRM  происходит за счет: а) методов, которые извлекают новые резюме из интернета; б) специальной формы резюме, которая разбирается автоматически программой без участия менеджера; в) структуры БД и пользовательского интерфейса, которые позволяют получить списки кандидатов по различным критериям и быстро работать с информацией о кандидате.

Главное, как с минимальными усилиями вести и обновлять БД кандидатов и при этом быть в курсе кому, что надо ответить, отзвониться, отослать и проверить.

Пока количество кандидатов около 100-500 человек, то Excel справляется лучше некуда: табличная структура, можно использовать цвета для текста и ячеек, различное оформление, выделение групп. У меня, к примеру, была вот такая таблица с колонками:

- дата занесения кандидата;

- имя и фамилия кандидата;

- языки и технологии, которыми кандидат владеет;

- e-mail;

- контакт. Телефоны: домашние, рабочий и мобильный;

- статус. Дата и описание что надо сделать. Например, <date> - пригласить на собеседование или <date> -  отослано тестовое задание

- мое мнение о кандидате. Мнение о кандидате формируется уже после общения по телефону и переписке, даже до того как я с ним лично встречусь. Это, пожалуй, самое главное поле для меня было;

- линк на файл резюме кандидата. Резюме обычно ранилось в папке на диске и имело имя как название e-mail только с расширением doc;

- краткий тест резюме, если оно было взято из интернета.

Не секрет, что софтверные компании не конкурируют между собой за клиентов, так как за сотрудников и кандидатов.

Если ваша и конкурирующая компания равны по условиям работы сотрудников, то что бы быть первым в подборе кандидатов, надо: 1) первым найти и пригласить кандидата; 2) иметь всегда обновленную БД кандидатов; 3) быстро обрабатывать инфо от кандидатов и быстро давать им ответ и принимать решения. Для этих целей и служит БД кандидатов, и если она не помогает, а больше запутывает, то надо что-то менять в «консерватории».

Сама идея БД кандидатов далеко не нова, но интеграция с механизмом автоматического обновления резюме из интернета и авто-разбор резюме значительно помогает в работе, ну плюс еще и удобный пользовательский интерфейс.

Идея есть – это начало! Теперь надо подготовить описание форм, разработать модель БД, описать алгоритмы,  запрограммировать, протестировать и важно выполнить все в нужной последовательности.

В процессе написания статей я буду готовить функциональную спецификацию и разрабатывать модель БД.

Немного о выборе БД. Я выбрал MS Access, так как проект ориентирован на небольшие фирмы и сама программа должна быть простой в установке, с открытым кодом и легко модифицируемой.

Access всему этому удовлетворяет.

Поставить программу на компьютер – легче не придумать: создал папку на диске и скопировал в нее файл БД Access. Никаких тебе регистраций библиотек и установки дополнительных библиотек. Даже если расширенные библиотеки и будут использоваться, то они ставятся вместе с Access автоматически и об этом не надо будет заботится дополнительно.

Открытый код. Все будет написано на VBA - т.е. встроено в саму БД. Не надо думаю доказывать, что VBA – один из самых распространенных и простых языков. Знаний начинающего разработчика будет достаточно, чтобы разобраться и модифицировать код.

Как я уже писал выше, проект еще на стадии анализа, подготовки спек и модели БД. И поэтому я хочу по шагам расписать, как он будет разрабатываться, что бы показать начинающим программистам стадии разработки, а так же возможно поспорить с экспертами в области проектирования и разработки софта.

И так!

Начал я разработку проекта с этапа обдумывания. 10 минут обдумывал, потом брал блокнот и записывал. Писал все, что касаемо идей, подходов, рисовал формы и таблицы БД. Я искал с чего начать разработку, – что взять за основу хранилища информации о кандидате (факт – именно за счет грамотного хранения информации можно быстро и просто с ней работать, и так же автоматизировать). Этот процесс длился несколько дней (вру – от появления идеи, до этого момента прошло пару месяцев, но я ограничивался только небольшими заметками в блокноте), пока я не понял, что все, что я могу собрать я уже собрал, и пора пробовать, а не мучить голову и бумагу. В голове и на бумаге я решал проблему: надо ли самому разрабатывать это проект, – не проще ли найти в интернете уже готовый, или если буду сам его писать, – то какие могут быть проблемы и как их решить.

Исписав десятки страниц, полазив в интернете и проанализировав потенциальные проблемы, – решил писать проект сам. Почему – постарался обосновать выше.  

Я уже знал секрет по поводу обдумывания – обдумывание без практики – пустое и только голова забивается и болит. Надо освобождать голову практикой через опыт. Тогда голова становится легкой и появляется больше свободного времени, что бы практиковаться. И поэтому, как только появилась первая стоящая идея по поводу хранилища, я сел за спецификацию и начал расписывать поля в своем блокноте. За основу данных для хранилища я взял несколько веб-форм кандидатов, которые размещались в интернете (такой выбор был обусловлен тем, что самая первая идея создания БД кандидатов была связана с тем как автоматически извлекать из веба новых кандидатов и сохранять их в БД). Этих полей оказалось не достаточно и уже на следующий день я понял что ошибся. Но путь сам по себе был верным, и ошибка была в том что я неправильно выбрал источник для хранилища. В следующей итерации я взял за источник резюме, которое использовалось нами в фирме.

Это было уже лучше: полей было намного больше и более приближенные к нашим требованиям. Однако форма нашего резюме на ложилась гладко на реляционную модель БД и сложно парсилась, так как кандидат мог менять не только поля для ввода, но и сам формат анкеты, что естественно приводило к тому, что парсер должен в таком случае обладать искусственным интеллектом. Желания связываться с искусственным интеллектом у меня не было, и поэтому я использовал простое решение, о котором расскажу позже.

Я продолжал поиски лучшей идеи для структуры хранения информации о кандидате и наткнулся в интернете на потрясающий вариант резюме (приношу свои извинения за плагиат анкеты у компании ‘EPAM Systems’). Это резюме было сделано в MS Worde и позволяло кандидату вводить ответы только в определенные поля, при том, что остальная часть документа была не доступна для модификации пользователем. Теперь добавляем имена полям и с помощью VBA это резюме может быть распарсено и занесено в БД моментально!

Немного поработав над содержимым резюме, оно стало готовым для автоматического разбора и добавления в БД.

Продолжение следует (К моменту выпуска новой статьи уже будет готова страница в вебе, с которой можно будет взять вариант вышеописанного резюме и модель БД, а может быть и часть функциональной спек.)

С уважением,

Сергей

prj_management@list.ru

 

 


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.prjmanagement
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное