Рекрутер запрашивает пример кода

После хорошего телефонного разговора с IT-рекрутером он попросил образец C# (программного) кода проекта моего нынешнего работодателя.

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

  • удобочитаемость
  • документация
  • модульность/инкапсуляция

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

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

Если вы хотите какую-либо работу, которую вам предлагает рекрутер, вам нужно прыгать через их обручи. Если вокруг много работы, то двигайтесь дальше.
Как бы сильно вы ни хотели получить работу, которую вам предлагает рекрутер, вы не можете просто дать ему код, который вы написали для своего нынешнего работодателя. Если вы согласны подвергать себя уголовному преследованию, есть более прибыльные варианты трудоустройства, чем написание программного обеспечения для другой компании.
Вы не имеете права раздавать код, за написание которого вам заплатили, ваш работодатель получает интеллектуальные права на это. Это звучит невероятно хитроумно, если честно. Похоже на промышленный шпионаж. Если это действительно вербовщик, а они этого не понимают, то им нужно усвоить урок, когда голосуешь ногами. Уходите от этого рекрутера.
Объясняли ли вы, что конфиденциальность и права на интеллектуальную собственность не позволяют вам показывать им код, который вы написали для предыдущего работодателя, и, похоже, они это понимают?
Это первый или сторонний рекрутер?
Я продам вам больше кода по цене 1 доллар за строку... сколько еще строк вам нужно?
Вербовщики - проклятие человечества. В лучшем случае они являются мощным символом неэффективности рынка, но реальность такова, что они обычно привносят неэффективность и запутывание, принося мало пользы ни одной из сторон.
Звучит как тревожный сигнал, что нетривиальная техническая проверка проводится рекрутером, а не менеджером по найму (если они действительно не думают, что вы раздули свое резюме). Почему вы не разговариваете с менеджером по найму?
Итак, они попросили код «из проекта [вашего] текущего работодателя», а затем попросили «дополнительный код/проекты», когда вы дали им другой/личный образец? Звучит как умный способ уговорить вас раскрыть интересные фрагменты кода вашего работодателя. Вы уверены, что этот вербовщик на самом деле не конкурент, который занимается корпоративным шпионажем?
@EthanKaminski в этом случае они вообще просят больше кода. Если я решу это сделать, то это будет код, который я разработал в свое время.
Просто создайте хобби-проект git hub, который вы будете использовать для демонстрации или экспериментов с функциями. Поделитесь этим с рекрутером, и вы всегда сможете использовать его в будущем.
Потенциально это может быть фальшивый рекрутер, нанятый вашей компанией, чтобы заманить вас в ловушку, нарушив закон по причинам, связанным либо с безопасностью, либо с целью избавиться от вас.

Ответы (10)

Один из критериев, по которым следует остановиться у рекрутера, — честны ли они , можно ли им доверять ?

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

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

