Используется ли моя работа над тестом разработчика? [закрыто]

Я ищу работу и применил несколько позиций. Один работодатель ответил. У меня было довольно длительное телефонное интервью (возможно, час +), и они затем установили меня с тестом на разработчика. Мне сказали, что тест, по оценкам, займет от 6 до 8 часов, и при условии, что результаты будут удовлетворены их одобрением, мне будет выплачена моя работа.

Это помогло мне сделать паузу, но я попытался. Тест разработчика проходил на виртуальной машине , доступ к которому осуществляется через RDP . Задача состояла в том, чтобы внедрить страницу поиска в веб-проекте, который запрашивает данные с сервера, отображает его на экране в таблице, имеет довольно сложную схему фильтрации поиска (имеется около 15 статусов и при отправке поиска на сервер вы может выполнять поиск по этим статусам) в дополнение к поиску строки /поля. Кроме того, им нужны значки SVG для изменения цвета по определенным значениям данных, а некоторые данные представлены иначе, чем то, как они структурированы в базе данных ,

Краткая история Loooong, это заняло много времени более 6-8 часов. Большая часть из этого была из-за очень плохой виртуальной машины, над которой я работал (Visual Studio 2013 заняла 10 минут, чтобы загрузить, и еще 15 минут, чтобы открыть 3-гигабайтное ginormous решение).

Мне сказали, что после завершения теста я должен внести свои изменения в управление источником ... Хм, хорошо. Я последовал указаниям. И после внесения изменений мне был отправлен ответ. SVG не были правильно окрашены, в этом крае имелась ошибка, иногда возникала проблема с этой другой вещью, которую я никогда не испытывал, и т. Д. Таким образом, я сейчас нахожусь 13-14 часов, и я должен исправления ошибок. Я делаю их, и работодатель возвращается с большим количеством исправлений ошибок.

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

Я просто использую для дешевой рабочей силы? Даже если они платят мне обещанные 50 долларов в час в течение 6 часов, я совершил около 18 часов для этой вещи сейчас. Если я исправлю все вещи, которые они продолжают придумывать, я буду работать как минимум 16 часов бесплатно.

Я взял ряд тестов для разработчиков, но я никогда не брал один, в течение которого я работал над кодом, предназначенным для производства. Я никогда не проходил испытания, где я реализовал функцию, которая была в разработке для разработки, и я никогда не брал тот, который занимал 4 раунда и в общей сложности 20 + часов. У меня создается впечатление, что они используют свой тест для разработчиков, чтобы использовать некоторые функции по дешевке.

Есть ли у меня неправильное впечатление? И подходит ли этот протокол тестирования?

154 голоса | спросил CodeWarrior 11 J0000006Europe/Moscow 2014, 05:41:23

11 ответов


168

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

Вступив в тест, вы должны знать и прояснить некоторые вещи впереди:

  1. Должно быть согласовано и известно, что любая работа, произведенная во время теста, не может использоваться для каких-либо целей, кроме определения вашего навыка по требуемым задачам.
  2. Кодовый тест не должен длиться более 4 часов.
  3. Вы не являетесь сотрудником компании, поэтому любое предположение о том, что вы можете заплатить за произведенный код, нелепо. Настаивайте на письменном договоре оплаты, если есть даже намек на это.
  4. Задайте конкретные ограничения на время, которое вы потратите на любую часть теста, а затем придерживайтесь этих ограничений. Если вы обнаружите, что преодолеваете пределы по какой-либо причине, подумайте, почему вы преодолеваете этот предел. Это из-за давления от них? Это потому, что вы допустили ошибки? Это потому, что вы плохо оценили, как долго нужно что-то предпринять, чтобы закончить?
  5. Положите свою почву, если вы считаете, что затронули определенную тему. Если вы уже исправили ошибку, и они просят вас исправить почти идентичную ошибку, скажите: «Мы уже рассмотрели эту тему с ошибкой x, возможно, мы могли бы перейти к чему-то еще, что демонстрирует что-то новое».
  6. Ни при каких обстоятельствах не следует проверять что-либо в производственном трубопроводе. Это относится к любой отрасли развития, которая в конечном итоге может привести к созданию производственного трубопровода. Когда вы сомневаетесь, ничего не проверяйте. Для тестов кода, которые не обязательно лично, я настаиваю, чтобы сначала проверить код в моем личном публичном репозитории. Это дает мне по крайней мере некоторую защиту от неправильной работы моей работы.
  7. Судите их за их поведение каждый бит, насколько они судят вас. Если вы чувствуете, что не находитесь перед вами, позвоните им. Если вы чувствуете, что вас плохо обращаются, говорите.

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

