Вопросы, которые программистам на самом деле стоит задавать работодателям на собеседованиях

Большинство разработчиков, когда их спрашивают, почему они хотят сменить работу, отвечают что-то вроде: «Я хочу совершенствоваться, как программист, а моё текущее место не даёт такой возможности». Все ищут новых знаний, однако когда приходит время задать вопросы новому работодателю, обычно всё сводится к этому:

  1. Можно ли у вас иногда работать удалённо?
  2. Медицинская страховка предоставляется?
  3. А что насчёт отпуска?

Тут можно сделать один из двух выводов: либо разработчикам всё-таки в первую очередь нужна возможность работать удалённо, иногда отдыхать и лечиться за счёт компании, либо они задают не те вопросы.

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

1. Как разработчики узнают что-то новое?

Хорошие ответы:

Ревью кода Обмен знаниями Отдельные спринты для рефакторинга Парное программирование Ретроспективные обсуждения

Не самые лучшие:

Stack Overflow Можно спросить других разработчиков Иногда отправляем на конференции Смотря как вам удобнее узнавать новое

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

Возможные хорошие ответы:

  • Мы проводим ревью кода, некоторые спринты выделяются только для погашения технического долга, практикуем парное программирование, проводим ретроспективы.
  • Разработчики регулярно принимают участие в наших внутренних или внешних хакатонах.
  • Мы не против экспериментов с любыми новыми вещами на выбор самих разработчиков.
  • У нас есть собрания для обмена знаниями.
  • Разработчики учатся друг у друга (здорово, если в компании есть кто-то хотя бы с таким же или большим опытом, чем у вас самих).
  • Разработчики читают книги на разные темы и обсуждают их между собой.
  • Если не получается решить проблему самостоятельно, разработчики ищут её решение в Интернете.

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

2. Вы разрешаете разработчикам экспериментировать?

Хорошие ответы:

Свободный выбор технологий Поощрение новых идей Вы сами планируете своё время
для покорения неизведанных территорий

Не самые лучшие:

Никаких экспериментов Менеджеры расскажут,
как нужно это сделать
У нас нет времени на эту ерунду

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

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

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

3. Что нужно для того, чтобы получить повышение?

Хорошие ответы:

У нас разработан путь продвижения
программистов по карьерной лестнице
Личное обсуждение с руководителем Обратная связь Экспертный обзор Оценка как минимум раз в пол года

Не самые лучшие:

Продвижение после N лет работы Мы скажем, когда вы будете готовы Вы ведущий программист тогда,
когда вы помогаете другим

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

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

4. Расскажите о вашем опыте работы с чем-то необычным или инновационным

Хорошие ответы:

Мы платим в биткоинах Как-то раз проводили хакатон
по боям роботов
У нас бывают недели, когда запрещено
использовать мышку
Однажды мы попробовали использовать X,
но ничего не вышло.

Не самые лучшие:

Хм, не припомню такого
Технология X — самая крутая и
мы используем только её
Не стоит изменять то,
что и так отлично работает

«Нам нужен программист для работы над интересным, инновационным проектом» — сколько раз вы видели подобные слова в вакансиях? Так давайте же предоставим шанс работодателю оправдать написанное.

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

5. Будет ли у меня наставник и стану ли я сам для кого-то в будущем наставником?

Хорошие ответы:

В команде есть как опытные
разработчики, так и новички
В каждой команде есть технический
наставник
Парное программирование Ревью кода

Не самые лучшие:

Вы будете один на проекте Все работают удалённо Пожалуй, вы будете единственным
разработчиком с таким опытом

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

6. Какие у вас есть перспективы для ведущих разработчиков?

Хорошие ответы:

У нас есть планы для роста и для
ведущих разработчиков тоже
Будем рады помочь вам
строить ваше будущее
Всегда есть чему ещё научиться,
можно заняться наставничеством

Не самые лучшие:

Через год мы сможем обсудить
повышение оклада
Отправим вас на более сложные проекты Вы даже можете занять моё место
когда-нибудь

Представим, что вы заняли позицию «самого главного» разработчика в компании, много работали для этого и добились своего. Но что дальше?

Как понять, что после определённой точки ваш рост не прекратится и вам всегда будет куда развиваться? Просто спросите! Может быть, в компании есть более высокие должности для разработчиков. Тогда обязательно попросите их описать эти должности подробнее, чтобы не получилось, что они сводятся к другой надписи на визитке и большему количеству денег.

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

7. Вы выделяете бюджеты и время на обучение сотрудников и посещение конференций?

Хорошие ответы:

Мы оплачиваем участие в конференциях Сами тоже выступаем Покупаем книги Выделяем деньги на покупку
учебных материалов

Не самые лучшие:

Аээ, зачем?
В Интернете же и так всё можно найти!

Конечно, вы в любом случае будете учиться в процессе работы, но разве не было бы здорово иногда посещать сторонние конференции или слетать послушать вашего кумира в мире программирования?

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

8. Что вы делаете, когда понимаете, что проект начинает проваливаться?

Хорошие ответы:

Если вы ошиблись,
мы все можем поучиться на этом!
Посмотрим, что пошло не так
и не будем допускать подобных
ошибок в следующий раз!
Мы проводим ретроспективы как в случае
успеха, так и при провалах!

Не самые лучшие:

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

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

Также можете попробовать спросить:

  • Насколько проведение ретроспектив вообще привычно для вашей компании?

Теперь вы знаете, какие вопросы стоит спросить на вашем следующем собеседовании. Важно, что всё это нужно спрашивать у технического специалиста или руководителя во время их части интервью. Профессиональные рекрутёры из HR-отдела скорее всего уже слышали ранее такие вопросы и будут отвечать так, чтобы вам это больше всего понравилось.

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

В конце концов, вы, как программист, производите код, а взамен, получаете деньги и опыт. И если вас заботит в том числе вторая часть про опыт, то будет вполне уместным задать некоторые свои вопросы на собеседовании, а не только поинтересоваться уровнем оклада. Хорошем тоном тут будет заранее сообщить, что вы планируете это сделать, чтобы собеседник выделил достаточно времени на вас.


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

Адаптированный перевод статьи
«Questions a Knowledge-Seeking Developer Should Ask at a Software House Job Interview»