Меня попросили принять участие в собеседовании с кандидатом на должность младшего программиста в компании, в которой я работаю. В интервью участвует мой коллега, представитель отдела кадров.
Изучая предложенные решения задач (начальный тест), я заметил, что одно из них выглядело слишком сложным для новичка и казалось, что оно не было решено кандидатом. Я смог быстро найти точное решение (тот же отступ, та же структура, изменено всего несколько имен переменных, так что это явно скопировано).
Платформа кодирования прямо указывает, что полное копирование решения не допускается (можно использовать только документацию API, StackOverflow и т. д.)
Я уже рассказал другому коллеге о том, что нашел, поскольку вакансия находится в его отделе, и рекомендовал отдавать предпочтение кандидатам, предоставившим свои решения, даже если у них меньше баллов.
Мне интересно, как я должен реагировать на это во время интервью .
Вопрос: Как быть с кандидатом, который списал на тесте?
[РЕДАКТИРОВАТЬ]
Спасибо всем за конструктивные комментарии и ответы. Действительно, процесс не в порядке, так как большинству проблем с кодированием не менее 2 лет. К сожалению, я не могу контролировать процесс, но могу предложить своему менеджеру изменить его (т.е. обеспечить изменение/обновление задач).
Интервью - кандидат показал скромные знания, и он не смог продемонстрировать, что понимает концепции, требуемые кодом, который он написал. Мой коллега предположил, что мы думаем, что он мог использовать какой-то код откуда-то еще, и он был удивлен, что мы это выяснили.
Вы делаете здесь предположения, у нас нет гарантии, что кандидат обманул, просто есть очень большое подозрение, что он это сделал. Вместо того, чтобы противостоять им, поскольку у вас уже есть интервью с ними, попросите их рассказать вам о своем решении. Убедитесь, что они поняли, что они написали и как это работает. Это должно быстро указать, обманул ли человек или нет.
Всегда есть вероятность, что они либо получили очень похожий ответ, либо являются пользователем, который ответил на вопрос на SO, и звонить кому-то, когда вы можете быть неправы, - не лучший путь. Лучше расследовать и доказать, что вы правы.
Мало ли, может быть, они настолько хороши и придумали один и тот же ответ? Если это так, у вас есть сильный кандидат на эту работу (при условии, что ответ был хорошим), и вы не сожгли мосты, открыто назвав его лжецом.
Если выяснится, что они жульничали, они должны понять, что их поймали, из вашего допроса. Просто отпустите их с благодарностью, но не с благодарностью, и на этом остановитесь. Конфронтация, особенно в обстановке интервью, не подходит.
Как быть с кандидатом, который списался на тесте?
Я бы не стал тратить ваше время на то, чтобы рассказывать кандидату что-либо, они, конечно, будут отрицать, что обманывали. Если вы уверены , что он обманул, сообщите об этом менеджеру по найму и порекомендуйте ему рассмотреть других кандидатов.
Если кто-то будет обманывать, что еще они будут делать, если вы их наймете?
Краткий ответ : Забудьте о мошеннике и переходите к другим кандидатам.
Из того, что написано (в вопросе и в комментариях , которые позже были перенесены в чат), кажется, в правилах, представленных кандидату, говорилось, что использование SO разрешено, они нашли решение на SO. Поэтому мне не кажется, что они жульничали, и дисквалифицировать кандидата было бы несправедливо. Но это во многом зависело бы от точной формулировки правил в том виде, в каком они были представлены кандидату.
В комментариях вы сказали,
SO и/или другую документацию можно использовать для мелких вещей (например, как эффективно сортировать какой-либо массив или список на каком-либо языке)
Наверняка это не тот язык, который был представлен кандидату? Если бы не было ясно, что такое «мелочь» и что такое «большое дело», мне кажется, что кандидат использовал явно разрешенные ресурсы.
Ваша компания обязана представить вопрос, на который нельзя ответить путем копирования и вставки из SO, если вы хотите разрешить кандидатам ссылаться на SO, но не копировать и вставлять.
Лучшее решение на данном этапе — использовать время личного собеседования с этим кандидатом, чтобы выяснить, действительно ли он обладает необходимыми знаниями для этой должности, и пересмотреть свои проверочные вопросы, прежде чем представить их следующему кандидату.
Если ваша компания ищет гениальных кодеров - выберите из других кандидатов, которые соответствуют критериям.
Если нет, вам нужно пересмотреть свою концепцию читерства — является ли читерством просмотр Stackoverflow, документации по API, Github для поиска решений проблем?
Какие юридические последствия этого предполагаемого мошенничества существуют? Будут ли судиться с компанией? Тогда этот кандидат не для вас.
Ваш исходный код открыт? Все причины нанять их, так как они доказали, что очень способны решать проблемы.
Если у вас есть какие-либо сомнения, учтите, что этот «мошенник-новичок» получил самые высокие баллы. Что они будут делать через 5 лет, получив возможность работать с другими профессионалами в команде, которая может направлять их...
И будьте прямолинейны в своем обсуждении: дайте им понять, что они превзошли ожидания (с точки зрения оценки), но выскажите свои сомнения и опасения — вы оба узнаете что-то новое. Дипломатия — трудная профессия, пусть с этим справится представитель отдела кадров. Выполните программу «хороший полицейский — плохой полицейский».
Имхо, если кандидат достаточно хорошо разбирается в коде, чтобы дать вам то, что вам нужно, то он, безусловно, будет вам полезен, возможно, даже займет вашу работу, когда вы выйдете на пенсию.
Интервью также может включать тестирование живого кода, как указано в комментариях, для оценки понимания младшим программистом требуемых языков.
Кажется, что большинство людей здесь делают неявное предположение, что мораль должна быть определяющей при выборе правильного кандидата. Я считаю, что это неправильный подход. В процессе выбора работы ваша цель — выбрать кандидата, который будет наиболее выгодным для компании.
Я не говорю, что моральный вопрос (обманывать или не обманывать) не должен быть определяющим. Я просто говорю, что этот вопрос не следует считать очевидным.
Редактирует:
- Фотон возражал, что сотрудник, который обманывает в погоне за прибылью, подвергает компанию риску юридических и других опасностей.
Да, это обычное суждение людей, но кандидат может считать, что это не обман, или он не причинит реального вреда, и будет знать, где остановиться в реальной жизненной ситуации (возможно).
Конечно, я бы не рекомендовал такие злоупотребления, но я просто хочу проиллюстрировать, что нельзя видеть вещи в черно-белом цвете. В реальных жизненных ситуациях много серого, и, вероятно, следует рассматривать такие случаи с более широкой точки зрения, чем просто придерживаться морали.
- Если кандидат жульничает в хорошо разработанном тесте (я так не думаю), вы теряете возможность оценить его навыки.
Возможно, хорошо разработанный тест будет учитывать это мышление, и кандидат, способный обмануть такой хорошо разработанный тест, может считаться более умным, чем сам дизайн теста.
Дальнейшее редактирование: В заключение я бы добавил, что ИМО, по этим причинам, но в зависимости от ваших потребностей, самым мудрым выбором может быть противопоставление ему ваших наблюдений и предоставление ему возможности оправдать свои действия.
Предполагая , что вы правы насчет его измены. Я думаю, что вы должны действовать в зависимости от того, что вы ищете в кандидате:
Программисты должны решать проблемы. Если вы заинтересованы в том, чтобы быть продуктивным, я считаю, что кандидат идеален, поскольку он не пытался решить проблему, которая уже была решена, а использовал существующее решение.
Если вы беспокоитесь о том, обладает ли кандидат знаниями или нет, вы можете назначить еще одно собеседование, чтобы спросить его о его решении.
Если вы ищете человека с высокими моральными качествами, вы можете начать думать о том, чтобы отказаться от него или попросить его пройти еще один тест, чтобы узнать, попытается ли он снова смошенничать.
Лично я не думаю об этом как о проблеме, потому что я считаю, что кто-то, кто может использовать существующее решение, более полезен, чем тот, кто тратит больше времени на написание нового кода, исправление, пробование нескольких подходов...
Вы уверены, что он обманул? Если да: Идея не в том, чтобы "найти решение уже решенных проблем", или "производительности", или "имеет достаточно знаний". Это также не о том, можно ли его проверить или нет, из-за того, что он сделал... нет.
Он сжульничал. Он нарушил принцип. Если у него нет принципа корректности, должен ли он быть частью компании? Обман - это воровство. Если он ворует для наживы, что он украдет в следующий раз (у вашей компании)?
Если нет:
Если вы действительно думаете, что он хорош, скажите ему, что вы подозреваете его в списывании на тесте, и предложите ему еще один шанс с другим тестом. Но хорошему программисту не нужно жульничать. А хороший программист не станет хорошим, обманывая.
В конце концов, это ваш выбор. Мой совет: смотрите не только на результаты, которые позволили бы ему претендовать на эту должность. Также важно, какого человека вы наймете.
Моника Челлио
ночь
ЭпикКип
Only API documentation, StackOverflow etc. can be used
эм... вот что он сделал?Энди