Задать вопрос

Как уже на собеседовании понять, какое в компании качество кода?

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

Каким образом можно выяснить еще на собеседовании, какое на проекте качество кода? Хотя бы примерно? Пока ориентируюсь на косвенные признаки: стек, сколько лет проекту, сколько разработчиков в команде, как настроен процесс деплоя, как с тестированием...

Не будешь же спрашивать: "Скажите честно, какой у вас процент говнокода?" :)
  • Вопрос задан
  • 2055 просмотров
Подписаться 10 Простой 14 комментариев
Решения вопроса 1
@g_s_e
Ну вообще стоит начать с того, что Вы подразумеваете под говонокодом. Зачастую говнокод - это не только криво написаный метод/класс, это еще плохо оптимизированная бд, кривая архитектура приложения и неверно выбранные инструменты для решения задач поставленных перед проектом. В любом случае проект делают люди, которые меняться на проекте, посему нужно выяснить детали самого подхода разработки проектов в самой компании:
- спросить сколько проект находится в разработке, степень покрытия тестами, если прокт древний и не покрыт, то плохо;
- если проект древний, то узнать обновляются ли на нем версии инструментов/фреймворков на более новые, выяснить что с обратной совместимостью;
- спросить как происходит процесс мерджа новых фич, если если через мерджреквесты на тимлида, которые он аппрувит или отклоняет, то уже не плохо, и Вам подскажут, проконтролируют, что не плохо. Eсли пуш в ветку девелопмент, то плохо;
- если используют мерджреквесты на тимлида, то спросить используется ли git-flow, если да, то хорошо, это минимизирует варинт того, что Вы получите кучу крешей от того, что было запушино коллегами, если не используется, то плохо;
- узнать что проиходит с CI на проекте, если есть тесты, то запускаются ли они при деплойменте, если да то хорошо, нет - плохо;
- если это web проект, на котором используется бекенд и фронтенд фреймворки, то стоит спросить развернуты ли они на разных серверах, если да то хорошо, если нет то плохо;
Выяснить это все иначе, чем по косвенным признакам, является маловероятным.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 13
samodum
@samodum
Какой вопрос - такой и ответ
Хочется сказать - скажи.
Только учти, что тогда никакой работы не найдёшь, везде есть говнокод
Ответ написан
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Как вариант, собеседоваться в компании, которые занимаются open-source продуктами
Ответ написан
Комментировать
Stasgar
@Stasgar
Обученная макака
Просто спросить. Прямо и четко. Врать вам не будут (им же с вами еще работать), разве что приукрасить могут, но это не так страшно.
Ответ написан
Комментировать
saintbyte
@saintbyte
Django developer
Говнокод ... mvp делается из тяп-ляп и в продакшен а потом бесконечный рефакторинг. Вообще рефакторинг - он бесконечный.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
Так попроси, у меня когда просят я всегда показываю
Ответ написан
Комментировать
@HellWalk
Поймала себя на мысли, что на собеседовании хочется сказать работодателю: "Покажите пример вашего кода" :) Потому что зачастую понимаешь, во что вляпался, только когда уже устроился и видишь проект своими глазами.

Так и сказать - "ваша компания мне нравится, но можно взглянуть на код проекта?"
Обычно готовы показать.
Ответ написан
Комментировать
@yuopi
C# developer
Чем больше вопросов по программированию вам зададут на собеседовании, тем больше внимания они уделяют качеству кода
Ответ написан
@Kirill-Gorelov
С ума с IT
Тебе уже g_s_e подсказал, как правильно сделать.
Задавать косвенные вопросы.
К тому списку я бы добавил.
За проект отвечает один программист или его могут делать несколько разных.
Проводится ли код ревью.
Ведется ли документация.
Есть ли стандарт написания кода.
Бывает ли необходимость работать после работы, в выходной, к примеру.
Ну и что-то в этом дохе. Почему это важно? Так ты поймешь, если фирма уделяет этому внимание, то наверняка они и к коду относятся с почтением. А не делают спустя рукава.
Ответ написан
nozd
@nozd
C#
5ddf698a8297f888580762.png
Ответ написан
Комментировать
index0h
@index0h
PHP, Golang. https://github.com/index0h
Даже, если вы спросите: а дайте ка взглянуть на ваш код - вы же понимаете, что получите красивый участок.

Можете задать такой вопрос. Программистов можно условно разделить на три категории по тому, что им нравится:
* Исполнитель - его радует результат, максимально быстро и чтоб работало.
* Гик - ему интересно попробовать всякие моднявые штуки, только вышла новая либа - он хочет ее заюзать.
* Головолом - ему интересны сложные крупные задачи, там где надо посидеть, по медитировать.
Собсно вопрос: какого человека по этим категориям вы ищите?
Чаще всего идет микс из двух, если говорят все три важны одинаково - интервьюеру глубоко фиолетово. Если при этом интервьюером является технический специалист - это очень плохой знак.
Так же можете спросить, кто по этой шкале есть в команде. Если команда состоит из одного типа программистов - это очень плохо.

Что касается качества кода: спросите про используемые соглашения, критерии на код ревью и покрытость тестами
Ответ написан
php666
@php666
PHP-макака
Если вопросы "сложные", ООП к примеру, скорее всего там нет говнокода.
Если хотят выяснить, знаете ли вы какие-то банальные функции - значит собеседующий сам мало компетентен, а работники еще хуже и как следствие говнокод.
Ответ написан
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
Вопрос эквивалентен следующему "как уже по фотке в Тиндере понять, что парень не мудак, 19 советов от Космо".

Никак. Названные здесь признаки будут лишь косвенно отвечать на вопрос о мудаковатости кода в организации.

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

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

Для справки, в случае с мужиками, такое чудо называется manicorn, в природе, как следует из названия, не водится.

Адекватен вариант с отысканием некой точки равновесия, при которой и вы довольны своей работой, и заказчик не мечет кабачковой икрой во все стороны, не дождавшись, пока вы в сто первый раз разровняете под линейку все фигурные скобочки. А это, увы, проверяется практикой, которая без испытательного срока, увы, не доступна.
Ответ написан
Комментировать
touristmoscow
@touristmoscow
Full-stack
Говнокод и легаси будут везде. Потому что бизнесу всегда нужно чтобы было готово уже вчера, что подталкивает сначала быстренько наговнокодить, а потом уже (когда будет время) исправить это (главное чтоб комменты оставляли в таких участках кода)...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы