В начале доклада Егор предупреждает, что все, что он расскажет в течение последующих 40 минут, относится к его опыту и к его компании, поэтому необходимо отнестись к его словам с долей скепсиса и иронии. Тем не менее, это его мнение, и он рассказывает “от души”. Егор действительно провел около тысячи интервью, но конкретной цифры он не знает. В видео представлены рассуждения о рассчетах цифры, но для конспекта они мало важны.

От автора статьи. Мне нравится подход Егора Бугаенко к разработке софта и организации связанных с этим процессов. Я конспектирую некоторые его видео-доклады, и этот (Мой опыт проведения 1000 интервью / Егор Бугаенко (Zerocracy)) я публикую с разрешения Егора. По ходу текста я даю свои комментарии к его словам, используя наклонный шрифт. Текст написан от третьего лица, но иногда перехожу на повествование от первого. Доклад опубликован и на habr.com

Грехи интервью

Егор расскажет о семи грехах проведения интервью, которые совершают многие работодатели.

1. Гордыня (arrogance)

Поставить этот грех на первое место списка Егора побудил его коллега, который, к тому же, находился в зале во время доклада. Однажды он подошел к Егору и сказал “Мы классно проинтервьюировали специалиста, мы почти 2 часа разговаривали”. Егор же сказал в ответ, что он не умеет интервьюировать и в нем присутствует, возможно, гордыня - интервьюер считает, что он умнее, чем центры сертификации.

Оценку технических навыков специалиста стоит поручить соответствующим сертифицирующим центрам типа Microsoft и Oracle. Любой программист за приемлемые для себя деньги может пройти сертфикацию и показывать его интервьюерам. Это позволит сэкономить время обоим сторонам интервью. Центров сертификации много, и они есть для почти каждого языка программирования. В целом Егор считает, что

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

Учитесь доверять сертификационным центрам. Если у кандидата нет сертификации, значит он, по мнению Егора, средний специалист. В таком случае пары ключевых вопросов о языке будет достаточно, чтобы понять уровень кандидата. Егор же сам уже много лет не задает технические вопросы совсем: он показывает файл с кодом кандидатам и просит показать проблемы, которые они могут найти. Ошибки в этом коде допущены намеренно. Какого уровня кандидат найдет ошибки в представленном коде - низкоуровневые или высокоуровневые - и покажет Егору уровень специалиста.

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

2. Доверчивость (credulity)

Здесь Егор имеет в виду доверчивость к резюме. Обычно кандидат приходит на интервью и начинает разговор с последнего места работы. Ты ему вопрос “какой ты программист”, а он в ответ начинает рассказывать о том, где он работал: как в яндексе занимался проблемами поиска в интернете, в газпроме - обеспечением поддержки нефтяных вышек, а в сбербанке - проблемами обслуживания кредитной системы. Но по факту и там, и там, и там человек занимался рефакторингом какого-то Java-кода, написанном до него. Мы доверяем громким словам кандидата, но по сути его уровень может быть не так высок, как он сам считает. Для Егора предыдуще места работы ничего не значат. А верит Егор следующей информации:

Open source contribution

Егор уже неоднократно говорил, что если разработчик считает себя хорошим программистом, заинтересованным в своей карьере, а не отсиживающем в офисе с девяти до пяти, то он должен делать вклад в open source. Либо это будет вклад в собственные проекты, либо в открытые продукты других авторов. А если кандидат говорит, что отработал 10 лет в нескольких банках, а еще у него жена и ребенок и поэтому он не делает вклад в open source, то это для Егора - один из звоночков. Человек за 10 лет работы не нашел ничего, что можно было бы улучшить и выложить в открытый доступ, и это показывает Егору, что перед ним слабый специалист.

По мнению Егора, люди, у которых есть вклад в open source, должны получать больше, потому что они нашли в себе смелость, время и энтузиазм довести до состояния продукта какой-то кусок кода, который они написали в XXX-банке и выложить его в open source. И Егор просит не упоминать NDA, потому что написанный в стенах работодателя код, который сортирует коллекцию более эффективно, чем стандартные методы языка, не покрывается NDA. NDA - это о неразглашении информации о самом работодателе, его сотрудниках, структуры компании и прочей конфиденциальной информации, касающейся непосредственно работодателя. Java-код уж точно не покрывается NDA.

Сертификаты

О сертификатах Егор уже упоминал выше.

Community

Егору интересно, кто из программистов знает кандидата. Не предыдущие работодатели, а именно технические специалисты. Какое влияние оказывает конкретный кандидат на комьюнити. Блог, open source продукт, доклады на митапах или даже организация этих митапов. Мало кто может похвастаться тем, что другие программисты следуют за ним.

Pet-проекты