ответил Joel Etherton 11 J0000006Europe/Moscow 2014, 07:14:00
46

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

При этом тест является тестом.

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

  • Он не должен иметь дело с существующей базой кода. Понимание кодовой базы среднего продукта может занять несколько дней или недель (или месяцев или лет в зависимости от качества кода и технического долга). Интеллектуальная собственность также может быть проблемой (если только код не открыт).

    Когда цель состоит в том, чтобы проверить, как кандидат может поддерживать существующую базу кода, тест может быть выполнен на небольшой (500-600 LOC) вымышленной кодовой базе, написанной специально для тестов.

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

  • Это не должно быть совершенным. Есть ошибки? Хорошо. Запишите их для дальнейшего интервью с кандидатом; это может быть отличная возможность увидеть, как кандидат реагирует в этой ситуации.

  • Это не нужно делать через RDC на виртуальной машине, если у вас нет Visual Studio. Если цель состоит в том, чтобы увидеть навыки кодирования и решения проблем, не имеет значения, где вы выполняете упражнение.

  • Не исключено, что код, написанный во время этого теста, попадет в контроль версий компании. Почему они загрязняют контроль над версиями чем-то написанным кандидатом?

В заключение, когда вас просят потратить десятки часов на запись производственного кода, решение проблем и выполнение вашей работы с контролем версий компании:

  • Либо они просто используют вас для бесплатной реализации функций,

  • Или они действительно не понимают, как сделать интервью.

В обоих случаях найдите лучшее место для работы.

ответил Arseni Mourzenko 11 J0000006Europe/Moscow 2014, 06:34:32
22

Не собираюсь писать длинный ответ, но я серьезно запутался, почему никто не поднимает вопрос об авторском праве?

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

ответил David Mulder 12 J0000006Europe/Moscow 2014, 05:58:15
12

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

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

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

ответил midfield99 11 J0000006Europe/Moscow 2014, 05:58:39
11

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

Ситуация, описанная в вопросе, очень похожа на то, что кто-то пытается получить что-то полезное бесплатно (или дешево).

ответил user281377 11 J0000006Europe/Moscow 2014, 15:10:55
7

Я никогда не делал тест dev более часа, и все это были «головоломки», часть работы, чтобы увидеть, смогу ли я решить проблемы и выполнить поставленную цель в течение заданного срока.

$ 50 (или мне, 25-30 фунтов стерлингов) - довольно плохая дневная ставка, это как просить водопроводчика исправить ваш туалет в обмен на выпивку.

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

Обманывание - это, к сожалению, часть жизни, но вам не нужно сидеть сложа руки и принимать ее.

ответил AJFaraday 11 J0000006Europe/Moscow 2014, 13:20:12
3

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

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

ответил user136346 12 J0000006Europe/Moscow 2014, 00:41:38
3

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

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

В правильном пробном проекте должно быть ясно, что

  • У них есть работа, которую они хотели бы сделать.
  • Основываясь на вашем интервью, они считают, что вы должны выполнять эту работу.
  • Успешное завершение проекта не гарантирует позиции.
  • Условия для проекта (сколько они будут платить, кто владеет кодом, будь то время и материалы или фиксированная ставка, расчетное время до завершения и т. д.).
  • Проект будет рассмотрен и предоставлена ​​обратная связь - а не только да /нет относительно того, получаете ли вы позицию.

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

ответил jmoreno 16 J0000006Europe/Moscow 2014, 06:45:49
2

Я не думаю, что они действительно использовали бы это, чтобы получить дешевую рабочую силу.

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

И затем после этого они, вероятно, нуждаются в людях для поддержания этих тестов, объяснения и т. д.

И я просто не могу представить себе какую-либо ИТ-компанию, которая заботится о том, чтобы экономить менее 100 долларов США, особенно компаний в США. Никогда не работает бизнес.

ответил InformedA 11 J0000006Europe/Moscow 2014, 13:47:32
2

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

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

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

ответил Bob Bryan 17 J0000006Europe/Moscow 2014, 00:58:39
0

Тесты кодирования, к сожалению, являются фактом жизни. Тем не менее, меня беспокоит, что меня просят пропустить четыре часа на экзамене по кодированию в качестве условия получения моего первого экрана телефона. Нечестно просить кандидата инвестировать так много, когда компания так мало инвестировала в отношения.

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

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

Не будь обезьяной кода. Уходите.

ответил SeattleCplusplus 23 rdEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 23 Sep 2014 08:59:03 +0400 2014, 08:59:03

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132