Кирилл Данилов (donz_ru) wrote,
Кирилл Данилов
donz_ru

Categories:

Как собеседовал будущих коллег - java developer'ов

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


Как относиться к собеседованию?

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

Что не нужно делать

Нельзя опаздывать. Под собеседование резервируется переговорка (а их всегда не хватает), люди планируют свои дела с учетом времени на общение с вами. Чтобы вам не вызывать подозрений на текущей работе, интервьюеры могут специально прийти пораньше или задержаться. Если вы опаздываете в этом случае, это просто хамство. Да, бывают непредвиденные обстоятельства. В этом случае надо заранее позвонить и объяснить ситуацию. Вас поймут, если конечно причина уважительная, а не "я заблудился". Яндекс-картами человек, претендующий на работу программиста, должен уметь пользоваться. И рассчитать время с учетом пробок тоже. Не уверены в трафике, в свободном месте для парковки - воспользуйтесь метро. Короче, общение с будущими коллегами надо начинать с уважения, в том числе к чужому времени.

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

Нельзя отвечать "я это сам не делаю, потому что IDE сама разберется". Если IDE сама справится, то вас бы не пригласили. Да, есть много вещей, которые в реальной жизни встречаются редко, но иногда встречаются, и тогда надо знать, что же с ними делать. Это как таблица умножения. Калькуляторы на телефонах есть у всех, но знать "2 х 2 = 4" все равно надо.
Пример реального бага. Был id типа long. Автоматически сгенерировали equals и hashCode. Поняли, что id должен быть Long. На эти методы забили - зачем, ведь IDE сама разберется.
Нельзя отвечать "я высшую математику забыл" на "посчитайте, пожалуйста, алгоритмическую сложность операции X". Это не вышка, это тоже азы. Как и знание устройства основных структур данных. Да, надо знать как устроен HashMap. Никто не будет заставлять вас написать реализацию на листочке, но понимание, откуда слова "hash" и "map", необходимо, как и знание, когда применять ту или иную коллекцию данных. К своему стыду я сам решил разобраться в этом вопросе только после отказа на одном собеседовании.
Самый запомнившийся ответ на довольно простой алгоритмический вопрос: "я не знаю, я не программист" (человек имел в виду, что образование не профильное, но при этом стаж разработчика в несколько лет). Серьезно, без шуток. Жаль зеркала в переговорке не было, я бы хотел посмотреть на наши с коллегой лица.
Также постарайтесь избегать выражения "я не помню". Не так много вещей, которые надо просто помнить. Включите мышление, попробуйте логически вычислить ответ. В любом случае фраза "сходу решить не могу" звучит гораздо лучше.

Не надо пытаться прыгнуть выше головы. Если употребляете "умные" слова, готовьтесь, что вас или попросят их объяснить более простыми, или проверят их понимание.

Не нужно показывать, какой вы лаконичный и практичный человек. Если вопрос подразумевает несколько вариантов ответов, то выберите тот, который даст вам себя проявить. В ответ на "Назовите какой-нибудь шаблон программирования и объясните его смысл" услышать "Singleton" - это не впечатляет. Вам дали возможность загнуть небольшую лекцию на тему "Почему я считаю шаблон XXX довольно неплохим, и чтобы я хотел в нем улучшить", а вы про синглтон... Последний может быть интересен только с точки зрения "Почему надо сто раз подумать, прежде чем его использовать".

И напротив, не надо грузить собеседника ненужной информацией. Разносторонне развитый человек? Много хобби? Тонны мыслей об устройстве этого мира? Молодец. Когда устроитесь, вы сможете найти среди коллег единомышленников. Но если вас не спрашивают про любимое препровождение выходных, не стоит лишний раз откровенничать. Вот что ответить на "Да, я в городе до четвертого числа, буду с братанами тусить"? Расценивать как приглашение на семейную вечеринку? Девок, пиво брать?
Или другой случай. Кандидат в первые десять минут сделал "комплимент" эйчару, заявив что у нее эльфийская внешность. Десять баллов из пяти :)

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

Не надо врать. Понятно, что оценка собственных знаний очень субъективная. И что понятия "хорошо/плохо знаю" очень растяжимые. Но если указали отличное понимание maven, то должны знать отличие phase от goal.

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

Что нужно делать

Быть хорошим адекватным специалистом :)

Обязательно задайте вопросы о работе. Если кандидат не проявляет заинтересованности, то зачем он в команде? Никому не хочется работать с человеком, которому плевать на то, что он делает. И не вы, ни работодатель не заинтересованы в неожиданностях, которые внезапно обнаружатся уже после вашего выхода. Узнайте о важных для вас нюансах заранее.
Но надо понимать, что вопросы должны быть "в цель" и занимать адекватное время. Как правильно расставлять скобки можно разобраться на месте. А вот набор технологий стоит узнать заранее.

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

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

Очень хорошо, если вы заинтересуете интервьюеров. "Прикольно" проводить первые два-три собеседования. Потом начинается рутина. Причем на рабочем месте ждет нетривиальная задача (ну или недочитанная статья), а приходится задавать одни и те же вопросы в десятый раз. Дали банальную задачку - избавьте себя и собеседника от скуки, решите ее за пять секунд. Задали вопрос - найдите, как вам самому было бы интереснее дать ответ. Как уже писал выше, не стоит выдавать самый простейший вариант, особенно, если есть простор для действий.

Надо быть внимательным, но не искать несуществующего подвоха. Да, есть люди, которые любят дать код с опечаткой в названии метода какого-нибудь класса из swing'а и попросить выполнить роль виртуальной машины, а потом обломать "оно же не скомпилируется!". Но таких меньшинство. Отвечайте на вопросы так, как считаете, что они будут правильно восприняты вашими будущими коллегами. Неадекваты с опечатками в названиях методов сами отсеятся из списка желаемых вами позиций.

Если поднялась тема, в которой вы плаваете и не можете на месте сообразить что к чему, лучше об этом просто сказать. Избавьте от этой муки и себя, и собеседника.

Правильно оценивайте приоритеты условий работы. Вы попросили чай, а вам эйчар не принесла. Интервьюер точно не принесет. Что это значит? Видимо, в компании есть проблемы с обеспечением чаем гостей компании. А также это значит, что ваши коллеги не будут бегать вам за напитками. Если что-то из этого является серьезной проблемой, то надо отказаться от этой вакансии. 
Другой более реальный вариант. Вам все нравится, но не понравился эйчар, безопасник, психолог и т.д. Вы этих людей увидите максимум еще пару раз. Вам с ними не работать. Подумайте, стоит ли отказываться от позиции из-за человека, которого вы больше не увидите?

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

Что еще надо знать

Есть мнение, что человека оценивают в первые пять минут общения. Да, это так. И в принципе это оправданно. Только один кандидат, который не справился с первой задачкой на азы, проявил себя, как хороший специалист. Остальные лажали и во всем остальном.
Если поняли, что чем-то не понравились, не надо нервничать. Попробуйте показать сильные стороны. Не получается - все равно не надо нервничать :)

Проводить собеседования очень скучно. И чем скучнее, тем меньше шансов запомнить кандидата. Конечно, не надо плясать гопака, чтобы развлечь интервьюера. Но если есть возможность показать глубокие знания, не стесняйтесь.

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

Надо ли готовиться к интервью? Конечно надо!
Во-первых, обязательно узнайте о компании.
Во-вторых, никогда не повредит повторить алгоритмы и шаблоны, даже если вы на текущей работе их не используете. Вы же на новую устраивайтесь, чтобы полностью раскрыть свой потенциал и применить все правильные подходы? :)
Но просто заучивать ответы на вопросы, конечно, не стоит.

Вроде все.

Есть вопросы - задавайте.
Tags: it, ликбез, полезное, программирование, работа
Subscribe

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 17 comments