Вопросы программиста к работодателям

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

Источник

Вопросы программиста к работодателям

Проявляем заинтересованность

  • Как в компании относятся к новым предложениям?
  • У компании есть блог для инженеров?
  • Команда предпочитает проверенные временем технологии или самые новые?
  • По каким причинам вы решили предложить данную вакансию?

Про структуру организации

  • Сколько сотрудников работает в отделе разработки?
  • Какие должности есть в отделе разработки?
  • Как устроено общение между сотрудниками?
  • Сколько человек в команде?

Общение и взаимодействие

  • Как общаются в команде?
  • Насколько сильно развито общение по электронной почте и/или в мессенджерах?
  • Какими сервисами пользуется команда?
  • Какое отношение к собраниям в компании?
  • Какие собрания являются обязательными для команды?
  • Сколько по времени длятся собрания?
  • Как относится команда к помощи коллегам?

Разработка

  • Какой уровень разработчиков в команде?
  • Какие уровни доверия к разработчика с точки зрения надзора?
  • Есть ли у вас алгоритмические или математические задачи?
  • Разработка бэкэнда, фронтэнда, тестирование и DevOps пишут штатные разработчики?
  • Есть ли в компании “инженерный долг”? Как часто он возникает? Что он включает в себя?
  • Какие сложности возникают чаще всего?
  • Какой цикл релиза?
  • Какие инструменты используются в команде?
  • Какие базы данных используются?

Документация

  • Как документируются лучшие практики и руководящие принципы?
  • Насколько подробной и однозначной является инженерная документация?
  • Как документируется работа по продукту/проекту?
  • Как устроен поиск в документации?
  • По какому принципу определяется самый знающий человек в конкретной теме?
  • Как справляетесь с “эффектом автобуса”?
  • Как новые сотрудники узнают то, что им необходимо знать, чтобы стать полезными?
  • У вас есть планы для новых сотрудников?
  • В компании практикуется наставничество?
  • Наставничество только для новых сотрудников?

Архитектура

  • Как разрабатывается фронтенд?
  • Как фронтенд взаимодействует с фронтендом?
  • Какие языки и фреймворки вы рассматриваете в качестве вариантов, когда проект начинается с нуля?
  • Какой набор инструментов применяется в DevOps?

Локальная разработка

  • Есть ли у вас какие-нибудь специфические инструменты, требующие определенного оборудования или операционной системы?
  • Где находится информация о локальной разработке?

Обзор кода

  • Как происходит рецензирование изменений кода и документации?
  • На что похожи обзоры кода?
  • Сколько циклов обзоров кода вы обычно проводите для больших изменений?
  • Сколько человек выполняют проверку кода одного изменения?
  • Что происходит, если один из рецензентов “забракует” изменения?

Качество кода

  • Как вы исправляете баги?
  • Как вы работаете технической задолженностью? Кто его оценивает?
  • Насколько тесты быстрые и надёжны?
  • Как вы документируете код?
  • Как вы работаете с плохо документированным, нечитаемым, наследственным кодом?
  • Какие практики рекомендуете для сложных запросов к БД?
  • Какие проверки разработчики выполняют локально, а что на CI?

Open Source

  • Вы только используете открытый код или вносите вклад в его развитие?
  • Что руководство компании думает об открытом исходном коде?
  • Допускается ли работа с open source в рабочее время?
  • Допускается ли работа с open source на коммерческих проектах?
  • Как вы мотивируете сотрудников к работе с open source?

Процесс разработки

  • Как выглядит техническое задание для разработчика?
  • В какой степени разработчик может повлиять на требования?
  • Как выглядит формальный процесс разработки? Почему вы выбрали его?
  • Насколько полная документация о процессе разработки?
  • В какой степени команда может влиять на процесс разработки?
  • Насколько сильно проект нагружен?

Карьерное развитие

  • По каким правилам происходит оценка эффективности?
  • Как аттестация влияет на заработную плату?
  • Как можно продвинуться на следующую должность?
  • Как вы справляетесь с текучкой кадров?
  • Какая у вас текучка кадров по сравнению с вашими конкурентами?
  • Анализируете HR метрики?
  • Как быстро растёт компания?
  • Как происходит увольнение?

(macro)-Services

  • Как вы управляете локальными зависимыми сервисами?
  • Как синхронизируются релизы?
  • Как вы разделяете сервисы?
  • Делится ли база данных между сервисами?
  • Имеются ли у сервисов специализированные базы данных?
  • Что вы используете для имитации межсервисного взаимодействия?
  • Как документируются межсервисные протоколы?
  • Как тестируется межсервисная связь?

Microservices

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

Тестирование

  • У вас есть “ручное тестирование”?
  • В команде есть QA-инженер?
  • Насколько полное ручное тестирование?
  • В каких ситуациях происходит ручное тестирование?
  • Что покрывается автоматизированными тестами?
  • Используется автоматизированное нагрузочное тестирование?
  • Проводится тестирование на проникновение?

DevOps

  • Имеют ли разработчики доступ к журналам с логами и консоли?
  • Кто отвечает за развертывание?
  • Как автоматизировано развертывание?
  • Сколько времени занимает развертывание?
  • Можно ли выполнить быстрый откат без потерь?
  • Возможны ли исправления?
  • Практикуется ли установка с нулевым временем простоя?
  • Используется ли атомарная и быстрая схема миграции?
  • Как вы справляетесь с миграцией данных?
  • Как производите миграцию данных в чередовании со схемой миграции при установке?

Управление инцидентами

  • Кто получает производственные и промежуточные ошибки?
  • Какие сценарии реакции существую на эти сообщения?

Культура

  • Расскажите о корпоративной культуре.
  • Есть ли у инженерного отдела своя культура?
  • Какие существуют исключения?
  • Корпоративная культура уже устоялась или она продолжает редактироваться?
  • Есть в компании корпоративные тренинги?
  • Какие меры демотивации существуют в компании?
  • Как регламинтируется работа в свободное время над проектами не относящиеся к организации?