суббота, 27 февраля 2010 г.

как собеседовать кандидата на вакансию тестировщика?

"оЧень осторожно" примеры:)
главное- выявить нужного\подходящего из всего потока и сделать ему предложение, от которого он не откажется.

вот и задача сформулировалась.

теперь- к условиям.

необходимые:
1. кандидат должен быть способен выполнять его обязанности.
2. выполнять пункт 1 за плату, которая укладывается в рамки бюджета на позицию\отдел.
3. выполнять пункт 1 за время, которое укладывается в отведенные для этого сроки.

дополнительные:
здесь рассмотрим 2 варианта, обусловленных культурой процесса разработки в компании (отмечу, что оба приведенных варианта являются экономически оправданными на текущий момент, в условиях нашей действительности):

А- компания заинтересована в профессиональном росте своих сотрудников. Компания не заинтересована в "утечке мозгов", в текучке.
Б- компания выбрала путь содержания "конвейера", когда существует некий постоянно обновляемый коллектив низкопрофессиональных сотрудников.
(пункты НЕ сортированы по значимости или как-то еще)

для типа А:

1. обучаемость и желание учиться;
2. способность находить стандартные и нестандартные решения вопросов в заданных рамках (временных, информационных, компетенции, лояльности);
3. умение применять полученные знания;
4. умение работать как в команде, так и самостоятельно;
5. инициативность;
6. понимание процессов (смысла, целей и методов) тестирования и разработки вцелом.

для типа Б:

1. способность четко выполнять поставленные задачи и соответствовать правилам и шаблонам;
2. внимательность;
3. исполнительность;
4. понимание процесса (смысла, целей и методов) тестирования;


Итак, сформулированы условия, удовлетворение которым нам и потребуется проверить.

В принципе, не так уж и важно, как именно будут производиться эти проверки. Хоть на омлетах с кружками, чашками, прочим и шнурками (это все ссылки), хоть на реальных приложениях на принесенном ноуте и т.п. Важно, чтобы все они были проверены. Важно не путать одну проверку с другой и не делать поспешных ошибочных выводов. Если кандидат успешно справился с приложением на ноуте- преждевременно делать вывод, что он также справится с тестированием сложной незнакомой программы, в условиях ограниченного времени, ограниченных знаний (о продукте, о принятых правилах описания дефекта, о принятом глоссарии, например). Будь он трижды распрекрасным тестировщиком стандартных прог, мне не нужно, чтобы он тупил в ситуации, когда не ясно что вообще делать, а принимал какие-то (очень желательно- верные) действия, искал, узнавал, спрашивал и т.д. Мы калькуляторы не пишем, как и большинство других компаний. Стандартный тест даст (максимум) стандартные результаты (действия). Вам часто приходится тестировать стандартные вещи? Тест поля ввода даст понять, что кандидат умеет тестировать поля ввода. Не более. Как узнать может ли он придумывать и создавать сложные комбинации действий при тестировании? Как узнать может ли он делать выводы на основе полученной информации о том, где найденный баг может проявиться еще? Или какими действиями "дополнить" некий трабл до полного "crash"? Или что откинуть из действий, чтобы выявить саму суть бага?
А теперь думаем, какие вопросы надо задать, чтобы выявить эти умения и навыки. Без наводящих.

Теперь по пунктам.
Необходимые:
1. сначала (до собеседования) составляем проффесиограмму (ссыль). А затем думаем, какие вопросы нужно задать, чтобы узнать, в состоянии ли кандидат выполнять круг его прямых обязанностей.
2. есть лимиты на позицию (хотя бы в головах). оцениваем кандидата, "торгуемся", смотрим на получившуюся цифру и сравниваем ее с лимитами. Если лимитов нет- можно загуглить. Проблема в том, что почти все кандидаты завышают свой уровень ("персики и лимоны" у Дорофеева (ссыль)). Вопрос 1- на сколько. Вопрос 2- на сколько завышенный уровень мы можем себе позволить.
3. прямые вопросы (сколько времени занимало то или иное ("простое и сложное") действие на прошлом месте работы), косвенные (попросить выполнить какую-то активность (составить набор тестов (юз кейсов), протестировать, решить задачу и т.д.).

дополнительные:

для типа А:
1. поставить задачу, сказать как искать решение.
2. поставить задачу, НЕ сказать как искать решение.
3. применить пункт 1 на практике.
4. прямые и косвенные вопросы (как было, как хотелось, что нравилось, что- нет).
5. сколько и каких вопросов задал в пункте 2?
6. :)

для типа Б:
1. поставить задачу, посмотреть на результат выполнения.
2. добавить в пункт 1 хитрое условие.
3. опыт прошлого.
4. :)

Очень думаю, что перечислил далеко не все. Со временем дополню.

Не забываем вести беседу так, чтобы кандидат в ужасе не убегал с собеседования, перекрещиваясь пяткой (относится к части о предложении).:
А предлагать надо только то, что сможешь выполнить. Никогда не нужно обещать того, чего не сможешь выполнить ("не мешайте мне работать" Стас Давыдов (ссыль)). Тем более возможно твоему будущему сотруднику.