Хороший способ сформулировать этот вопрос: «Могу ли я столкнуться с какими-либо проблемами при предоставлении вам кода моей текущей компании?» Пусть он будет открытым, но не намекайте, что вы уже знаете, что это абсолютно незаконно.
@ Нельсон, я бы не стал создавать впечатление, что я ничего не смыслю в чем-то подобном ...
Хм, это не было целью, но если рекрутер встретил кого-то невежественного, рекрутер должен решить это, а не просить у него исходный код от их компании.
Очевидно, вы являетесь кандидатом на вакансии разработчиков программного обеспечения. Это означает, что вы НЕ являетесь кандидатом на юридическую поддержку или что-то в этом роде. Для рекрутера не должно быть проблемой, если вы сделаете вид, что не уверены в этом вопросе. Пока вы не охотно предоставляете код (но спрашиваете, как и предполагалось), хороший рекрутер расскажет вам о юридических проблемах с этим и просто продолжит обычный процесс. Если вербовщик делает что-то еще, он не заслуживает доверия. Так что в принципе, вы можете убедиться, насколько он профессионален, просто играя в незнание.
@Sempie: дело в том, что мы знаем, что просто притворяемся невиновными, но рекрутер может подумать, что мы искренни. Если бы у меня был сотрудник, который, когда его попросили сообщить код компании, вместо меня спросил бы у человека, запросившего код , приемлемо это или нет, то я бы счел это серьезной ошибкой с их стороны независимо от того, они не юристы. Таким образом, притворяясь тупицей, мы поймаем плохих рекрутеров, но произведем плохое впечатление на хороших рекрутеров. Поэтому нам нужен план, чтобы снизить этот риск, а не просто притворяться тупицей.
Зачем играть в игры и делать вид, что не знаешь, можно ли поделиться кодом?! Просто дайте понять, что ваш работодатель не разрешает вам делиться кодом, и поработайте с рекрутером, чтобы придумать решение.
Не более ли вероятно, что рекрутер попросил образец кода / работы, и ОП воспринял это как код своего текущего работодателя, когда на самом деле они имели в виду любой пример кода, который ОП написал недавно? Возможно, у OP нет кода, написанного вне работы (что не сулит ничего хорошего для многих рабочих мест, которые хотят увидеть некоторые примеры кода).
@SnakeDoc это действительно не код моего нынешнего работодателя, а код, который я сделал в свое время.
@CitizenSP, тогда я не вижу проблем с тем, чтобы показать это рекрутеру. Это довольно стандартно для должностей разработчиков. "Вы говорите разговоры, но можете ли вы ходить пешком?" Такие вещи.
@SnakeDoc: ну, рекрутер запросил код из проекта текущего работодателя, но на самом деле получил личный код и, похоже, принял его. Вопрос в том, продолжать ли писать более персональный код, чтобы удовлетворить запросы рекрутеров. Смысл Анкетама в этом ответе заключается в том, что рекрутер подозревается из-за первоначального запроса, и это необходимо решить, прежде чем тратить время на изворотливого рекрутера. Конечно, возможно, что спрашивающий полностью неправильно понял первоначальный запрос (в этом случае вопрос следует обновить, чтобы удалить неверную информацию).
@SteveJessop Я хотел сказать, что, возможно, OP неправильно понял рекрутера. "Можно посмотреть пример текущего проекта?" может означать текущий проект в компании ОП ... не просто любой текущий проект. Если рекрутер часто имеет дело с техническими специалистами, он будет знать, что люди не могут выпускать конфиденциальные и проприетарные кодовые базы в дикую природу. Скорее всего, это было недоразумение.
@SnakeDoc: да, но затем задавший вопрос, похоже, согласился с вами: «Это действительно не кодекс моего нынешнего работодателя». Если они действительно согласны с вами в том, что рекрутер даже не спрашивал код работодателя, то (а) вопрос должен быть исправлен и (б) этот ответ больше не актуален. Однако, если вы, по сути, говорите, что спрашивающий должен проверить, что на самом деле сказал рекрутер, прежде чем проводить расследование их честности, тогда я, безусловно, согласен! Распространенная проблема SE: ​​«верим ли мы, что ситуация спрашивающего действительно может быть такой плохой, как он думает?» ;-)

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

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

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

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

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

Не обязательно, чтобы ваш код был «секретным». Мои побочные проекты — это несколько небольших приложений для Android, которые, будучи хобби, я пытаюсь коммерциализировать, потому что мне нравятся бесплатные деньги. У меня нет никакого желания делать их открытым исходным кодом.
@Davor Я никогда не говорил «секретно», я сказал «вы не хотите, чтобы мир знал об этом», целью которого в то время, когда я писал пост, было включение коммерческого кода. Это своего рода кодовая база, которую я бы в любом случае не показывал рекрутерам — смысл поддержки некоторых общедоступных репозиториев GH состоит в том, чтобы показать, что у вас есть код, над которым вы не действуете как привратник, поэтому вы не выбираете и не выбираете выбирайте фрагменты кода, которые можно хвастаться, а скорее используйте хороший код во всех кодовых базах, на который у вас не будет проблем с людьми, которые смотрят.
В дополнение к этому: скептики, говорящие о том, что рекрутер не будет знать C#, похоже, забывают, что он может с кем-то сотрудничать. И также, если бы меня попросили судить о ком-то по его коду, я бы не решился сделать это, основываясь на крошечном кусочке доведенной до совершенства работы.
@DennisJaheruddin Вот для чего нужно техническое интервью. Это афера, о чем свидетельствует тот факт, что я могу отправить код, написанный моим другом, и вы не узнаете об этом. Это попытка получить либо секреты компании, либо бесплатную консультацию. В любом случае, СКАМ.
@RichardU технический тест не исключает технического собеседования - я даю своим кандидатам (на последних работах я нанимал разработчиков программного обеспечения) технические тесты, и если они проходят его, их приглашают на техническое собеседование, где у нас есть подробное обсуждение вокруг их решения, поэтому они должны не только представить нетривиальный код, но и понять его. Это способствует интересным разговорам.

