Идея описать процесс приготовления и тестирования омлета у меня возникла по одной непростой причине.
Мне сейчас приходиться собеседовать людей в проект. Я не очень люблю это занятие. Приходиться тратить и без того "золотое" время. Приходится отказывать людям в трудоустройстве, и порой отказывать не потому что специалист плохой, а потому что сомнения закрались о том - как мы сработаемся. Непростой еще и потому, что к собеседованию нужно готовиться. Если я получаю резюме - то как минимум полчаса я потрачу на то, чтобы узнать как этот конкретный специалист "наследил" в интернете. ВКонтакте, Одноклассники, Линкедин и просто старый добрый Гугль.
Мне сейчас приходиться собеседовать людей в проект. Я не очень люблю это занятие. Приходиться тратить и без того "золотое" время. Приходится отказывать людям в трудоустройстве, и порой отказывать не потому что специалист плохой, а потому что сомнения закрались о том - как мы сработаемся. Непростой еще и потому, что к собеседованию нужно готовиться. Если я получаю резюме - то как минимум полчаса я потрачу на то, чтобы узнать как этот конкретный специалист "наследил" в интернете. ВКонтакте, Одноклассники, Линкедин и просто старый добрый Гугль.
Омлетная тема: как приготовить и протестировать амлет - это как раз один из тех вопросов, что я задаю на финальном этапе, называемых мной "странные вопросы".
Основную массу тем для разговоров я беру из своего старого допросника. Также использую стандартные тесты своей компании, и в конце собеседования, задаю "глупые" задания-вопросы:
- Возможно ли сдвинуть гору Эверест. Если нет - то почему. Если да - то почему.
- Протестировать ручку.
- Подсчитать количество настройщиков роялей в мире.
- Прочая лабуда, и, в том числе, лабуда про омлет.
Поскольку я задаю это задание другим, соответственно я должен иметь четкое представление - как это задание решать. Это и есть основная причина, по которой я собирался написать заметку. Себе и тем, кто когда нибудь со мной встретиться )).
Собственно, как только я начал готовить заметку, то на следующий же день нашел нечто подобное в другом блоге. Причем там разгорелся нешуточное обсуждение корректности такого подхода. Есть сторонники и противники "странных вопросов". Я постараюсь объяснить почему я использую подобные вопросы, почему я этот подход считаю правильным и собственно попытаюсь предложить свой подход к решению шероховатостей возникающих на этапе "странных вопросов".
Почему?
Так почему же я так поступаю с людьми? Почему я такой монстр?! Что за проблемы с психикой у меня, что я отрываюсь на других? Кто мой психиатр???На самом деле я очень белый и пушистый. Просто очень много читал в свое время литературы, в которой указывался именно этот способ проверки (один из способов!) соискателей.
Сейчас я ищу зрелых специалистов. Я уверен, что айтишник - он и в обычной жизни айтишник. Если дать человеку задание протестировать программу, он может просто иметь уже опыт тестирования логин полей, консольных команд, переборов. Или прочитать про это. Мне же интересно, как человек будет вести себя с тем, что еще не встречалось ему в жизни. Как он сможет абстрагироваться и применить свой опыт в разработке ПО к обычным повседневным вещам.
Еще я ищу людей, которые читают и готовятся к собеседованию. Если ты решил сменить место работы, пожалуйста, будь любезен, освежи свои познания. Прочитай модные книги. Пробегись глазами по блогам. Вспомни кто такой Джоэл Спольски. ТАМ ОБ ЭТОМ ПИШУТ. Если человек читает - это только в плюс. Я в месяц читаю уже не 5 технических книг, как раньше, но 1-2 книги точно. И специалист, которые не читает, если честно, меня настораживает.
ИТ специалист обязан читать. И обязан читать много.
А еще я делаю это, потому, что я люблю играть. Честно. Все кто меня знают, отличают это - я даже в резюме пишу, что обладаю поистине замечательным качеством хорошего специалиста - "чувством юмора". Можно конечно поспорить - есть ли у меня чувство юмора, и насколько оно хорошее. Но я считаю, что есть и поэтому предлагаю забавные вопросы, чтобы увидеть - способен ли человек улыбаться. Протестируй ручки, выключатели, свою любимую маму - не выходя из дома. А лучше в компании друзей. Это забавно - проверено Селяевым ;).
Как задавать вопросы?
Я не задаю вопросы подобные "омлетному" в начале собеседования.
К тому же перед заключительными этапом я уже на 80% уверен - подходит человек или нет. Во время беседы я шучу, улыбаюсь, задаю вопросы не только о работе, но и о жизни. Я стараюсь, чтобы человек расслабился. Почувствовал себя в своей тарелке. Так человек будет гораздо ообразительнее. И вот, в конце беседы, начинается последняя стадия. Вопросы на сообразительность и на смекалку. "Странные вопросы".
Любая смена работы, любое собеседование, любая беседа в которой тебя оценивают (экзамен например) - это стресс. Люди должны успокоиться!
К тому же перед заключительными этапом я уже на 80% уверен - подходит человек или нет. Во время беседы я шучу, улыбаюсь, задаю вопросы не только о работе, но и о жизни. Я стараюсь, чтобы человек расслабился. Почувствовал себя в своей тарелке. Так человек будет гораздо ообразительнее. И вот, в конце беседы, начинается последняя стадия. Вопросы на сообразительность и на смекалку. "Странные вопросы".
Представьте, что в ваш ресторан поступил заказ приготовить омлет. Как бы вы, используя ваш опыт в разработке (используя навыки управления программными проектами) и тестировании ПО приготовили и проверили бы омлет?
Главная обязанность того, кто проводит собеседование, поддерживать непринужденную беседу. Кивать. Улыбаться. Шутить. Ни в коем случае собеседуемый не должен чувствовать себя неуютно. Пусть лучше он подумает, что вы глупый и неадекватный, чем вы сломаете человеку желание искать работу дальше. Может быть и в другой компании.
Чего я жду?
Во первых я жду вопросов.
Тестер должен задавать вопросы - это его прямая обязанность. Тестировщик не должен оставлять белых пятен на выпускаемом продукте. Белые пятна в продукте - это черные пятна на его репутации.
Вопрос звучал об абстрактном заказе омлета. Чтобы не получилось все как в известной картинке
я бы стал задавать вопросы:
1. Как приготовить? Рецептов амлетов до кукуя. Если у нас есть только один в меню, следует напомнить об этом клиенту. Если клиент хочет свой способ - спросить и уточнить у повара (обратная связь! - мы может случиться и приготовить не сможем).
2. Количество порций (может статься, что клиентов несколько на один вид заказа - можно сэкономить время и приборы: сковорода, масло и т.п.)
3. Количество яиц (близко к вопросу 1)
4. Количество молока (близко к вопросу 1)
5. Соль, перец и другие с специи (близко к вопросу 1)
6. Другие ингредиенты (близко к вопросу 1)
7. На какое время рассчитывает клиент.
8. Уточнить сумму, на которую рассчитывает клиент...
Ну конечно же, если наш омлет коробочный продукт - нечего распинаться: пусть устанавливает в своем желудке то, что мы ему продадим по указанной в прайсе сумме. :))) Но мы то с вами понимаем, что даже у коробочных продуктов услуги по сопровождению и лицензиям ох какие разные. Так что чтобы человек вместо омлета со спаржей
не получил гигантский омлет из книги рекордов Гиннеса
тестировщик должен задавать вопросы, даже если до него потрудился бизнес аналитик.
Во вторых я жду описание техпроцесса
Перевожу на язык тестировщика - я хочу детальный тест план.
Если у нас известны требования, то мы с вами можем обсудить технологический процесс приготовления продукта. Продукт у нас омлет. Что я хочу от описания техпроцесса:
- хочу услышать какие вещи нам понадобятся: ложки, поварежки, кастрюли, помещение, печка ...
- хочу услышать фразы "если": Если у нас n яиц, то мы берем сковородку номер 666. Если у нас стандартный заказ - сыпем на n яиц соли и перца в пропорции столько-то грамм на количество молока+яйца. Если у нас заказ не стандартный - то у нас есть таблица что-с-чем-можно-смешать-в-каких-пропорциях. Либо нам эту таблицу нужно создать.
- хочу услышать шаги: 1. берем глубокую тарелку достаточную для количества яиц и остальных ингредиентов (см. таблицу что-с-чем-можно-смешать-в-каких-пропорциях). 2. По определенному порядку смешиваем продукты. 3. Разогреваем сковородку..... - ну вы как будто никогда не читали рецептов ж).
- еще я хочу услышать, что человек будет делать после того, как приготовит омлет, а именно: уберет кухню, спросит у клиента вкусно ли (обратная связь!), сделает выводы - как можно улучшить тех процесс.
Если человек скажет, что неплохо весь этот процесс взять сфотографировать и задокументировать, то этому комраду я готов пожать руку, поскольку новички должны знать, что им предстоит делать в будущем. Об этом я уже упоминал в Newcomer Checklist.
Какие выводы я делаю?
Как я уже упомянул, к данному этапу "странных вопросов" я на 80% процентов уверен - позитивный фидбек я напишу об этом специалисте или нет. Но эти вопросы помогают мне определить зрелость специалиста. Дают возможность специалисту поднять свой рейтинг в моих (пусть не всегда объективных) глазах. Дают мне возможность понять - насколько человек понимает, что такое процесс производства продукта. Ну и конечно этот вопрос иногда стреляет. Один из собеседуемых ответил мне тремя предложениями:
1. Разбить яйца.
2. Приготовить.
3. Попробовать.
Очень информативно, не правда ли?
Заключение
Я бы хотел подвести итог текущей заметке и еще раз выделить свою мысль, касательно "неадекватных", "непонятных", "некорректных с точки зрения собеседования" вопросов:
1. Эти вопросы нужны, поскольку позволяют проверить насколько человек может абстрагироваться от знакомых ему вещей.
2. Эти вопросы нужны, поскольку позволяют проверить - готовиться ли человек к смене работы и читает ли человек околотестировочную литературу.
3. Эти вопросы нужны поскольку позволяют проверить зрелость человека (насколько детальными будут описания техпроцесса).
Несколько уточнений:
1. Я никогда не оценивают (и вам не советую этого делать) человека только по этим вопросам. Это только опция.
2. Человек не должен испытывать неудобство во время собеседования, иначе эти вопросы просто его добьют. Итог будет неутешителен и для вас и для собеседника.
3. Вопрос должен подразумевать, что специалист должен использовать свои знания в разработке программных продуктов.
И еще - я никогда не стал бы готовить омлет, так как описал в заметке. Потому что это бред ;). Приготовление омлета для меня и моей семьи не требует техпроцесса, опроса клиентов и документирования. Моя семья съест именно то, что я приготовлю. Потому что другого я готовить все равно не умею ;)).