Просьба увидеть код работодателя / базу данных в интервью - PullRequest
46 голосов
/ 02 октября 2008

Меня попросили написать код / ​​дизайн вещей в интервью. Иногда даже предоставить примеры кода. Очень разумно и очень мудро (всегда удивляюсь, когда ЭТОГО НЕ случается)

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

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

Кто-нибудь делал это?

Обновление

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

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

Ответы [ 15 ]

19 голосов
/ 02 октября 2008

Вы можете определенно спросить. Ответ может быть «Нет», но никто не должен считать это плохим или неуместным вопросом.

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

  • Код настолько ужасен, что они знают, что ты убежишь с криком.
  • В компании существует сверхсекретная культура доверия "никто" (которую я бы ненавидел).
  • Компания считает, что у них есть такой удивительный код, что если взглянуть на него, вы превратитесь в конкурента суперзвезд (Другими словами, они самообманчивые дебилы.)
  • У них есть явные дыры в безопасности, которые они надеются сохранить в секрете.
  • Люди, которые берут у вас интервью, сами не знают, как получить код. (В этом случае вы не разговариваете с нужными людьми.)
16 голосов
/ 02 октября 2008

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

15 голосов
/ 02 октября 2008

Я спросил: «Могу ли я увидеть код и поговорить с программистами, работающими здесь?»

Работодатель ответил: «Конечно! Приходите, вы можете напрямую поговорить с нашим ведущим программистом нашей информационной системы!»

Какая честь!

  • они показали мне концептуальные документы
  • Я мог бы поговорить с ведущим программистом
  • они показали мне небольшую часть очень нового проекта, говорящего: "это всего лишь прототип, Direct3D настолько схематичен, поэтому этот код такой грязный"

Оказалось, что:

  • ведущий программист ушел в день моего приезда
  • программное обеспечение, которым он руководил, было большим беспорядком
  • как-то я потратил 50% своего времени на борьбу с беспорядком
8 голосов
/ 02 октября 2008

Ни один из опрошенных нами кандидатов никогда не спрашивал об этом; однако многие из них были кооперативами / стажерами в компании, поэтому они знакомы с нашим кодом ...

Сказав это, очень маловероятно, что мы покажем наш код ЛЮБОМУ кандидату, независимо от NDA. Я был бы рад ответить на вопросы о том, какие технологии мы используем, какую систему мы используем для доработок, практики и т. Д. Фактический код, хотя? Нет.

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

7 голосов
/ 14 октября 2008

Я спрашивал об этом в интервью с Xerox PARC, стартапом и Yahoo.

В PARC они усадили меня на рабочую станцию ​​с кодом, который я бы взял на себя, если бы меня наняли, очень кратко рассмотрели структуру кодовой базы и оставили меня в покое на 20 минут. Этого было достаточно, чтобы понять, могу ли я продолжать работать с ним, хотя мне бы хотелось больше времени, например, всего час. Потом я спросил о дизайнерском решении, которое показалось сомнительным, и мы поговорили о дизайне и стиле в целом. Это не просто рассказывало мне больше о работе, оно говорило им больше о мне : изучал ли я их код сверху вниз или снизу вверх, на что я обратил внимание или спросить о, и т. д. Ценные все вокруг.

При запуске они организовали отдельную встречу в другой день, привлекая автора кода (который не был сотрудником); мы сели за ноутбук и изучили все вместе. Это была необычная просьба к ним, и я думаю, что мне пришлось подписать новый NDA. Это опять-таки стоило: мои предыдущие интервью на самом деле не прояснили, что представляет собой этот причудливый язык ИИ или что они хотят, чтобы я с ним делал, и сидение с каким-то конкретным кодом развеяло много тумана.

В Yahoo я ничего не видел; Я не помню, каков был их ответ. Если бы я видел код, с которым столкнулся в итоге, у меня могли бы возникнуть другие мысли (хотя в итоге все получилось). (Обе вышеперечисленные кодовые базы, которые мне удалось увидеть, казались в целом более приятными; PARC позже был открыт с открытым исходным кодом.)

Во всех этих случаях я поделился с ними своим собственным кодом.

5 голосов
/ 02 октября 2008

Если вы собираетесь это сделать, то я думаю, что вам нужно предупредить их, чтобы они могли подготовить NDA и настроить подходящую среду, в которой вы можете это видеть. Также будьте готовы посвятить немного времени пониманию того, почему код в такой форме.

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

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

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

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

4 голосов
/ 02 октября 2008

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

Лучше, чем смотреть на настоящий код, это Joel Test . Как правило, это 12 вопросов да или нет, которые вы можете задать работодателю. Чем больше ответов «да», тем лучше ожидается рабочая среда. Очевидно, это не жесткое и быстрое «правило», но, похоже, оно указывает на те компании, которые серьезно относятся к коду (и кодировщикам ).

3 голосов
/ 02 октября 2008

Перейти к проектам с открытым исходным кодом. Там вам не нужно спрашивать разрешения на просмотр кода.

3 голосов
/ 02 октября 2008

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

2 голосов
/ 02 октября 2008

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...