Из профессиональных рекрутеров, которых я знаю, рекрутеры, как правило, не претендуют на знание «талантливого» C#-писателя. Звучит как мошенничество или хуже для меня. Не может быть, чтобы у рекрутера действительно было время и ноу-хау, чтобы делать такие обоснованные предположения относительно точного уровня знаний.

Или он или она специализировался на C# до того, как вы пришли? И если да, то зачем ему или ей действительно нужно видеть больше кода, если в принципе у человека есть большой опыт чтения грамотного кода?

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

Я согласен. Похоже, рекрутер пытается получить бесплатный код.
Может быть, но я знаю рекрутера, у которого есть такое ноу-хау. Они нанимают программистов и используют их, чтобы предлагать некоторые услуги потенциальным сотрудникам, одна из которых заключается в том, чтобы решить, какой у кого уровень квалификации. Конечно, они делают это, потому что знают ценность хороших программистов для работодателей.
Может быть, рекрутер спросил у команды разработчиков, что они думают, и они сказали попросить код? Как разработчик, я предложил попросить код, у тех, кто занимается разработкой в ​​свободное время, не будет проблем с обменом кодом, и они в любом случае лучше разрабатывают.
Код компании, однако. Представьте, что вы просите ученого Coca Cola, вовлеченного в процесс создания, увидеть некоторые работы его компании. Неэтично, если вы спросите меня.
Может быть больше, чем афера - может быть промышленный шпионаж.

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

У меня была аналогичная проблема с местным рекрутером. Он буквально попросил разработать весь проект в виде ДЕМО, и чтобы проверить, работает ли он — вы размещаете его самостоятельно и просто показываете им ссылку. После этого он сказал, что все отлично, и попросил прислать ему ПОЛНЫЙ исходник в формате .zip. И мы никогда раньше не встречались, и мне не сообщали никаких подробностей о должности, не говоря уже об ожидаемом уровне заработной платы и т. д. Так что все общение осуществлялось по телефону и электронной почте. Я просто отказался отправить проект, мотивируя это тем, что я хотел бы показать их, но ТОЛЬКО после того, как они пригласят меня лично обсудить в помещении их компании. Он/они больше никогда не отвечали. И я был счастлив, так как мне удалось увидеть их ОПУМ. Просить, чтобы полный проект был сделан с исходным кодом, чертовски плохо, и его можно использовать не по назначению.

Я бы никогда не дал код рекрутеру. Я даже не провожу технические проверки с рекрутерами. ОНИ не те, кто собирается нанять вас. Большинство из них просто знают «модные словечки» и не отличят хорошее программирование от плохого. Это пустая трата времени, и есть МНОЖЕСТВО рекрутеров, которые не заставят вас прыгать через глупые обручи.

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

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

Я думаю, вы сделали БОЛЕЕ чем достаточно. Если они не удовлетворены, найдите другого рекрутера.

Если рекрутер просит образцы кода, это не обязательно афера или мошенничество. Они хотят что-то, чтобы оценить вас. Это может быть что-то, что они спрашивают в полной невинности. Но, тем не менее, вам запрещено давать им код, который вы написали для другого работодателя. Если они этого не замечают, я говорю: «Предположим, я устраиваюсь на работу автомехаником. Не могли бы вы попросить меня дать вам машину, которую я построил для General Motors, чтобы вы могли оценить качество моей работы? Вы не думаете, что GM будет возражать против этого?»

