Вы, читатель, особенный. Возможно вы разработчик, и так как вы читаете этот сайт, вероятно, заботитесь о том, чтобы ваш код не попал на эти страницы. И вас трудно найти работодателям, потому что, скорее всего вы уже трудоустроены и не ищите работы.
Теперь, когда на собеседовании я сижу по другую сторону стола, становится совершенно очевидно, что найти хороших разработчиков трудная задача. А если вы небольшая компания, растущая в тени транснациональных корпораций заглатывающих всех толковых разработчиков в округе, то задача становится еще труднее. Именно такую задачу и предстояло решить Бренту Р.
У Брента не было под рукой понимающего суть кадровика. Будучи единственным разработчиком в компании, он был единственным человеком способным отличить экспертов по С-Диез от настоящих разработчиков. К тому же учитывая размеры компании, не стоило надеяться на повышенное внимание от соискателей. Впрочем, при помощи охотника за головами удалось отыскать парочку многообещающих образцов. Оба хорошо знали .NET Framework, имели за плечами года работы с C#, и недурно разбирались в SQL Server-е.
Прежде чем встречаться с претендентами тет-а-тет Брент хотел убедиться в их компетентности по телефону. Сначала они позвонили Элвину (будем звать его так). У него было одно преимущество над другим кандидатом, длиннющее резюме. Не в том смысле, что он дольше проработал в отрасли, просто оно занимало зловещие шесть страниц. Вы, наверное, смеетесь, а вот у вас на шесть страниц резюме? Нет? Вот так то! Элвин: 1, Сообщество WTF: 0.
Брент и ответственный по найму (назовем ее Синтией) посчитали, что резюме в 6 страниц вещь сама по себе достаточно подозрительная, но все равно решили позвонить соискателю для пробы знаний. Набрав номер Элвина, они услышали «*биип бууп БУУП* если хотите сделать звонок, пожалуйста, повесьте трубку и попробуйте сно-». Последовав совету приветливого женоробота, они повесили трубку и попробовали снова. И снова не судьба. Получив от охотника за головами другой номер, они набрали еще разок и, наконец, услышали Элвина.
Брент и Синтия по очереди объясняли различные аспекты его будущей должности. «В основном это поддержка кода», объясняла Синтия. «Главным образом обслуживание внутреннего приложени-».
«Эээ, погодите-ка минутку», перебил Элвин. Брент и Синтия с удивлением уставились друг на друга. В трубке раздался двойной щелчок мышью, а затем тишина. Несколько минут тишины.
*щелчок* «Ладно, продолжайте, о чем вы там говорили», сказал Элвин.
Они закончили свою речь о компании, и Брент перешел к технической части собеседования. Он начал с простого. «Не могли бы вы мне сказать, чем статические классы отличаются от не статических?»
«Конечно, один момент». Беседа снова остановилась, но на сей раз щелчков и ударов по клавишам было гораздо больше.
«Думаешь, он гуглит?», неслышно прошептал Брент Синтии.
«Итак, вы готовы?», спросил Элвин. Брент не успел ответить, а Элвин начал объяснять: «Статические классы не требуют инстан...», Элвин остановился, «инстанирования». Снова пауза, «инстанцирования».
Почему-то этот ответ Брента не впечатлил, более того, его не покидало ощущение, что до сего дня слово «инстанцирование» не входило в лексикон Элвина. Тем не менее, он продолжил задавать вопросы, получая все более нелепые ответы. Наконец Брент попросил Элвина, «объяснить разницу между управляемым и неуправляемым кодом, в контексте .NET Framework».
«Нуу, управляемый код, это когда работаешь над ним в группе. И кто-то им управляет».
Губы Синтии начали потихоньку расплываться в улыбке, а через несколько мгновений она уже изо всех сил безуспешно старалась сдержать смех. Пытаясь не рассмеяться Брент спросил, «... ну, а неуправлямый код?»
«Неуправляемый код - это код, над которым работаешь самостоятельно, без контроля со стороны».
В последний момент палец Брента нажал на кнопку отключения звука, а сам он сполз под стол и начал биться в конвульсиях от смеха. Как только он смог взять себя в руки, он поблагодарил Элвина за потраченное время и сообщил, что в случае чего с ним созвонятся.
Уверен, Брент жалеет, что не спросил о наследовании. Он бы узнал, что это не разделение свойств и методов среди классов, а когда разработчик растит из своего сына еще одного разработчика.
Оригинал:http://worsethanfailure.com/Articles/Well-Be-In-Touch-Maybe.aspx
Перевод:Евгений Виговский