10 вопросов, которые следует задать на собеседовании для разработчиков

10 вопросов, которые следует задать на собеседовании для разработчиков
10 вопросов, которые следует задать на собеседовании для разработчиков
Изображение
Изображение

Примечание редактора. В этой статье предполагается, что у вас есть определенные знания в области разработки программного обеспечения

Удивительный мир разработки программного обеспечения. Я работаю «профессиональным» программистом уже около 6 месяцев и за это время научился гораздо большему, чем за все время своего обучения в колледже.

Спасибо, колледж.

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

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

1. Какие инструменты использует команда/компания?

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

Вот некоторые полезные сведения о компании, в которую вы подаете заявку. Какую среду кодирования вы используете? Какие инструменты управления исходным кодом? Есть ли какие-то другие специальные инструменты, которые мне нужно знать, прежде чем вы присоединитесь к команде?

2. Существуют ли какие-то стандарты кодирования?

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

3. Какие технологии хранения используются?

Как разработчики и компания хранят информацию? Это особый тип технологии базы данных или она открытая? Например, нужно ли вам использовать стандартную технологию баз данных, выпущенную компанией, такую как SQL Server или MySQL, чтобы добиться поставленных целей? Или вы можете использовать MongoDB по прихоти?

4. Какие операционные системы используются?

Это должно быть очевидно до вашего собеседования, но всегда полезно спросить о чем-то. К тому же не помешает страстно рассказать о любимой ОС, гик. Я могу себе представить, что многие компании используют широкий спектр операционных систем. Конечно, самыми популярными являются Linux, Windows и Mac OS X.

5. Является ли команда Agile-командой? Они следуют методологии Waterfall (ох!)?

Какого стиля разработки придерживается компания/команда? Являются ли они Agile-командой? Водопад? Насколько точно они следуют методологии?

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

6. Сколько возможностей есть у разработчиков, чтобы «взять на себя ответственность»?

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

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

7. Существуют ли какие-либо ограничения для инструментов/программ?

Есть ли программное обеспечение, которое компания «запретила» использовать? Это больше похоже на программное обеспечение с открытым исходным кодом или программное обеспечение со странными лицензионными ограничениями для коммерческого использования.

Даже после вашего собеседования, возможно, не стоит устанавливать и использовать программное обеспечение, которое напрямую не «одобрено» компанией, если только вам не предоставлена полная свобода действий.

8. Можно ли работать удаленно?

Какие условия работы есть в компании, когда дело доходит до удаленной работы? Это может стать огромным преимуществом для будущего сотрудника - возможность работать из дома. Если компания допускает удаленную работу, важно знать, каковы ожидания.

9. Есть ли у команды код-ревью? Если да, то какие они?

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

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

10. Какой опыт есть в команде, к которой я присоединюсь?

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

Это важно знать, присоединяясь к новой команде; к кому я могу обратиться за помощью, если (и когда) она мне понадобится?

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

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