Написание примера кода только для того, чтобы дать им что-то посмотреть, кажется мне разумным решением. Они просили больше? Сколько вы им дали и что именно они просили? Если вы дадите им одну 10-строчную функцию, а они скажут: «Ну, это хорошо, но нам действительно нужно увидеть больше», я думаю, это вполне разумно. Если бы вы дали им 20 страниц, а они захотели бы еще, я бы спросил, что конкретно они хотят видеть. Если они говорят: «Нам нужно увидеть пример класса с подклассами» или «... сложного SQL-запроса» или что-то в этом роде, ладно.

Если они говорят, что хотят видеть код, отвечающий некоторым указанным ими требованиям, я начинаю подозревать, что это мошенничество. Как и в прошлый раз, когда я искал работу, лет 5 назад, я увидел объявление одной компании о том, что они хотят, чтобы соискатели разработали полную систему с такими-то экранами и отчетами, тщательно отлаженную и полную документацию, для их оценить. Мои мысли были: (а) Это звучит как мошенничество. Им нужна система, отвечающая этим требованиям, и вместо того, чтобы платить за нее, они хотят, чтобы люди написали ее для них бесплатно под видом «приложения о приеме на работу». И (б) Даже если честная попытка оценить кандидатов на работу, разработав систему такого размера и сложности, которую они описали, да, это была небольшая система, но все же полдюжины экранов и дюжина отчетов, безусловно, потребуется неделя или больше работы, а на написание качественной документации потребуется, по крайней мере, еще несколько дней. Я никак не собирался тратить 2 недели усилий на то, чтобы подать заявку на одну вакансию, даже не на собеседование, а просто на то, чтобы отправить заявку. Сколько других вакансий я мог бы найти и подать заявку за 2 недели усилий?

Если кто-то требует, чтобы вы нарушили закон и/или нарушили стандартные этические стандарты в рамках подачи заявления о приеме на работу, я, естественно, задаюсь вопросом, чего они ожидают от меня ПОСЛЕ того, как я получу работу. Серьезно, если мне придется нарушить закон об авторском праве и соглашения о конфиденциальности, чтобы получить работу, когда я буду там, они будут просить меня обманывать акционеров, обманывать клиентов и подавать ложные налоговые декларации? Если бы они просто не продумали это, я бы объяснил проблему. Если они говорят: «О, хороший момент, мы не подумали об этом. Как насчет того, чтобы вместо этого сделать Х?», я бы сказал: «Хорошо, может быть, они действительно просто не видели проблемы». Но если они опустят руки и скажут: «Сделай это, или ты не получишь эту работу», я бы сказал: «Приятно с тобой пообщаться, до свидания».

Не говорите рекрутеру, что вы не можете дать код от вашего нынешнего работодателя.

Просто отправьте свой образец кода (не ваш текущий код работодателя). Если рекрутер спросит, скажите, что это от текущего работодателя.

Могут произойти две вещи.

1) Рекрутер как обычно не знает как проверить ваш код. Он или она перенаправит ваш образец разработчикам клиентов, которым все равно, принадлежит ли ваш код вашему нынешнему работодателю или нет.

2) Это мошенничество, и им нужен ваш код работодателя. В этом случае они будут жаловаться, что ваш код не похож на бизнес вашего работодателя.

В случае 2 вы можете пойти повеселиться и спросить их: «Эй, откуда ты знаешь?»

Сознательно здесь то, что вы не должны давать рекрутеру код своего работодателя, но, похоже, в других ответах много разногласий о том, как сказать рекрутеру «нет», что заслуживает большего внимания, чем я могу уделить в комментариях. Лучший ответ на эту часть вопроса — сказать рекрутеру, что вы знаете, что то, о чем он просит, будет незаконным, и что вы ни при каких обстоятельствах не сможете выполнить его просьбу.

Причина, по которой вы должны делать это вместо того, чтобы притворяться, что код исходит от вашего нынешнего работодателя, заключается в том, что вопрос сам по себе может быть проверкой ВАШЕЙ этики, а не наоборот. Лучший способ, которым рекрутер может увидеть, будет ли кандидат уважать свою конфиденциальную информацию, — это увидеть, насколько хорошо он защищает информацию, за которую он уже несет ответственность.

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

Если они законный интервьюер, то они перейдут к следующему вопросу.

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

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

Просить больше кода сомнительно. Но не настолько, как вы описали, теневой, чтобы оправдать уход в этот момент.

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