![](https://habrastorage.org/webt/2f/hp/jn/2fhpjnyjbmddfrc8q60lzpgddt4.jpeg)
Собеседования для разработчиков программного обеспечения часто включают в себя домашние задания на несколько дней
В прошлом году компания с вакансией разработчика ПО предложила такой способ проверки моих способностей программиста: написать приложение по доставке заказов из вымышленного ресторана. Я была слегка шокирована. Разработка такого приложения с нуля требует существенного времени, а домашнее задание не оплачивается.
После долгой работы на выходных я так измоталась, что сдалась. Я сказала, что вакансия мне не интересна, но в реальности меня встревожил сам метод подобного собеседования.
Я спросила у знакомых, давали ли кому-то ещё домашние задания. И я оказалась не одинока. По всей стране разработчики столкнулись с этой практикой. Люди тратят от нескольких часов до более трёх дней, выполняя неоплачиваемые задания. В выступлении на PyCon в прошлом году разработчик Сьюзан Тан сказала, что потратила 32 часа на домашнее задание, а в итоге её всё равно не взяли, потому что в программе отсутствовала функция, даже не указанная в первоначальных требованиях. Она говорит, что обычно вообще не получала никаких откликов после выполнения работы — типичная проблема среди опрошенных разработчиков. Эрик Уменхофер из Кремниевой долины столкнулся с тестами, которые требовали полных трёх дней работы.
«В районе залива [Bay Area] к этому уже привыкли, — сказал он. — Когда одна компания начинает применять такую практику, другие замечают это и следуют примеру».
Как домашнее задание стало частью IT-собеседования
Для первой полноценной работы в 2010 году я прошла шестичасовое неструктурированное интервью [интервью, в котором словесная форма вопросов и сам порядок вопросов не планируются заранее — прим. пер.]. Как было принято в IT-отрасли в то время, я побеседовала с каждым членом команды о своём опыте и навыках. Некоторые из них подготовили вопросы, другие — нет.
Многочисленные исследования показывают, что подобные интервью являются потенциальным источником предвзятости и не дают точной оценки кандидатов.
Позже IT-индустрия предложила иные формы тестирования для проверки навыков, в том числе чтобы избежать такой предвзятости. Это в том числе собеседование с использованием доски (whiteboarding), где кандидату предлагают изложить решение для какой-нибудь головоломки, вроде алгоритма для последовательности первых 25-ти простых чисел.
Такой подход тоже был принят в штыки: критики говорили, что эти тесты не похожи на обычную работу большинства программистов. Затем самый известный сторонник таких головоломок Google признал: даже собственные исследования не выявили существенной корреляции решения головоломок со способностями кандидата. Тесты с доской похоронили.
В этом вакууме возникли «домашние задания», где разработчикам дают решать актуальные проблемы в комфортной домашней обстановке на собственных компьютерах.
Проблема с домашним заданием на собеседованиях
Несколько дней бесплатной работы как часть приёма на работу — неудобство для всех, но это требование может усугубить предвзятость против тех групп, которые и так недостаточно представлены в области технологий, таких как женщины. Женщины у нас в стране по-прежнему выполняют бoльшую часть домашней работы по уходу за детьми, что оставляет им гораздо меньше свободного времени для выполнения таких тестов. Как сказала мне разработчик программного обеспечения Габриэла Войку, у многих женщин нет времени на «программистские задания с непонятным исходом, которые неизвестно, принесут ли пользу». Её особенно раздражало то, что некоторые компании преподносят такие задачи как способ устранения дискриминации и более справедливого процесса найма. «Если такова их цель, то это несовершенное решение», — сказала она.
Поскольку домашние задания начали предлагать относительно недавно, пока нет исследований, которые сравнивают их эффективность с другими методами найма. Но некоторые HR-менеджеры утверждают, что можно оценить способности программистов без таких затрат времени.
Пит Холидей, менеджер по разработке CallRail в Атланте, раздавал домашние задания в процессе собеседований, но впоследствии понял, что так отпадают хорошие кандидаты. Некоторые говорили, что у них нет времени на домашнюю работу. Другие, возможно, даже не дошли до этой стадии. «Простое собеседование в офисе даёт больший охват, — говорит Холидей. — Вы не рассчитываете, что у них будет время или есть дома компьютер. Есть кандидаты с больными родственниками, родители-одиночки. Без домашних заданий можно расширить охват».
Холидей также заметил, что некоторые кандидаты оказались незнакомы с конкретным фреймворком, который им предлагался для задачи, но явно были способны его изучить.
Компания Холидея теперь использует структурированный формат «интервью с программированием в прямом эфире», который включает совместный аудит кода и его обсуждение. Обычно процесс занимает от 30 минут до часа.
Алистер Дэвидсон, технический архитектор из Лондона, говорит, что его компания сделала такой же выбор, когда узнала, что выполнение предложенного ими «маленького» домашнего задания заняло у кандидата 16 часов. «[Интервью в прямом эфире] даёт лучшее представление, каково работать рядом с человеком и решать проблему вместе с ним», — сказал он.
В то же время многие разработчики, особенно более высокого уровня, начинают просто отвечать «Нет, спасибо» на предложение выполнить домашнее задание. И я так же поступлю, когда снова окажусь на рынке труда.
Комментарии (330)
claygod
11.05.2018 07:58+4В моей практике был такой случай: по электронной почте пришло сообщение о том, что в такой-то фирме открыта вакансия и предлагается выполнить тестовое задание (приложено). По заданию необходимо написать приложение, которое на мой взляд, требовало хотя бы три дня, а по хорошему неделю.
Поскольку письмо было даже без персонального обращения, я пришел к выводу, что это массовая рассылка, стрельба так сказать по площадям, тем более что ему даже не предшевствовала переписка в духе «согласны ли вы выполнить тестовое задание». Письмо сунул в корзину и принял для себя решение все предложения выполнить тестовое задание отправлять туда же.
Недобросовестные работодатели (возможно с приставкой «псевдо») могут использовать метод тестовых заданий с целью создания софта бесплатно, или хотя бы для поиска решений стоящих перед ними самими реальных задач. Т.е. таскать каштаны из огня чужими руками. Это тоже конечно непросто — потом увязывать всё вместе, но к примеру при микросервисной архитектуре возможно вполне.
Чтобы примирить работодателей, желающих всё-таки добиться от потенциального работника выполнения тестового задания с этим самым работником, думаю, можно сделать тестовое задание оплачиваемым. В конце концов, рекрутеру деньги платят, и следовательно, процесс подбора действительно нужного кандидата стоит денег. Задание можно давать не всем, а к примеру, прошедшим первый этап отсеивания.
В конечном итоге всё упирается в два момента:
— насколько именно в этом кандидате заинтересован работодатель
— насколько в этом рабочем месте заинтересован кандидатalexs0ff
11.05.2018 08:49полгода назад, один работодатель пообещал оплатить тестовое задание — выполнение которого у меня заняло полноценных 2 дня (в отпуске был), но после выполнения — обещание так и осталось обещанием. И тут даже не знаю, как и быть — не договор же составлять?
GDXRepo
11.05.2018 09:04Так же, как при выполнении любых работ без договора. В виде результата вы сначала отдаете заказчику готовый продукт БЕЗ исходного кода. Т.е. просто демонстрируете, что все работает, любыми способами, хоть на эмуляторе показываете в режиме скайп-конференции. А после оплаты заливаете исходный код в репозиторий заказчика. Только так. Я работаю так последний год, заказчиков это всегда устраивает (если заказчик платежеспособный), и все получают необходимые гарантии.
Areso
11.05.2018 10:30+1А он им нужен, этот исходный код?
Компания-интегратор попросила соискателя на одной популярной CMS развернуть шаблон, русифицировать его (из коробки русский поддерживался весьма ограниченно), создать страничку обратной связи, на нее навешать валидацию e-mail и собственно отправку на e-mail.
Когда соискатель выслал адрес сайта, на котором можно было ознакомиться с выполненной задачей, компания не запросила ни исходников ни чего-либо другого. Они ей не нужны.
P.S.: соискателю отказали.GDXRepo
11.05.2018 10:31Тоже верно. Не в каждой сфере разработки применим мой подход. Мне лично он подходит, в веб-разработке, наверное, проще с предоплатой.
Nagh42
11.05.2018 12:14Показ в режиме skype-конференции — решает этот вопрос. Ну или демо-видео на ютубе :)
AlexZaharow
11.05.2018 09:09Можно было бы назначить цену предложить предоплату.
alexs0ff
11.05.2018 09:13цену предложить предоплату
Предоплата за тестовое задание? И если я не справился — все возвращать?Areso
11.05.2018 10:30Все возвращать s плюс проценты за пользования средствами /s.
Под не справился я понимаю случай, когда тестовое задание не удовлетворяет условиям поставленной задачи от слова «совсем».
GDXRepo
11.05.2018 10:55Не возвращать. Предоплата = 50% от полной оплаты, например. Если совсем не справились (по мнению рекрутера) — предоплата остается у вас. Если справились — просите остаток оплаты. Не заплатят — ну, и фиг бы с ними, но вы хотя бы не совсем вхолостую работали.
Areso
11.05.2018 10:59Ну тогда компания может попасть на деньги, если голодные студенты будут потоками там записываться на выполнение тестового задания… А что — обязательств нет, а 50% денег — уже есть.
Привет upwork'у, где сотни фрилансеров «работают» примерно таким образом. Да и не только upwork, с той же моделью можно где угодно столкнуться — от Ебея до Али.GDXRepo
11.05.2018 11:08+1Да, а «серебряной пули» и не существует. Всегда кто-то будет иметь возможность проиграть. Либо кто-то не доплатит, либо кто-то не доработает. Универсальной и 100% гарантии нет, так как оценка тестового задания — дело часто субъективное, а деньги и время вполне себе материальны. Впрочем, не вижу особой проблемы, если перед выполнением тестового провести хотя бы базовое собеседование. Поговорили, если остались сомнения — попросили выполнить тестовое задание с предоплатой. А если поговорили и кандидат не устроил — смысл давать ему тестовое? Если же компания в принципе работает только по системе «массово разошлем тестовые задания и посмотрим на результат» — то это ерунда, так серьезных специалистов не найти.
AllexIn
11.05.2018 11:55Тестовое задание — это не первый рубеж, а один из последних.
Так что оплатить его не проблема совершенно.
Если работодатель предлагает с тестового задания начать — идёт лесом сразу. Потому что это говорит о желании отсеять претендентов за их же счёт.Mikhail_dev
11.05.2018 12:40Саня, и что же тут такого плохого? Ситуации разные бывают, к примеру у человека нет чего-то стоящего, что он может показать как плод умений, плюс это могут быть студенты, без опыта работы. У нас такое было, и тратить своё время на проверку знаний каждого из студентов, я считаю слишком дорогим занятием, ибо их очень много, а нас очень мало. Бывало что приходили вообще нулевые студенты, и потом как они сами признавались, просто набирались опыта хождения по собеседованиям. ТЗ тут очень помогало, хоть и не на 100 процентов.
Другое дело что ТЗ должно быть небольшим, а не на несколько дней. К примеру у меня было как-то ТЗ в компанию Mercury Development, на джуна. Там попросили написать виртуальную файловую систему, клиент серверную, с возможностью работы параллельно сразу с несколькими клиентами. Я сделал дней за 5, но мне отказали, даже не сказав причины. Просматривая тот старый код через пару лет полноценной работы мидлом, я могу сказать что код был достаточно неплохим. Вот таких работодателей надо отправлять лесом.AllexIn
11.05.2018 12:45Ну то есть твоё время тратить неохота, пусть соискатель тратит.
Это для тебя ты один, а соискателей много. У соискателей ситуация ровно обратная.
Опять же, я могу пойти на то, чтобы сделать ТЗ бесплатно, если вакансия вкусная, а работодатель адекватен. Но если это будет последним шагом, а не как инструмент для отсеивания всех подряд.
Елси меня таким образом пытаются отсеять в самом начале — значит работодатель даже не счело нужным ознакомится с моим резюме и кодом.
Если работодателю уже в самом начале плевать на меня, то мне также плевать на работодателя. А значит нет смысла тратить на него время.Mikhail_dev
11.05.2018 12:49Всё верно. У тебя есть что показать. Но такое не у всех есть, и я говорю именно про таких людей. И по мне это честно.
AllexIn
11.05.2018 12:54А какое это имеет значение?
Ты же сам выше написал, что никто не будет смотреть.
Так что есть что показать или нет — не имеет значения.
То есть да, вы отсеете нулевых студентой. А вместо с ними и спецов, которым есть что показать, и они не считают нормой, что на это «что» даже не взглянули выдавая ТЗ.Mikhail_dev
11.05.2018 13:01Ты же сам выше написал, что никто не будет смотреть.
Я такого не писал. Если есть что смотреть, то можно и нужно смотреть.
Так что есть что показать или нет — не имеет значения.
Ну дело каждого. Для меня это категорически нет. Если нет что смотреть, либо не получается понять по тем или иным признакам опыт, то ТЗ, и без вариантов. Если есть, то тут индивидуально.
То есть да, вы отсеете нулевых студентой. А вместо с ними и спецов, которым есть что показать
А тут нет серебряной пули. Да, могут отсеяться, но обычно у людей с опытом есть всегда что показать, это прямо маст хев. Так что если какой-то спец без возможности что-то показать, да к тому же сам решил не идти к нам, посчитав это оскорбительным занятием, то может и к лучшему? И это риторический вопрос.AllexIn
11.05.2018 13:04Если вы смотрите что-то перед тем как давать ТЗ — то это не то о чем речь выше шла.
Нет проблем, ТЗ как один из поздних шагов вполне ок.
Да, могут отсеяться
Тут всё сводится к вопросу — что критичнее — ложно положительное срабатывание или ложно отрицательное.
Что выгоднее для работодателя — проморгать потенциального хорошего спеца или пропустить на собеседование лузера.
И зная ситуацию на рынке с годными спецами, с их диким недостатком я почему-то длумаю что потеря для фирмы от пропуска лузера будет значительно меньшей.
RPG18
11.05.2018 13:54Да же если есть, что показать, некоторые работодатели высылают сразу ТЗ. Меня взбесила ситуация с фотостраной, когда вместо приглашения на собеседования, выслали ТЗ.
Alendorff
12.05.2018 10:22> плюс это могут быть студенты
А могут быть и не студенты. Я лично считаю, что джунов вполне уместно собеседовать через тестовые задания. Это и быстрее для компании и полезно для джуна. А вот мидлам+ рассылать ТЗ уже моветон. Потому что как правило только на этапе джуниорства есть какие-то проблемы с трудоустройством и ТЗ вполне может быть шансом показать что тебя вообще можно брать на работу. А когда уже есть несколько лет опыта работы, то кому оно вообще надо делать эти домашние задания? Просто пообщаться с человеком + код онлайн вместе посмотреть/написать и всё станет ясно.
vladimir_inoz
12.05.2018 16:02Согласен! Часто бывает так, что существует стандартный шаблон тестового задания. И, когда человек откликается на вакансию, ему автоматом кидают этот шаблон. Так поступают некоторые крупные компании, которым хочется, что ли, сэкономить на собеседованиях.
А потом еще и проводят «тренинги», на которых рандомно отсеивают кандидатов.
AlexZaharow
11.05.2018 11:09
areht
11.05.2018 10:05> можно сделать тестовое задание оплачиваемым
Для этого есть «испытательный срок» — можно пару месяцев проверять человека тестовыми заданиями в реальных условиях.JediPhilosopher
11.05.2018 14:06Не будешь же на испытательный срок устраивать все те десятки человек, которые откликаются на вакансии? Возиться с бюрократией, платить им зарплату (между прочим по ТК запрещено ставить на испытательный срок меньшую зарплату, на что правда все у нас забивают болт), при том что негодность человека может выясниться уже через 2-3 дня.
areht
11.05.2018 15:29Я отвечаю на пост с «можно сделать тестовое задание оплачиваемым», а вы отвечаете «Не будешь же на испытательный срок устраивать все те десятки человек»?
То есть оплачивать тестовое задание «всем тем десяткам» вас не смущает, а бюрократия — смущает?
d-stream
11.05.2018 10:06На мой взгляд минимальный вариант задания должен быть. Естественно не нечто продакшн-готовое. Но более-менее охватывающее ожидаемый от кандидата стек технологий.
Во избежание даже помыслов «ща мою гениальную работу украдут» — задания обычно выглядят как откровенно учебные. Типа ну «вот у нас кофе пьют, надо сделать учет и планирование заказов. Есть сотрудники, их предпочтения, разные виды кофе...».
Из практики получалось так, что задание такого уровня становилось принципиальным препятствием для кучи кандидатов (ну любят у нас указывать в качестве знания и опыта всё, что известно кандидату по названию))
upd: не уточнил — это касается кандитаов на джуновlorc
11.05.2018 16:35(ну любят у нас указывать в качестве знания и опыта всё, что известно кандидату по названию))
Это же легко вычисляется при собеседовании. Или зачем тогда собеседования вообще? Логические задачки задавать?
У нас на собеседованиях мы много говорим про предыдущий опыт кандидата. В каких проектах он принимал участие, что конкретно там делал, задаем четкие вопросы на понимание упоминаемых им технологий. Этого более чем достаточно чтобы оценить уровень знаний.d-stream
11.05.2018 17:32А зачем тратить время на собеседование? А так мелкая «капча»… (ну и плюс я спустя пару минут дописал, что речь о джунах и стажерах — у них не всегда есть предыдущий опыт)
Но как оказалось уровень знаний — еще не все… к сожалению… Кто-то потенциально вполне достойный за пару-тройку месяцев отваливается на рутине, кто-то с первой зарплаты или же по окончанию испытательного срока чудить начинает
lorc
11.05.2018 17:39День-два работы — это «мелкая» каптча? Ну не знаю, даже…
У джунов и стажеров пусть и нет опыта работы, но опыт написания кода все равно должен быть. Лабы, хотя бы или какие-то свои личные эксперименты.
Ну может в их случае небольшое тестовое задание и имеет смысл. С другой стороны — а что джун может написать? От него глупо ожидать промышленного кода. Разве что поспрашивать по принятым решениям. Но откуда у джуна опыт принятия архитектурных решений?
А то что некоторые все равно потом отваливаются — ну так это нормально. Не существует идеально правильного способа нанять нового сотрудника. Все равно всегда будут ошибки.
d-stream
11.05.2018 19:33День-два работы — это «мелкая» каптча? Ну не знаю, даже…
То о чем я говорил — полчаса работы для более-менее владеющего стеком.
Ну может в их случае небольшое тестовое задание и имеет смысл. С другой стороны — а что джун может написать? От него глупо ожидать промышленного кода. Разве что поспрашивать по принятым решениям. Но откуда у джуна опыт принятия архитектурных решений?
Да там в задании архитектура практически явно словами описана. Просто увидеть что в sql человек в состоянии написать пару-тройку join и осознано разделить их на left и inner.
А то что некоторые все равно потом отваливаются — ну так это нормально. Не существует идеально правильного способа нанять нового сотрудника. Все равно всегда будут ошибки.
Увы да. С учетом специфики и размеров коллектива — бывают и несхождения по темпераменту и прочим не имеющим к профессионализму показателям.
ZaEzzz
11.05.2018 17:40А есть джуны, которые начинают чудить после первого повышения зарплаты… Пачку задач в одном пулл-реквесте… А что проверять? «Ну то, что не в ацептед».
Сори, за оффтоп, не удержался.
Arlekcangp
12.05.2018 00:01-1Это же легко вычисляется при собеседовании.
Да зачем я буду что то вычислять? Был у меня один кандидат который категорически отказался делать тестовое задание, но менеджмент его все равно «проталкивал». В итоге провели собеседование по скайпу. Я задал вопросы, он на них отвечал неохотно и часто не правильно. Задавал вопросы по типу «а вы с какой целью интересуетесь ?» В итоге сам менеджер потом сказал, что этого кандидата брать не будем, т к велика вероятность, что ответы он в интернете искал «на ходу». Я так и не понял смысл всего этого — ну не хочет человек делать задание, значит либо не может и знает что завалит, либо ему просто не интересно. Зачем тратить время на эти «ментальные изнасилования»? А могло ведь получится что он бы просто знал ответы на все вопросы но либо код писать все равно не умел либо не умел понимать задачу. Тестовое задание такие вещи показывает сразу А иначе только испытательный срок со слезами и болью с обоих сторон.lorc
12.05.2018 00:12А теперь посмотрите на это глазами соискателя. С порога, не побеседовав, не рассказав про проект (может он мне совершенно неинтересен) и команду просят написать тестовое задание. Т.е. вместо того что бы потратить час на разговор я буду вынужден потратить день на тестовое задание. Я сразу же откажусь и дело с концом.
Я конечно не знаю как обстоят дела на рынке в вашей сфере, но у нас в embedded постояный дефицит специалистов. И более-менее опытный программист может довольно легко перебирать компании просто по принципу нравится-не нравится.
Вот. Ну и даже в вашем пример соискатель поступил совершенно правильно — он сэкономил кучу времени и себе (не пришлось писать код) и вам (не пришлось потом в этом коде разбираться).Arlekcangp
12.05.2018 21:27и команду просят написать тестовое задание.
Простите, какую команду? Вы о чем? Тут вроде статья про прием человека на работу.
Отказаться — ваше право. Всегда можно найти того кто согласится. Не однократно смотрел глазами соискателя и делал задания. Считаю это нормальной практикой пока задание не переходит рамки разумного и это не является попыткой компании использовать кандидата до приема на работу. Вы можете до выполнения задать рекрутеру любые вопросы — в чем проблема? Если он не хочет отвечать — конечно есть повод задание не выполнять.
И более-менее опытный программист может довольно легко перебирать компании
И это прекрасно. Но я например в первую очередь не на наличие тестового задания бы посмотрел в компании.
Ну и даже в вашем пример соискатель поступил совершенно правильно
Мне он время не сэкономил. Мне пришлось готовиться к техническому интервью которого могло бы не быть. Было затрачено примерно столько же времени. То что сэкономил себе — чистой воды случай — могло быть по другому: он был бы принят на работу и после двух-трех недель уволен потому, что не соответствует. Это чистой воды случайность, что менеджер сам сказал «что то мне этот тип не нравится». А так он бы был в списке кандидатов и если бы более подходящего не появилось, мог бы вполне быть принят. Это подтверждает, что собеседование абсолютно субъективная вещь в отличие от задания. Я не знаю как сейчас, но раньше на всех экзаменах как в школе так и в вузах давали задчи — т е кроме теории проверялось именно умение задачи решать. Почему при устройстве на работу я это проверять не должен?
APXEOLOG
12.05.2018 09:29(ну любят у нас указывать в качестве знания и опыта всё, что известно кандидату по названию))
Это потому что список требуемых навыков в вакансиях порой совершенно дикий. Под каким-нибудь "Превосходным владением командной строкой Linux" на самом деле подразумевается умение подключиться к виртуалке по ssh и запустить скрипт. Я уж не говорю про всякие там "Знание JSON, XML" — это даже выглядит смешно. Вот люди и лепят все что только можно, чтобы их по малому количеству кейвордов не отсеивали
tyomitch
12.05.2018 17:31Насколько я представляю, просмотром резюме занимаются девочки-эйчарши, которые получили от «нанимающего менеджера» заявку со списком кейвордов, и ищут эти кейворды в присылаемых резюме, не вникая в суть.
Так что резюме в стиле «суп из кейвордов» крайне эффективно.
d-stream
13.05.2018 12:01Даже в случае максимальной конкретики — увы кандидаты уверенно заявляются, а потом «про sql нам два раза на лекциях говорили, а вариант создать wpf-проект я видел в студии»)
OutOfMemory
11.05.2018 13:09Конструкторам тоже приходят такие «тестовые задания».
Приходит ТЗ на готовое изделие. Сделать нужно в определенной CAD-программе, с использованием определенных материалов. При этом заказчик требует не просто чертежи, а еще и готовый электронный макет.JediPhilosopher
11.05.2018 14:11+3Вспоминается байка про то, как какому-то гуру ЧПУ в качестве тестового задания сказали написать программу вытачивания какой-то сложной детали. Он подумал что слишком уж это похоже на то, что они хотят бесплатно получить готовую программу чтобы ее использовать, а не чтобы взять ее на работу. В итоге он ее написал, но предупредил их чтобы они не запускали ее больше десяти раз.
На работу его разумеется не взяли, зато через знакомых он потом узнал, что его программой начали пользоваться на производстве, как он и предполагал. Вот только после десятого использования программа через всякие хитрые недокументированные особенности станка (которые гуру знал на зубок) отключила все защиты от дурака и сломала станок, в итоге грошовая экономия на кинутом кандидате обошлась компании в тысячи долларов на ремонт.
Что потом с ним за это сделали — история умалчивает.flatscode
11.05.2018 15:10Что потом
Заказчики проанализировали программу, вычленили недокументированные штуки, отправили их производителя станка по программе Bug Bounty, получили за это деньги и купили взамен два новых станка?
lovespy
11.05.2018 18:32Недобросовестные работодатели (возможно с приставкой «псевдо») могут использовать метод тестовых заданий с целью создания софта бесплатно, или хотя бы для поиска решений стоящих перед ними самими реальных задач.
Добавить больше нечего и обсуждать статью особо не было смысла.
apapacy
11.05.2018 08:15насколько именно в этом кандидате заинтересован работодатель
слишком часто ни на сколько. У эйчара план по приводу кандидатов. У тимлида возможность расслабиться и постебать претендента. К этому просто нужно быть готовым. О написании приложения способом тестовыз заданий почти уверен что никогда! А вот о получении новых идей очень вероятноkataus
11.05.2018 09:22+1Я позволю себе с вами не согласиться. У тимлида есть задача найти человека который будет решать конкретные задачи, потому компания заинтересова в найме.
И собеседование это не расслабуха и не стеб. Ты реально ищешь в кандидате хоть что-то, за что можно зацепиться и что позволит себя уговорить продолжить общение с кандидатом. И это очень сложно, редко с кем из кандидатов бывает легко и интересно.
А по поводу тестовых заданий… Давали всего 2 раза и оба раза было интересно самому разобраться. Они практически особой ценности не имеют, но позволили прокачать скилы в незнакомых раннее областях.Sanasol
11.05.2018 12:21И собеседование это не расслабуха и не стеб.
Один раз после обычных вопросов типа нарисовать рекурсию на салфетке пальцем предложили ЗП ровно в 2 раза меньше чем в резюме. А после того как сказал что на фрилансе поднимаю больше чем они предлагают и какой смысл мне тогда к ним идти начали предлагать мне разные вакансии где зарабатывают столько сколько я просил(сами пригласили, в резюме ЗП указана была). Самым интересным было предложение пойти в ассенизаторы. Каждый вариант сдабривался совместным ржачем.
Заголовок спойлераСамое интересное что рассказывали про свои огромные заработки и оборот в миллионы долларов в месяц в качестве презентации фирмы. А потом начали предлагать зарплату работника макдака/консультанта в магазине.
GDXRepo
11.05.2018 12:25Как только видите, что ваше резюме не читали (а раз предложили з/п существенно ниже — то не читали), либо вас не уважают, тупо вежливо прощаетесь и закрываете дверь с обратной стороны. Время — штука очень ценная. А если есть время и, главное, желание сидеть и выслушивать «веселенькие предложения» — то это попахивает мазохизмом.
Sanasol
11.05.2018 12:32В тот момент я вообще в астрал вышел от такого поворота. xD
Естественно просто молча разошлись через несколько минут, это уже как раз конец встречи был, видимо прощаются так.
apapacy
11.05.2018 16:24Да, согласен, так должно быть. Хотелось бы всегда на собеседовании встречать именно такого человека. Особенно если работа действительно нужна.
nizkopal
11.05.2018 08:25+2Я тоже никогда не понимал суть бесплатных домашних заданий. Уже ведь давно изобрели такую замечательную вещь, как испытательный срок. Что с ним не так-то?
Пообщались с кандидатом полчаса-час и если человек адекватный, можно пробовать с ним настоящую работу работать, а не игрушечную.
Lazer1999
11.05.2018 09:34+2Плюсую как разработчик, но стоит учесть и позицию работодателя.
Допустим — вакантное место одно, или их мало. Физически не будет места для нескольких сотрудников. Тем более большинство народа с испытательного срока придётся уволить.
Или же брать по одному — большим шансом Того, что придётся отказать косячнику по прошествии пары месяцев. И снова искать кандидата. И тут я даже не говорю что этому горе-кандидату придётся эти пару месяцев крайне неэффективного труда оплатить.
Вот и пытаются работодатели жесткими фильтрами максимизировать шанс что кандидат на испыталке не провалится. Зачастую грамотных спецов, но не «науськанных» на конкретный тип интервью и задач, отсеивая.maxim_k
11.05.2018 11:05+1В итоге тестовое на несколько дней это отличный способо отфильтровать специалистов которые не отчаялись найти работу
areht
11.05.2018 11:07+1> придётся отказать косячнику по прошествии пары месяцев
Откажите за неделю. Что такого вы на тестовом задании увидите, чего не увидите за неделю (или даже за день, при желании)?Lazer1999
11.05.2018 11:13Да в том то и дело что и там и там не увидим.
Допустим, на текущем месте работы такой специфичный набор окружения, что человек неделю как минимум проводит до первого задания простотразбираясь в этом зоопарке, настраивая его под себя, до момента когда смолки ну хоть какое-то задание взять. Тут чтобы понять что он может по делу надо ну не меньше месяца.j_wayne
11.05.2018 11:20> Допустим, на текущем месте работы такой специфичный набор окружения, что человек неделю как минимум проводит до первого задания простотразбираясь в этом зоопарке
Тем хуже для работодателя. Кстати, тестовое задание может сделать не сам соискатель.
Rojdestvd
11.05.2018 18:28По ТК РФ достаточно сложно уволить по статье "не прошел испытательный срок", вот и перестраховываются. Для кандидата такая запись в трудовой тоже приговор, а он просто мог попасть "не в то место".
areht
11.05.2018 19:391) отдаем тестовое задание другу
2) получаем офер и оформляемся
3) profit!
Как от попадания не а то место ТЗ помогает — большой вопрос
Arlekcangp
12.05.2018 00:09отдаем тестовое задание другу
Будь вы моим другом — я бы вас послал с такой просьбой. Это как попросить друга ремонт себе в хате сделать бесплатно. И за деньги тоже послал бы — потому что это уже какой то недо фриланс выходит. В итоге может конечно у кого то и получается так «проскочить» но пока судя по всему таких не много. К тому же могут задать вопросы по выполненной задаче.areht
12.05.2018 11:27Мы говорим про человека, который на работе через суд восстановится (других проблем уволить нет). Это хитрожопый человек, таких — немного. И только против них и нужна перестраховка
Arlekcangp
12.05.2018 21:33Согласен. Упустил момент «изначальной хитрожопости». Однако думаю что в этом вопросе компания все равно окажется в выигрыше. Не захочет увольняться по не прохождению испытательного, уволят по какой-нибудь статье — трех кратное опоздание например. Не будет опаздывать -еще что-нибудь найдут. Короче это сильно редкий случай что бы такое могло какие то весомые неприятности доставить. Задание дают не из-за того что уволить тяжело. Испытательный срок — огромная трата времени для обоих сторон.
areht
12.05.2018 22:00Вы упустили ещё выплату за вынужденный прогул на время судов.
> Испытательный срок — огромная трата времени для обоих сторон.
Принимается, я готов делать ТЗ, если испытательного срока не будет.
michael_vostrikov
12.05.2018 13:36Между 1 и 2 собеседование с обсуждением ТЗ. Если плавает в вопросах о своей реализации и возможных вариантах, пункта 2 не будет. Вот так и помогает.
areht
12.05.2018 13:47Ну то есть собеседование — полезно, ТЗ — фиг знает
michael_vostrikov
12.05.2018 14:37ТЗ это предмет обсуждения на собеседовании и база для сравнения кандидатов. Это реальный код, а не красочное описание на словах. Кроме того, оно происходит до официального устройства на работу (попадания не на то место), а не после.
areht
12.05.2018 15:35Описанное вами как-то опровергает «собеседование — полезно, ТЗ — фиг знает»?
michael_vostrikov
12.05.2018 16:29Да. Потому что «собеседование — полезно, ТЗ — полезно».
И комментировал я ваш вопрос «как от попадания не в то место ТЗ помогает», а не полезность собеседования. ТЗ не единственный способ, но один из.areht
12.05.2018 16:47Ответа на «как от попадания не в то место ТЗ помогает» я вообще не уловил.
Если плавает в вопросах о своей реализации — значит не то место попал, так что ли?michael_vostrikov
12.05.2018 17:42А, у вас похоже цифры не связаны со следующим предложением, это 2 разных ответа. Если так, то согласен, здесь я не прав. Я имел в виду, что отдать задание другу не поможет получить профит, значит это не является аргументом его бесполезности.
По поводу попасть не в то место, задание или замечания к нему тоже могут кое-что сказать. У меня была пара случаев. Один раз предложили сделать доработать внутреннее приложение на тестовом сервере, а именно сложный чат на jQuery. Я сразу сказал, что это не то, что я ищу. Другой раз были какие-то странные придирки, намека на которые не было в задании, да и правильность ожидаемых ими решений была под вопросом. Я не считаю, что было бы лучше, если бы я узнал об этом после выполнения первой рабочей задачи.areht
12.05.2018 20:12> Я сразу сказал, что это не то, что я ищу.
А просто спросить что делать придётся? ТЗ, скорее всего, отдалённо напоминает ежедневные рабочие задачи.
> Другой раз были какие-то странные придирки, намека на которые не было в задании
Не было бы ТЗ — были бы другие странные придирки.
Т.е. да, по ТЗ можно кое-что увидеть. Но это можно и без ТЗ, так что польза… Не соразмерна потраченному времени.
А если к ТЗ не прилагается полноценное собеседование — см. план выше (и, кстати, подготовиться дать пару ответов на типовые вопросы — не сложно).
yeputons
11.05.2018 23:25Если найм международный и требуется оформление рабочей визы и переезд сотрудника, то хорошо бы не тратить тысячи долларов и недели-месяцы на всё это дело.
AnutaU
12.05.2018 08:53Если предполагается переезд, то рисков и у кандидата вряд ли меньше, чем у компании. Потому что ты взял всё бросил, куда-то поехал, получил лишних баллов по шкале Холмса и Рэя, а там — ой!
polyanin
11.05.2018 08:35После прочтения в голове возник вопрос: «А что, так можно было?». Тоже попробую так сделать в следующий раз.
Igor_Sib
11.05.2018 09:02+2Тестовые задания есть смысл давать студентам, без опыта. Если человек уже работал — лучше посмотреть на результаты его работы, спросить в каком проекте он участвовал и что именно прокатывал, попросить показать его код (если из коммерческого проекта нельзя — пусть покажет из какого-то своего, хотя показать один класс из проекта большой проблемы нет мне кажется).
А давать тестовое задание — если оно мелкое — то скорее всего довольно простое. Если крупное — человек потратит много времени, которое стоит денег, такое надо оплачивать. Как верно уже написали выше — есть испытательный срок.siziyman
11.05.2018 11:02А если своих проектов нет? Ну, не все горят желанием или банально знают, что им самим писать в свободное от работы время. А с «коммерческим» кодом действительно могут быть проблемы, хоть бы и банальное отсутствие доступа к нему на момент контакта с новым потенциальным работодателем.
shamyyl
11.05.2018 11:05Всегда попадал в ступор, когда просили «показать свой код».
Вот что считать своим кодом? Если я в проекте внес изменения в существующий класс — этот класс станет «моим кодом»? А если реализовал класс, но по интерфейсу, который уже был реализован до меня? И если кто-то внес изменения в «мой класс» — останется ли он «моим»?
Как по мне, разработка сколько нибудь работающей вещи — это командная работа, где теряются границы между «моим» и «чужим» кодом. Особенно, когда каждый член команды принимает участие в code review.
Ну и получается, что единственный способ показать «свой код» — это запилить какой-нибудь свой проект и выложить исходники на какой-нибудь github. А если pet-проекта нет, то и показывать как будто бы нечего.GDXRepo
11.05.2018 12:08+1Ну и получается, что единственный способ показать «свой код» — это запилить какой-нибудь свой проект и выложить исходники на какой-нибудь github
И, кстати, отличный, хорошо работающий способ. Заводите гитхаб-аккаунт, и время от времени пополняете его какими-то кусочками кода, которые со временем могут вырастать в переиспользуемую либу. Так и актуальность поддерживается, и работодатель может посмотреть недавний код, написанный именно вами, а не кем-то еще. Очень удобно.GarfieldX
11.05.2018 19:57+2Не надо превращать свободное время в продолжение рабочего дня. Сам люблю покодить в свое удовольствие и для себя. Но в таком ключе, чтобы было что работодателю показать — обойдется. Рассматривать под лупой стоит только студентов без опыта, хотя и это бессмысленно, т.к. и так все понятно, что придется учить.
К тому же в разных местах стили разные и то, что стиль «моего кода» не коррелирует со стилем кода работодателя не означает, что я по-другому не умею.
AnyKey80lvl
11.05.2018 18:27+1Перефразируя шутку про детское восприятие:
Если это мой код, то это мой код.
Если это не мой код, но он мне нравится, то это мой код.
Если я думаю, что это мой код, то это мой код.
Если я это первый увидел, то это мой код.
Если ты это поддерживал, но потом перестал, то это мой код.
Если я это поддерживал, но потом перестал, то это по-прежнему мой код.
Если это похоже на то, что я кодил дома, то это мой код.
Если это сломано, то это твой код.
roscomtheend
11.05.2018 09:14У меня сомнения только в слове «новый», сталкивался с таким и 20+ лет назад.
Cheerful_Yeti
11.05.2018 09:22+1На мой взгляд, домашнее тестовое это пока что самый адекватный способ проверки способностей кандидата, приближенный к реальным условиям.
Другой вопрос это его объем. Конечно, оно не должно быть слишком большим, но в какой момент оно таким становится? Здесь уже надо самому решать, сколько времени это займет, и готов ли ты его отдать.
В конце концов, работодатель не обладает исключительными правами на ваше решение и можно использовать его при собеседовании в другие компании. Делал так неоднократно.sefus
11.05.2018 09:54А как вы проверяете, что именно кандидат его выполнил, а не его друг/фрилансер/парень со SO?
Cheerful_Yeti
11.05.2018 10:04А работу за него тоже друг будет делать?
Честно говоря, я не представляю, на что рассчитывает человек, пытающийся обманом попасть на
должность разработчика. Первое же ревью его выдаст.
Ещё хорошо бы обсудить с кандидатом решение, почему это сделано так, а не иначе, как можно было ещё и т.д.
Помню ребят в универе, которые не могли ничего сказать по коду, который они якобы написали.saluev
11.05.2018 17:12-1Человек может с помощью друга чуть-чуть повысить качество своего кода, что даст ему трудно обнаруживаемое «на первом же ревью» преимущество при найме.
ZaEzzz
11.05.2018 10:38Во время проверки ТЗ обычно возникают вопросы — их и спросить на очном собеседовании. Из разряда «а почему тут так, а не так?», или «какие пути решения во в этом месте можно было еще рассмотреть?».
prs123
11.05.2018 18:28Хорошо. Допустим я разработчик приложений под iOS, а как известно под него можно разрабатывать только на маке (отбросим нелегальное). Собственно, для покупки мака мне не платили достаточно, поэтому и ушёл. Дают мне тестовое задание — написать приложение под iOS дома. Объясните, как тогда его выполнить?
Barafu_Albino_Cheetah
11.05.2018 19:24Разработка под что-то, требующее специфического дорогого ПО — это отдельный особый и не такой уж частый случай. В этих условиях домашнее задание так же нелепо, как домашнее задание токарю. Но вот только обычно это не так. почти всегда есть бесплатный вариант разработки. Да и всех яблоразрабов, что я лично видел, таки было личное ябло.
Cheerful_Yeti
11.05.2018 19:34+1Можно попросить у друга/коллеги и даже взять в аренду (такие сервисы есть), поставить хакинтош, купить Mac mini — в конце концов, на чем-то же вы учились? Ещё спросите, что делать если вообще нет компьютера. Мне кажется, это уже забота не работодателя.
Или скажите об этом на собеседовании. Возможно, для вас есть другой вариант.
KoCMoHaBT61
11.05.2018 21:29+1Хм… Для покупки подержанного мак-мини платили недостаточно… Он стоит 30 штук…
…
Не прошёл собеседование на разработчика под iOS.
gleb_kudr
11.05.2018 22:55-1Разработчик приложений под iOS без собственного мака? Это просто нонсенс, даже обсуждать нелепо.
prs123
11.05.2018 23:38а почему же? собственно я таковым являюсь, и много таких людей знаю. собственно, нее только iOS, но и андроид вполне. Другое дело, что домой ни мак, ни iphone не сдались не разу. зачем они мне?
KoCMoHaBT61
12.05.2018 10:17-1Сразу собеседование не прошёл:
Позиционируешься как разработчик iOS, но не имеется ни Мака ни Хакинтоша. Сразу вопрос — где обучался? На работе? Чему обучался? Новомодним JS-скриптам, жабам и дотнетам: «написано однажды, не работает везде»? Что с ObjectiveC? Что с Swift? Умеешь работать с Swift на Linux? Что с Cocoa? Что с Foundation?
«Андроид вполне»… Не понял что имелось ввиду, но Android Studio прекрасно работает на macOS. Значительно лучше, чем на винде.
Отказался делать тестовое задание…
Не прошёл. Совсем. Даже без «мы Вам потом позвоним».prs123
12.05.2018 18:48Да, на работе и обучался. и нет, никаких JS. Только swift, подтягивая немного Foundation. Без Cocoa то уж куда? Swift на линуске? нет. спасибо. лучше с или плюсы.
Android Studio меня как на винде, так и на линухе вполне себе устраивает
artemmityushov
11.05.2018 09:46Ну этот способ такой же новый как моя бабушка молода и юна. Знавал пару контор в которых вообще была очень интересная штука, отдел HR-ов превышал отдел программистов в два раза. Сначала не мог понять что за фигня, а потом понял — сидят несколько толковых программеров и выдают HR-шикам детальные описания, но не людей, а заданий, HR-шики рассылают кандидатам, а потом программеры сливают и докручивают полученные «задания». Бесплатный черновой труд.
Вообще тестовые задания это не панацея, на собственном опыте видел очень много раз когда тестовое задание делалось идеально, а потом на практике сотрудник оказывался никакой, и наоборот, часто те у кого с тестовым были проблемы в реальной жизни решали реальные задачи.hippoage
11.05.2018 10:29Непонятно как те у кого были проблемы с тестовым заданием устроились. Как по мне, тестовое задание достаточно сложно готовить, но это правильное направление: по итогам нужно менять тестовое, чтобы больше раскрывало кандидатов.
GarfieldX
11.05.2018 20:10А это отличный тест для работодателя. Если он смотрит только по тестовому заданию, то пускай на этого узколобого работает кто-нибудь другой.
White_Scorpion
11.05.2018 09:50По сути вопроса — я бы сказал, что вопрос неоднозначный и зависит от того — как сильно вы хотите сменить работу, но меня зацепил один негативный посыл, относящийся к реверсной дискриминации.
Её особенно раздражало то, что некоторые компании преподносят такие задачи как способ устранения дискриминации и более справедливого процесса найма.
И я склонен предположить, что постановка всех в одинаковые условия вне зависимости от способностей деторождения, всё таки УРАВНИВАЕТ права и аргументация компаний — всё таки оправдана (но не оправдывает отсутствия предложения заплатить за потраченное время).
michael_vostrikov
11.05.2018 15:17В статье говорится о том, что «способности к деторождению» никуда не деваются, и поэтому условия все равно неодинаковые.
Ну как если бы для получения любой справки от вас требовали 3 дня лично находиться в очереди в здании организации, и пофиг что у вас работа. Тем, кто на данный момент не работает, проще это сделать, чем вам. А так да, условия для всех одинаковые, если нужна справка, каждый может прийти и постоять в очереди. Или не постоять и справку не получить. Иногда так и бывает, и веселого в этом мало, не так ли?Neikist
11.05.2018 15:25Эм… Ну так способности к деторождению — это же не обязанность…
michael_vostrikov
11.05.2018 15:40Получение справки тоже.
А там имеется в виду ситуация, когда деторождение уже произошло, и это все-таки обязанность.Neikist
11.05.2018 15:44Ну если получение справки необязательно я ее и не буду получать. Никакой разницы.
michael_vostrikov
11.05.2018 16:56Не, тут немного другое. Не в смысле от вас кто-то требует справку, но это необязательно. А вы уже решили, что вам нужна справка для получения какой-то пользы из ее наличия. Скажем, она нужна для поступления в университет. Вы же можете не поступать в университет? Можете, это необязательно.
Neikist
11.05.2018 17:00+1Ну так если решил — то ССЗБ. Остальные то почему под меня должны подстраиваться?
michael_vostrikov
11.05.2018 17:06Никто не должен под вас подстраиваться. Речь о том, что это такая косвенная дискриминация тех, кто работает/воспитывает детей, потому что у них больше сложностей показать соответствие требованиям, хотя с их навыками это не связано.
Neikist
11.05.2018 17:10+2Хм, а я себя воспитываю и самообразовываю — это тоже засчитывается? Это уже не борьба с дискриминацией а выбивание привилегий.
michael_vostrikov
11.05.2018 22:46Вы сами можете решать, потратить время на свое воспитание или на тестовое задание. А с воспитанием других это сложнее. Судя по тексту и ссылке на исследование, это проблема. Есть объективные изначально неравные условия в виде количества свободного времени после работы, просто потому что так принято.
Я не берусь судить, так ли это важно и насколько соответствует действительности. Но не вижу причин не доверять тем, кто с этой проблемой сталкивается. Я не предлагаю способ борьбы с дискриминацией. Я лишь говорю, что согласен с доводом, что это не настолько равные возможности, как кажется на первый взгляд.Neikist
11.05.2018 22:51Но ведь возможности неравные не из за законов или действий компаний, а из за сознательного выбора. Ведь достаточно не выбирать семью и автоматически получается больше свободного времени. А если человек выбирает семью, то неважно, женщина это, или мужчина, да, у него меньше времени будет. Но ведь это его выбор, никто человека к этому не толкает.
michael_vostrikov
11.05.2018 23:09Так описанная проблема не в этом, а в том, что если и мужчина и женщина выбрали семью, то у среднестатистической женщины все равно меньше времени.
Neikist
11.05.2018 23:09Так зачем выбирать семью? А если и выбирать — то такую роль в ней?
michael_vostrikov
11.05.2018 23:17Первый вопрос за рамками текущей ситуации, так как рассматриваются только семейные. Но вообще кто-то должен ее выбирать, иначе населения не останется. Следовательно, такие люди будут.
Второй вопрос надо спрашивать у самих женщин. Предполагаю, это и есть «потому что так принято». И с этим они и пытаются бороться.Neikist
11.05.2018 23:20Ну, на первый вопрос можно ответить просто, те кто осознанно могут выбрать неудобства. А вообще надеюсь что технологии искусственного выращивания людей все таки появятся. Про второй вопрос… По моему они борются не с тем чтобы «так принято» больше над ними не довлело, а чтобы и «традиционный» уклад сохранить, и поблажки получить. Если бы боролись не с компаниями которые привелегий не предоставляют, а с институтом традиционной семьи и уклада — я бы ни слова не сказал.
michael_vostrikov
12.05.2018 14:41О каких привилегиях вы говорите? В контексте статьи разговор о том, чтобы вообще никому не давать тестовые задания на несколько дней. Мне вот они тоже не нравятся. На несколько часов нормально.
Elara
12.05.2018 10:01Здесь фишка в том, что человек, у которого семья, дома выполняет задание хуже (нет времени или отвлекают или ещё что-то). Но на работе работу выполняет не хуже. А проверяют в условиях дома, а не на работе. Вот в чем проблема.
Neikist
12.05.2018 13:12Ну это уже старый спор кто лучше: тот кто в свободное время программирует и что нибудь читает/изучает, и теми кто в это время делает что угодно кроме этого.
michael_vostrikov
13.05.2018 07:04Спор не про то, кто знает лучше, а про то, что на прием тех, кто знает одинаково, влияет количество их свободного времени после работы, а не знания и навыки. Причем после устройства на новую работу это не будет иметь никакого значения. Так как у одной группы людей его заведомо меньше, то это форма дискриминации. Также это может «усугубить предвзятость» и по другим признакам, которые являются общими у этой группы.
Fortop
11.05.2018 21:14Вводите налог на бездетность и уравнивайте.
Это называется разделение труда. Вы навыки повышаете, а кто-то вид сохраняет путем рождений.michael_vostrikov
11.05.2018 22:13Да. А еще можно не давать тестовые задания на несколько дней.
Я не предлагал решение проблемы, и даже не предлагал его обсуждать. Я лишь объяснил, почему считаю довод в статье логичным и обоснованным. Сначала надо признать, что проблема есть, а потом уже искать пути решения.
Revertis
11.05.2018 09:53Мне всегда нравились тестовые задания. Потому, что делались обычно за день, не больше.
То простенький пинг-понг написать на J2ME (в далёком 2006, что ли), то небольшую читалку одного RSS-канала (уже где-то в 2014).
Но когда мне прислали задание из компании с «лингво» в названии, я приофигел. Там был описан целый продукт. То есть куча нюансов, регистрация пользователей, работа их в приложении, и куча всего другого. Создалось впечатление, что если сделать это красиво, то можно хоть сразу в Google Play выкладывать. И тогда я честно написал рекрутерше, что не собираюсь бесплатно разрабатывать им продукт.
varton86
11.05.2018 09:57Успешное прохождение тестирования подразумевает некое вознаграждение. В случае успешного выполнения тестового задания прием на работу отнюдь не гарантирован, так зачем его делать? Только ради забавы или для себя, если есть время.
GLK9000
11.05.2018 09:57Попал ровно в такую же ситуацию несколько месяцев назад.
Позвонили, предложили интересную вакансию в крупной компании. HR провёл общение по телефону, всё ок, передали резюме выше.
Позвонил начальник потенциальный, пообщались в достаточно интересном ключе, выявили общий скоуп задач, целей.
И было дано домашнее задание на пару дней.
Тема (предметная область) была чуть «сбоку» от текущей практики, но её вполне можно освоить в полном объёме за месяц, этого времени было бы достаточно, чтобы стать экспертом.
В итоге, потратив 2 полных вечера на домашнее задание, отправил его.
И дальше тишина. Через месяц Напомнил о себе, молчание.
По результату демонстрации решения коллегам за кружкой пива решение было признано красивым и вполне отвечающим требованиям заказчика.
Звонить и настаивать на ответе не стал, возможно зря.GDXRepo
11.05.2018 12:14На мой взгляд, не зря. Вы совершили ошибку уже на моменте, когда отдали результат работы за два полных дня бесплатно, без перестраховки. Все разговоры «до» — это вообще не гарантия и не показатель. Реальную ценность имеет только материальный результат, вы его отдали, — далее все на совести «работодателя». Если он с вами сам не связался — это явно человек/компания, с которыми не стоит сотрудничать, если они даже в простом вопросе рекрутинга не могут обеспечить пунктуальное и профессиональное общение с кандидатом. P.S. Вы пишете, что «через месяц» напомнили о себе — вы серьезно месяц ждали от них ответа? Я забываю о рекрутере, как только прошел срок, им же самим объявленный (обычно пишут «мы дадим ответ в течение 1 недели», например). Срок прошел — до свидания. Если возникают проблемы уже на этапе знакомства, то уж на этапе постановки задач или выплаты зарплат в реальном сотрудничестве этих проблем станет только больше. Имхо.
GLK9000
11.05.2018 14:25Через месяц был скорее «реверанс» как специалист-специалисту.
По той же теме, крутое, но дорогое боксовое решение. Выходящее за грани их ТЗ (гораздо шире), но просто интересное.
Нет, ответа я уже не ждал. Это было бы совсем глупо.
Про момент совершения ошибки — согласен. Но я не предвидел такое, не сталкивался.
Не могу сказать что расстроен. Получил одну единицу опыта :)
hippoage
11.05.2018 10:14Несколько тезисов:
* Стаж мало что показывает: мы же хотим понять кто из условных 10 соискателей лучше пишет код и нанять 1.
* Класс из большого проекта тоже: что-то написано другими, что-то обусловлено архитектурой.
* Open source не особо показывает скорость/качество реальной работы, насколько человек может делать code review и прочее (может и показать, но уже слишком сложный случай, мало у кого такое есть).
* Чужие тестовые задания — лучше, чем ничего, но как сравнивать с результатами других кандидатов?
* Испытательный срок — мне, как кандидату, все-таки лучше иметь какую-то уверенность, что подхожу на позицию, а не вылечу на след. день, т.к. на старое место вряд ли вернешься, а семью содержать надо
* Если кандидатов реально мало и особо не повыбираешь, то тут что угодно можно зачесть как «проверку» кандидата
* По мне лучше сделать 1 тестовое задание и 1-2 собеседования, чем 5 раз собеседоваться в разные дни по часу и больше (бывало). Другими словами нужно смотреть на полные затраты трудоустройство, а не только на часть тестового задания.
Все-таки домашнее тестовое задание — хороший инструмент. Только его тоже нужно уметь готовить:
— подготовленный стартовый проект на тех же технологиях, что и работа потом
— несколько часов работы как если бы уже полгода на этих технологиях работаешь (это будет 2-4х для человека, который немного другим занимался)
— явно заявить сколько компания ожидает работник будет тратить на эту задачу через 2 недели, т.к. скорость работы — один из важных показателей
— явная учебность задачи, а то параноиков реально много (может и не зря)
— ограничение на срок сдачи (например, сутки), если ищется готовый специалист, а не на обучение
— если позиция не просто регуляр, то можно добавить code review тестового проекта или еще что будет от человека требоваться (только не увлекаться, чтобы длительность оставалась разумной)
— давать понятную обратную связь по заданию
— наверняка еще какие-то детали
Делать без оплаты или нет? С одной стороны есть тезис, что любая работа должна быть оплачена, но это, скорее, про трудовые отношения, которых еще нет. С другой при продаже очень часто «попробывать» — бесплатно. Т.е. я думаю что, если можно сделать за 1 вечер, то бесплатно. Понятно, что в итоге это не бесплатно: кандидат смотрит разницу с текущей зп, учитывает вероятность и длительность трудоустройства, время на других потенциальных работодателей и принимает решение выгодно в такое ввязываться или нет.
Все-таки смена работы — достаточно редкое явление (не фрилансер, который ищет заказы каждый день). Если от интересной работы отделяет только долгое тестовое задание, то не особо проблема, а если работодатель/вакансия не очень, то и не надо тратить время.White_Scorpion
11.05.2018 11:15+2Если "стаж мало что показывает", то зачем в 90% заявок требования "стаж 1/2/3 год/а"?
На самом деле — показывает он то, что человека НЕ НАДО будет учить элементарным вещам. Работе с VCS, трэккер системой и… это тоже ценные навыки
Nagh42
11.05.2018 12:24Как показала практика — не показывает. Потому что: — а у нас был mercurial, а у вас какой-то git, всё сложно и непонятно.
White_Scorpion
11.05.2018 13:40Я честно говоря, с меркуриалом не сталкивался, но читал, что это "те же яйца, но вид в профиль". ТО бишь что есть mercurial, как не "git но со своими нюансами"? Ведь базовые принципы — те же. Да, нюансы важны, но хотя бы базовые операции commit/push/pull/fetch — не надо объяснять. Или надо, но хотя бы в стиле (если объясняющий с гитом знаком: "Вот эту команду знаешь? Тут она делается вот так" — всё легче. Тоже самое TFS/Jira/<something-else> — базовые принципы в плане "нафиг это надо?". И даже если какие кнопки тыкать, чтобы добраться до своих тикетов — расположены по другому — терминология всё таки более-менее совпадает и её стараются придерживаться все системы. Равно как и описания процессов.
Areso
11.05.2018 12:24Придет к вам человек с другого набора технологий — будете учить всему. У него открытый код на Гитхабе? Классно, у вас Mercurial. У них была, скажем, Jira? Зашибись, а у вас 1C:ITIL. У них был Конфлюенс? Молодцы, а вы за FLOSS, и потому у вас DokuWiki. И так далее. Человек работал на Ubuntu? Но вы же четкие парни, у вас RHEL во все поля)
У меня начальник однажды пошутил: лучший кандидат с точки зрения обучения — это тот кандидат, который у нас уже работал.valery1707
11.05.2018 19:00Я может чего-то не понимаю, но ведь разница между git/mercurial, Jira/1С:INIL, Confluense/FLOSS, Ubuntu/RHEL не так уж и велика.
Между Windows и Ubuntu разнцы сильно больше чем во всём выше перечисленном.Areso
11.05.2018 19:36Речь не о том, как много разницы между продуктами, хотя и их хватает. Главное — знание принципов, чтобы уж действительно с нуля не пришлось учить (принципам, а затем — продуктам).
В конце концов, человек может придти на абсолютно тот же стек и два месяца барахтаться с получением доступов везде, где надо, потому что оргструктуру и кому куда какие заявки и запросы слать человек не знает.
У нас, к примеру, доступ на гитхаб (и гитлаб) согласовывается отдельно с ИБ и потом только прописывается сетевиками. Сюрприз, да?valery1707
11.05.2018 20:19Так в том то и дело: уж лучше пусть он знает git — он тогда на разборки с mercurial потратит меньше времени, чем придёт
условый1С-ник для которого любая VCS в диковинку вместе с их смыслом и необходимостью.
Да даже с cvs/svn на git/mercurial/what-ever переобучить проще чем рассказать с нуля про любую из VCS.
Придет к вам человек с другого набора технологий — будете учить всему.
В том то и дело — учить нужно, но принципы он уже знает. А значит и учить нужно не всему, а специфике.
Собственно об этом и говорилось в начале треда:
На самом деле — показывает он то, что человека НЕ НАДО будет учить элементарным вещам. Работе с VCS, трэккер системой и… это тоже ценные навыки
Neikist
11.05.2018 22:52Как бы я не не любил 1с, но в ней есть и встроенная система контроля версий, и с git можно работать.
hippoage
11.05.2018 12:38Я, наверное, все-таки про хороших регуляров и лучше писал. Такие требования по стажу как раз пытаются отсеить юниоров.
1 год что-то показывает, но тоже зависит от конторы. 2+ уже не особо: человек может не особо прогрессировать, а, иногда, даже регрессировать (отказываться принимать текущие best practice платформы).
Не факт, легко может оказаться, что человеку будет тяжело даваться git после svn (да, в текущем году).
kokoko321
11.05.2018 10:25+1Недавно предложили выполнить тестовое, рассчитанное на два полных рабочих дня, за (внимание) два дня. Впрочем, это научный стартап с требованиями к образованию и умениям, постоянными публикациями и, судя по всему, хорошим финансированием, поэтому требуется высокая мотивация сотрудников. Но в любом случае это попахивает поиском готовых работать много и за бесплатно.
ZaEzzz
11.05.2018 10:30-1Тема обмусоливалась уже не раз настолько, что стоит отдельной статьи с разбором полетов плюсов и минусов ТЗ. Если коротко, то это дает свои положительные результаты. Я сам не раз проходил тестовое и могу сказать, что это отличный способ как посмотреть на кандидата, так и посмотреть на компанию.
Вот пример, со стороны сотрудника компании.
Задание: сделать на базовом шаблоне yii2 новостной сайтик. Важно: регистрация, авторизация, роли (админ, пользователь), категории новостей, добавление новостей и комментариев.
Насколько важны внешний вид, верстка и дизайн? Мы php разраба ищем, а не дизайнера. Не важно.
Плюшки по оформлению и форматированию новостей? Ну можно добавить парсер маркдаун, будет плюсом, но не обязателен.
Такое тестовое задание отлично отсеивает кандидатов — человек в теме выполнит его спокойно за несколько часов, а человек не в теме нам не нужен.
Знаете, что мы получаем в качестве отзывов?
Вы потом мою работу будете использовать у себя, платите деньги
Мы специально решили дать такое задание, чтобы сразу было понятно, что оно бессмысленно для дальнейшего использования — тонны реализаций уже есть и они бесплатны.
Я потрачу N часов и это будет стоит *рассчеты* 20к рублей.
Это не шутка. Один кандидат действительно решил, что ЭТО будет стоить 20к, многие другие были менее жадны — 5-15к, но не меньше.
Я на это потрачу все выходные, давайте что-то легче
Или он врет, или он нам не подходит.
Какие тестовые задания? Посмотрите какой у меня код на гитхабе!
Не единичный случай. Ок. Потратили время на то, чтобы прочитать его код, вникнуть в него и… Лучше бы он не показывал его.
Тестовые задания не нужны! Испытательный срок никто не отменял!
Тут стоит чуть больше пояснить. Взаимоотношения сотрудника и работодателя — это не когда кто-то кому-то что-то должен, это взаимовыгодное сотрудничество. Конечно законодательство никто не отменял и у каждого есть свои права и обязанности (кто-то кому-то что-то должен), но хороший и плодотворный коллектив собирается только тогда, когда все понимают, что они взаимовыгодно сотрудничают. Никто кнутом не заставляет выполнять задания, не хочешь — не выполняй. Хочешь сотрудничать — значит готово потратить время на выполнение тестового.
P.S. Конечно же есть недобросовестные работодатели, которые используют бесплатный труд, но тут стоит научиться вычленять таких по ТЗ.
P.P.S. Я продакт, не HR.Areso
11.05.2018 10:46+1Такое тестовое задание предполагает что вы либо ищете человека со знанием Yii2, и тогда оно будет выполнено за несколько часов, либо, если это php программист без знания / со знанием других фреймворков, то это ни разу не несколько часов.
ZaEzzz
11.05.2018 11:25Да, верно, речь идет о человеке, который знает yii2. Забыл этот момент уточнить, просто это прямо указано в вакансии.
BelikovDmitrii
11.05.2018 19:27Я как знающий Yii, ни за что бы не стал тратить время на такую типовую задачу. Поскольку я знаю и использую его, у меня есть n проектов аналогичных, так почему бы вам не взглянуть на них — они же тут, в сети. Опять же, задача которую вы озвучили займёт больше 3х часов, если прямо действительно сесть и сделать. Это время. Вы потратили больше 3х часов вашего оплачиваемого времени на рассмотрение резюме? Думаю нет, так с какого такого я должен тратить на вас столько времени да ещё и бесплатно?
ZaEzzz
11.05.2018 19:50Я как знающий Yii, ни за что бы не стал тратить время на такую типовую задачу.
Отлично! Ведь очень часто приходится делать именно типовые задачи, но делать это качественно.
у меня есть n проектов аналогичных, так почему бы вам не взглянуть на них — они же тут, в сети
Потому что уже пройденный этап. Я хочу увидеть как будет решена именно эта задача и хочу сравнивать с остальными результатами. Зачем мне кого-то особо выделять по мифическим привилегиям или блату? Это так не работает.
Опять же, задача которую вы озвучили займёт больше 3х часов, если прямо действительно сесть и сделать.
Еще одно подтверждение, что не стоит тратить на него время. Наши ожидания о времени выполнения не с потолка взяты.
Это время. Вы потратили больше 3х часов вашего оплачиваемого времени на рассмотрение резюме? Думаю нет, так с какого такого я должен тратить на вас столько времени да ещё и бесплатно?
За последний квартал я потратил сумарно две недели на это. И это только те резюме, что прошли через HR'а по требованиям. Знаете, увидеть в резюме ложь — тоже нужно уметь.BelikovDmitrii
12.05.2018 15:13Вы просто не подходите лично мне как персонаж, с которым можно начать сотрудничество. Подумаешь. Ваши методы это ваши методы. Хотя по вашим комментариям больше похоже, что вас просто все хотят кинуть, видя ваш «труд».
ZaEzzz
13.05.2018 00:27Вы просто не подходите лично мне как персонаж, с которым можно начать сотрудничество.
Есть множество неподходящих персонажей, и это нормально.
Хотя по вашим комментариям больше похоже, что вас просто все хотят кинуть, видя ваш «труд».
Вот эту фразу не понял. Кто кого хочет кинуть?
BelikovDmitrii
12.05.2018 15:24Вы просто не подходите лично мне как персонаж, с которым можно начать сотрудничество. Подумаешь. Ваши методы это ваши методы. Хотя по вашим комментариям больше похоже, что вас просто все хотят кинуть, видя ваш «труд».
Samouvazhektra
11.05.2018 10:57Задание: сделать на базовом шаблоне yii2 новостной сайтик. Важно: регистрация, авторизация, роли (админ, пользователь), категории новостей, добавление новостей и комментариев.
Ну задание мягко говоря не однозначное. Если достаточно нафигачить crud через gii — то можно и за час-полтора, А если по нормальному, с выносом сервисного слоя, rbac, комменты в nested-tree, категории many-to-many, тестами покрыть, то можно и весь день и дольше провозиться
ZaEzzz
11.05.2018 11:40Можно и над страницей TODO провозиться неделю, месяц… Только вопрос: оно того будет стоить?
Есть ТЗ, есть ожидание о времени выполнения, есть результат с указанием затраченного времени и тут смотрим что было сделано за какое время и как.
На самом деле я, как кандидат, придерживаюсь простого мнения: если на мой взгляд ТЗ занимает больше одного рабочего дня, то не стоит за него браться потому что:
— Я не подхожу компании
— Компания дала неадекватно большое ТЗ
— Компания недобросовестна и «мой гениальный код сопрут» (такое тоже встречается)
В общем напишу вежливый отказ в выполнении ТЗ, но уж точно никак не буду писать гневные оды о том, что бла бла бла. Если именно компания заинтересована в моей кандидатуре, то еще свяжутся со мной и найдем общий язык. Но это справедливо в том, случае, что я разумно и обоснованно отказался от выполнения ТЗ, а не потому что мне так захотелось и я так вижу. Но обычно это все таки «мы не подходим друг другу» и я понятия не имею о чем тут можно дальше вести переписку тратя время.
kimisa
11.05.2018 11:19+1Если всё писать на готовых модулях, то это быстро. А если с нуля, то не могу сказать, что это можно сделать за пару часов. По хорошему минимум 1,5 рабочих дня.
А вот теперь представьте, что человек работает и что вы не первый такие задания даете. Получается, что соискатель только и сидит вечерами и делает ваши простенькие сайтики. Раз сделаешь, взяли другого (не из-за вашей проф не пригодности, а более опытного), второй, а потом уже не хочется это всё делать.
А почему бы не дать реализацию модуля с определенной функциональностью. Это будет быстрее.ZaEzzz
11.05.2018 11:48Готовые модули? Вперед. Не возбраняется — в любом случае нужно быть готовым ответить на вопросы что/почему/как. А если это общепринятые популярные модули, то тем более почему бы и нет?
Если человек умеет решать поставленные задачи и работать с этим дальше, то пусть хоть толпа китайцев ему код напишет. Если он, конечно, разберется что там и как будет на выхлопе.
areht
11.05.2018 12:16+1> Взаимоотношения сотрудника и работодателя — это не когда кто-то кому-то что-то должен, это взаимовыгодное сотрудничество.
Напомните, в чем выгода кандидата бесплатно тратить недели своего времени на выполнение тестовых заданий (а ваша вакансия вряд ли единственная в городе — заданий, соответственно, тоже будет несколько)? Подозреваю, что ответ будет тот же, что и при объяснении потом «почему я должен сверхурочно бесплатно работать» — ради права ещё и платно работать.
Если вы не готовы моё время считать ценным ресурсом — зачем мне то с вами связываться? У вас что, зарплаты на 30% выше рынка? Или вы Гугл?ZaEzzz
11.05.2018 12:35Если вы не видите для себя выгоды, то не стоит тратить свое время на выполнение тестового задания. В чем проблема? Или у вас тестовые задания как в фильме Swordfish под дулом пистолета?
Смотрите как хорошо — отказались от выполнения тестового и сэкономили недели не только своего времени.areht
11.05.2018 13:17+1То есть вы тоже не можете объяснить в чем выгода? Тогда не буду, конечно.
Если бы, как в Swordfish, бабу на тестовое задание выдавали — другое дело.ZaEzzz
11.05.2018 14:20Вы действительно не увидели то, что тестовые задания экономят время?
Если бы вообще не было тестового задания от которого вы можете отказаться из-за его неадекватности или оно просто вам не по душе, то вы бы приехали на собеседование, отсобеседовались и ушли с мыслями «пол дня на смарку с их космическими хотелками» а у работодателя была бы мысль «потратили час, а он нам не подходит» и все это бы сопровождалось словами «мы с вами свяжемся и сообщим о результатах», но в лучших традициях со звонком запоздают — так получается, что никто не любит сообщать плохие новости.areht
11.05.2018 14:25А, то есть у вас собеседования как такового нет?
ZaEzzz
11.05.2018 14:47Конечно же есть. Тут план развития следующий:
1 — Если кандидат не выполнил ТЗ или «нам не понравился результат», то в ответе с отказом указано что именно нам не понравилось, почему итд. При этом стиль кода мы не особо смотрим — выправляется за пару месяцев. Хочет поспорить и обосновать верность и грамотность решения — пожалуйста, никуда ехать не надо, переписываться можно хоть из леса с мангальчиком шашлыков.
2 — Если кандидат выполнил ТЗ и результат удовлетворительный, то приглашается на собеседование в хэнгаутс и мы задаем вопросы, которые у нас возникли по ходу проверки ТЗ. Почему он выбрал именно такое решение, почему так построил архитектуру итд. Если адекватно воспринимает критику, мозги на месте, то скорее всего на сл день получит оффер.
3 — Если кандидат выполнил ТЗ и в нем все замечательно, то приглашается на собеседование, где мы знакомимся и обговариваем условия работы.RPG18
11.05.2018 15:14Получается, что серая зарплата или нет, хороший офис или нет, есть ли печеньки или нет, я могу узнать только после выполнения ТЗ?
ZaEzzz
11.05.2018 15:24Почему? Кто-то запрещает узнавать нужную информацию?
У меня вообще один из первых вопросов — это вилка зарплаты и без этой информации я не продолжаю общение с рекуртером, иначе можно долго общаться, все всем понравится, а потом «мы готовы предложить вам потолок — 20 тыр, больше не можем позволить».
areht
11.05.2018 20:46То есть время я экономлю только если мне отказывают, да и то, только если выполнение ТЗ заняло меньше пары часов? Ну, такое себе.
> Кто-то запрещает узнавать нужную информацию?
Вот вы же не просите красиво описать как я пишу код, а хотите посмотреть. Вот и я хочу на офис посмотреть.ZaEzzz
11.05.2018 21:08То есть время я экономлю только если мне отказывают, да и то, только если выполнение ТЗ заняло меньше пары часов? Ну, такое себе.
Вы же уже сэкономили время отказавшись от ТЗ. Какие пару часов?
Вот вы же не просите красиво описать как я пишу код, а хотите посмотреть. Вот и я хочу на офис посмотреть.
Вроде бы я нигде не писал, что обязательно стоит запрет на выяснение информации о компании и это не зависит от наличия тестового задания и не соотносится с обсуждаемым вопросом. Бывали случаи, когда соискатели приходили к нам и общались с HR'ом, но это никак не было собеседованием — так, маленькое знакомство, после которого было предложено выполнение ТЗ.areht
11.05.2018 21:48> Вы же уже сэкономили время отказавшись от ТЗ.
Не я отказался, а вы отказались объяснить где вы взаимовыгоду нашли. Вы там ниже описали кейс, что у вас ипотека, ребенок и вам вот прям надо чтоб точно. Даже это не взаимовыгода — это вам надо было. Даже вашему работодателю было не надо — только вам (и вы работодателя ещё и напрягли придумывать вам тестовое), с вашим убеждением, что можно по тестовому оценить кандидата.
Во-первых, нельзя (не лучше, чем другими способами).
Во-вторых, это выгодно только вам.
Вы хотите экономить своё время (и деньги) тратя чужое время. Я это желание понимаю, но не разделяю.ZaEzzz
11.05.2018 22:29Не я отказался
Точно?
зачем мне то с вами связываться?
Я думал этой фразой указан отказ от выполнения ТЗ.
Я не вижу причины доказывать что среднестатистический работодатель достоин вашего среднестатистического внимания — это индивидуально.
Висит вакансия. Если она интересна соискателю — он на нее реагирует. Если она ему очень интересна, то он и тестовое выполнит, но только в пределах его интересов.
Вы там ниже описали кейс, что у вас ипотека, ребенок и вам вот прям надо чтоб точно. Даже это не взаимовыгода — это вам надо было. Даже вашему работодателю было не надо — только вам (и вы работодателя ещё и напрягли придумывать вам тестовое), с вашим убеждением, что можно по тестовому оценить кандидата.
Потому что у меня было такое впервые, чтобы простое воздухосотресание без особых тематических уклонов с доказательствами решало что и как будет дальше в моей жизни из-за того, что меня порекомендовали. Это блат — я такое не признаю.areht
11.05.2018 23:06> Я думал этой фразой указан отказ от выполнения ТЗ.
Ну… давайте сойдёмся на том, что с выводами у вас не очень.
> Если она интересна соискателю — он на нее реагирует.
Ну я с этого и начал: если вы гугл — да, можете нагибать соискателей со входа, если нет — прибавляйте +30% денег.
Если вы не гугл, но думаете, что платите по рынку — скорее нет, вы — нанимаете тех, кого не успели (не захотели) взять другие. Наверное те, кого можно нагнуть со входа стоят несколько меньше людей с 3 оферами.
Если бы у вас хоть ТЗ было интересным… Но нет, это не наш случай.
> Это блат — я такое не признаю.
«блат» — это когда «у меня свояченица мается — можете пристроить куданить?».
«рекомендация» — это «умный трудолюбивый парень, 100% не пожалеете».
Очень разные вещи.
PS. На сколько хреново надо выполнить ТЗ, что бы не взяли по блату? Вероятно, вас взяли по блату, вопреки ТЗ (живите теперь с этим)ZaEzzz
11.05.2018 23:29Ну… давайте сойдёмся на том, что с выводами у вас не очень.
Нет, не давайте.
С колокольни работодателя все просто: если кандидат не хочет выполнять ТЗ, то он не будет его выполнять и не надо ему доказывать обратное.
Ну я с этого и начал: если вы гугл
А я специально поддерживаю то, что я среднестатистическая компания.
Да, именно я не хотел бы работать в гугле.
если нет — прибавляйте +30% денег.
А почему вы диктуете условия что мне делать? Тем более понятия не имея о чем я вообще говорю, но требуя вилки.
Если бы у вас хоть ТЗ было интересным… Но нет, это не наш случай.
Тут я чуток подскажу: я лично приложил руку к тому, чтобы оно было как можно скучнее на первый взгляд. За полтора года два человека увидело изюминку — оба трудятся у нас по сей день.
Очень разные вещи.
Ви таки не поверите.
PS. На сколько хреново надо выполнить ТЗ, что бы не взяли по блату? Вероятно, вас взяли по блату, вопреки ТЗ (живите теперь с этим)
Утешайте себя, может быть поможет.areht
12.05.2018 00:14> С колокольни работодателя все просто: если кандидат не хочет выполнять ТЗ, то он не будет его выполнять и не надо ему доказывать обратное.
Не понял, правда, к чему вы это, но почему бы и нет. Хотят — делают, хотят — не делают, хотят — «Пачку задач в одном пулл-реквесте».
> А почему вы диктуете условия что мне делать?
Не Вам, а среднестатистической компании. И не я, а рынок.
> я лично приложил руку к тому, чтобы оно было как можно скучнее на первый взгляд
Напомню, что гугл от головоломок отказался. То, что вы сидите на собеседовании с хитрым прищуром — не делает сам отбор лучше.
> За полтора года два человека
Да, в каких-то таких масштабах я и оцениваю поток отбора через ТЗ для среднестатистической компании.
> Утешайте себя, может быть поможет.
Вы правда думаете мне есть разница по какому блату вас брали? С выводами у вас всё же очень не очень.
> Да, именно я не хотел бы работать в гугле.
Утешайте себя, может быть поможет.Arlekcangp
12.05.2018 00:54И не я, а рынок.
ну вот тут как раз статья что рынок таки диктует «тестовым заданиям быть» =)areht
12.05.2018 02:46А вы точно до конца дочитали?
Arlekcangp
12.05.2018 21:40Если честно читал вскользь конец, потому что еще вначале понял что это статья из разряда «плачь ярославны». Т е это влажные мечты некоторых кандидатов, что «тестовые задания не нужны и их в конечном итоге отменят» К ним могут присоединяться некоторые компании но это никак не значит что так будут делать все. Та же фигня была с удаленной работой. Мне вот очень хочется что бы абсолютно все компании перешли на удаленный способ набора кандидатов и работы, но я знаю что этого не будет в ближайшие два десятка лет. Потому что есть сценарии, когда это очень дорого для компании или в принципе не возможно. Здесь тоже самое — при приеме на работу человека, нужно хоть как то проверить его умения. Считаю что доска и 30 минут этого не могут. Да и я бы предпочел день дома c понятным четким заданием, чем 30 минут на доске с непонятными задачами и вопросами. А обычно у доски именно так чаще всего.
areht
13.05.2018 11:33> при приеме на работу человека, нужно хоть как то проверить его умения. Считаю что доска и 30 минут этого не могут.
Как же справляются с наймом тех, кто не пишет код?
ZaEzzz
13.05.2018 00:47Не понял, правда, к чему вы это, но почему бы и нет. Хотят — делают, хотят — не делают, хотят — «Пачку задач в одном пулл-реквесте».
А что непонятного?
Кандидат не видит выгоды в выполнении ТЗ и это у него не вызывает желания его выполнить. Зачем его уговаривать? Следующий.
Не Вам, а среднестатистической компании. И не я, а рынок.
Среднестатистическая компания не может так выделиться — она перестанет быть такой.
Напомню, что гугл от головоломок отказался. То, что вы сидите на собеседовании с хитрым прищуром — не делает сам отбор лучше.
Вы что-то себе надумали. Вроде нигде головоломку я не устраивал. Есть в ТЗ изюминка. Если при выполнении он ее нашел, то это +100 к репутации. Для успешного выполнения ТЗ совсем необязательно выискивать ее.
Да, в каких-то таких масштабах я и оцениваю поток отбора через ТЗ для среднестатистической компании.
Это из разряда сами себе надумали. Если кандидат не нашел изюминку, то это совсем не значит, что он не выполнил ТЗ и остался без оффера.
Вы правда думаете мне есть разница по какому блату вас брали? С выводами у вас всё же очень не очень.
Мне как-то без разницы что вы думаете о моем прошлом месте работы. Я только не понимаю к чему это.
Утешайте себя, может быть поможет.
Если серьезно, то я действительно не хочу работать в гугле и искренне не понимаю стремление многих людей попасть туда. У меня рядом есть пара живых людей, которые вернулись оттуда. Один два года работал, второй три — я не хочу получать такой опыт.areht
13.05.2018 12:44> это совсем не значит, что он не выполнил ТЗ и остался без оффера.
То есть изюминка — just for fun, а к отбору фактически отношения не имеет? Ну ок. А зачем вы тогда про неё писали?
Два исключения не отменяют, что у вас задание не интересное.
exit999
11.05.2018 18:29Тут стоит чуть больше пояснить. Взаимоотношения сотрудника и работодателя — это не когда кто-то кому-то что-то должен, это взаимовыгодное сотрудничество.
Вы сами себе противоречите.
Тестовое задание кандидату делать абсолютно невыгодно! Получается он вам что-то уже должен, а вы ему за это с большой вероятностью ничего взамен. Получается вы, еще до приема кандидата на работу, уже ставите себя в положение «Ты раб, а я твой господин! Чего хочу, того велю.»ZaEzzz
11.05.2018 20:27+1Да что вы все заладили кто-то кому-то должен, кто-то кому-то раб и работорговец плеткой хлещет по спине и пяткам чтобы было выполнено тестовое задание.
Это рынок. Кто-то товар, кто-то покупатель. Не нравится тестовое — незачем на него тратить время и нужно смотреть кого можно еще купить/кому предложить себя (не обязательно компания будет покупателем — легко может быть и наоборот). Если у компании не будет кандидатов из-за неадекватности тестового, которое никто не будет выполнять, то это проблемы сугубо этой компании, но никак не соискателя.exit999
11.05.2018 22:29Согласен, это рынок.
Но давать задание на 3-4 дня это просто неуважение ко времени другого человека. Только на джуниоров, которым надо изучить стек, с которым они будут работать. А вообще на джуниоров легко отсеиваются неадекваты простыми задачами на поиск факториала или чисел фибоначи. Но когда на сеньёра дают задания на 3-4 дня это тоже глупость, так как у хорошего спеца предложений столько, что он за 3-4 дня активного поиска и поездок на собеседования способен найти место мечты, при грамотном подходе. Правда только при умении выяснить подробности по телефону и отсеивании 95% мест, с которыми ему точно не по пути. Соответственно за задания будут браться люди, которых уже никуда не приглашают… Т.е. самых сильных и просто хороших спецов вы отсеиваете сразу.
Просто хочется, чтобы побольше компаний подходили более адекватно к своим кандидатам, особенно при поиске синьеров. Сам пару раз брал задания, хотел их начать делать как можно скорее, но просто не успевал даже начать, как поступало предложение, от которого уже не мог отказаться. А перед людьми стыдно, подумали что не справился.ZaEzzz
11.05.2018 22:43Но давать задание на 3-4 дня это просто неуважение.
ТЗ на 3-4 дня — это даже не джуны… Хотя скорее я о джунах слишком хорошего мнения, судя по комментариям… В общем на мой взгляд, самое суровое ТЗ должно занимать максимум день. Это крыша.
Т.е. самых сильных и просто хороших спецов вы отсеиваете сразу.
Знаете, вот интересный момент — у вас достаточно популярное заблуждение про отсеивание. Именно таким способом мы набираем действительно отличных разрабов. Конечно стоит учесть, что есть свои нюансы и я некоторые моменты в отсеивании недоговариваю, но любая компания к подобным методам на раз придет сама.
ZaEzzz
11.05.2018 23:11Ох не нравится мне это редактирование комментариев…
Сам пару раз брал задания, хотел их начать делать как можно скорее, но просто не успевал даже начать, как поступало предложение, от которого уже не мог отказаться. А перед людьми стыдно, подумали что не справился.
Лично я не вижу ничего постыдного в том, чтобы сразу сказать прямо: сорян, предложили лучше. Мне даже после такого отвечали «ну ты если что, пиши там хоть». В общем побуду немного капитаном, но честность и открытость — кусок успеха.
ddwu
11.05.2018 10:31+1О, `тестовые задания` конторка из питера 'iq option' именно этим промышляет. :)
IMO: наличие тестовых заданий на пару дней и прочего подобного признак непрофессионализма, либо злого умысла (aka поиск матрышек таскать бобы).Melkij
11.05.2018 10:43Вы самую интересную деталь не указали: iq option хотят не просто тестовое задание, а выход на полный рабочий день к ним для выполнения этого самого тестового задания. По крайней мере 2 года назад так было.
Зато когда я отказался от такого счастья, то пригласили на второе собеседование в обход тестового задания. Но поезд уже ушёл.
RPG18
11.05.2018 11:56Когда хотят всучить задание на пару дней, то говорю сразу, что выложу его в интернет. Например АстроСофт не выдал тестового, а вот тестовое iq option, вот тестовое cloudberry lab.
ZaEzzz
11.05.2018 17:32Кстати, я вообще рекомендую всем передавать тестовое задание на проверку через гитхаб (мы у себя принимаем результат выполнения только на гитхабе). Это имеет свои ощутимые плюсы. Но тут же я сразу рекомендую никогда не писать название компании в описании.
berliozz
11.05.2018 10:31Был у меня тут случай по продуктовой деятельности, когда компания попросила спроектировать продукт «Социальная сеть для домашних питомцев», куда необходимо было включить:
— исследование рынка и возможные потребности;
— прототипы интерфейса (WEB/Android/iOS)
— набор метрик
— описать пользовательские сценарии
Что-то еще было. По собственному опыту скажу, что даже сделать это тяп-ляп, по макушкам, занимает не менее 40 часов. Послал их сразу, даже не стал обсуждать.
Друзья, которые являются высококвалифицированными и не страдают от уровня оплаты труда, всегда отказываются от таких просьб. Среди них есть дизайнеры (нарисуйте нам лендинг или интерфейс оформления заказа), программисты (напишите библиотеку или компонент), верстальщики (сделайте макет).
Т.е. все что требует каких-то телодвижений дома, людьми квалифицированными отметается. Получается что метод рассчитан на безработных с заниженной самооценкой?hippoage
11.05.2018 10:36Ну, т.е., если тебя наймут, дадут то же тестовое задание и по результату через 3 дня уволят, т.к. результат ниже среднего по конторе, то это лучше?
berliozz
11.05.2018 10:53Есть важные моменты:
1. Соц.сеть для питомцев не является профильной для компании, они вообще в другой области работают, которая мне интересна и я имею в ней экспертизу. Вся домашняя живность мне не интересна.
2. Даже увольнение через 3 дня, это всё равно оплата работы.
3. Испытательный срок, это не только на тебя посмотреть, но и самому понять, насколько компания отвечает твоим требованиями. У меня в жизни был случай, когда я увольнялся через месяц, поняв что это совсем не работа мечты.
Ну и главное, это рынок. Компания закрывает свою потребность, соискатель свою. Если какая-то из сторон сделки считает что вправе тратить ваше время в таких объемах на уровне собеседования, тревожный звоночек. Для меня это однозначный стоп-фактор, дальше разговора не будет.
P.S. после моего отказа делать тестовое задание, они перезвонили мне через месяц и согласны были сделать офер на ту сумму, которую я объявил.hippoage
11.05.2018 12:15Я не говорю, что нужно было делать то задание. Мое мнение — не больше одного вечера по времени и очевидность тестовости задачи.
Ответ был про другое: что тестовые задания как инструмент вполне имеют право на жизнь (и для профессионалов даже больше, чем для студентов). А то, что потом перезвонили — у них реально не было потока кандидатов, а без него тестовые задания все-таки лишние.Nagh42
11.05.2018 12:32Когда конкурс 100 человек на место, действительно можно использовать разные «странные» техники фильтрации кандидатов, например выкидывание половину рандомных резюме в корзинку со словами: неудачники нам не нужны. Но в IT-сфере сейчас ситуация далеко не та. И задача состоит в отделении профессионалов от очковтирателей.
hippoage
11.05.2018 12:48Именно, поэтому и нужно писать код.
Другое дело, сколько кандидатов на это согласится. Обычно считается, что лучше не нанять хорошего разработчика, чем нанять плохого. Поэтому, если после включения опции тестового задания остается достаточно людей хорошего качества, то ok. Вполне есть такие конторы как международные, так и локальные. Если просчитались, то появляются истории, как в других комментариях, что и без задания брали, т.к. просто других вариантов не было.
vmm86
11.05.2018 10:49Недавно написал тестовое задание на позицию Python-разработчика для одной «игровой» компании. Анализатор произвольного GitHub-репозитория по его URL, используя API GitHub, который можно было бы удобно запускать в консоли. Нужно выводить в таблице список пользователей, делавших коммиты (по убыванию их количества), а также число открытых/закрытых pull requests и issues. С опциональными фильтрами по начальной/конечной дате и по ветке, которую нужно анализировать.
Поскольку при большом числе результатов (больше 100) они разбиваются на несколько страниц — учёл возможность работы с пагинацией. Поскольку частые запросы с одного IP-адреса на какое-то время банятся на стороне GitHub — учёл возможность использования в запросах OAuth token (вводится не в запросе, а после запуска команды, как пароли).
Разработчики по сути придрались к двум вещам:
1) Весь код первоначально находился в одном большом классе. Конечно, стоило бы изначально разбить его для удобства, но это как бы тестовое задание. написанный код предполагает, что его автор может затем обработать и структурировать его как угодно.
2) Единственный существенный недостаток, обнаружившийся после отправки задания — я не отследил и не обработал исключение уже в процессе выполнения задания без использования OAuth token (когда какие-то запросы уже успешно выполнились, и тут IP-адрес попадает в бан-лист GitHub, и дальнейшая работа прекращается). Разработчики через HR-менеджера на этом основании заявили, что пагинация результатов у меня не работает в принципе (что не соответствует действительности) и, естественно, ответили отказом.
Сейчас работаю с другим заданием и думаю, доводить ли его до конца...)hippoage
11.05.2018 10:59Хорошие тестовые задания выполняются сильно больше 100 раз. У них (по идее) есть с чем сравнивать.
Дальше общие рассуждения. Качество кода (читабельность, соотв. best practices платформы, обработка ошибок) часто крайне важны в обычной работе и недооцениваются авторами тестовых заданий.ZaEzzz
11.05.2018 11:53Полностью согласен. Меня смущает только один момент у vmm86 — какой-то перебор по функциональности в ТЗ и больше смахивает на «Посоны, нам тут нужен модуль и че-то лень его писать, да и не знаем как это сделать… А давайте вакансию откроем и пусть кандидаты нам его напишут. Конечно же мы всем ответим отказом!»
achekalin
11.05.2018 12:32Да никто так не будет делать (кроме, возможно, очень редких оригиналов). Открытие вакансии — это тоже трудозатраты (и денежные затраты, кстати), и заметные. Хотя бы написать текст вакансии, набросать тестовое, переписываться…
Ну а лично вы — вы приобрели опыт (я про код), и увидели, какиеподлянкиневерные выводы могут делать люди из вроде бы разумных ваших допущений. Ну и, самое главное, не только они вас проверили, но и вы — их. Если ваш код их не устроил, но это решилось не в переписке («Нам не очень нравится, что все в одном классе, как бы вы разбили код» и т.д. — это тоже многое о вас как о разработчике скажет, можете ли вы смотреть дальше с учетом уже имещихся-то наработок), а просто отвергли, то вы, может, и сами бы там не захотели работать.ZaEzzz
11.05.2018 12:46Поверьте, такие оригиналы есть :)
А так я только за тестовые задания и так же как и вы утверждаю, что при его выполнении не только работодатель оценивает кандидата — это так же работает и в другую сторону. Однажды после одного собеседования мне сказали, что меня готовы взять на работу и у меня было недоумение: «Это все? Может я тестовое сделаю? Не поймите меня неправильно, я рад, что вы хотите меня взять на работу, но я хочу, чтобы в последующем не было разочарований и вы полностью понимали кого и с каким скилом берете.» Дальше был хэппи энд после выполнения ТЗ.
vmm86
11.05.2018 16:40Если ваш код их не устроил, но это решилось не в переписке
Это решилось в переписке, я по всем пунктам ответил, как можно было бы исправить недочёты, но на этом всё и закончилось. Хотел после внесения корректив в проект и выкладывания его на GitHub отписать их HR-менеджеру, но потом забил.-)Arlekcangp
12.05.2018 00:42Возможно просто нашелся кандидат который их устроил сразу Т е кто то сдлал тоже самое лучше и быстрее (в конечном итоге кого то же взяли на эту вакансию ?) Таким образом вопрос не стоит доводить задание или не доводить? Оно на то и тестовое что его нужно в лучшем виде делать иначе даже смысла нету. Т е если вы знаете что год-обжекты в коде явно не приветствуются и что обработка исключений должна присутствовать то и начинать даже писать год-обжект без исключений нет никакого смысла. Лучше сразу отказаться и пойти туда где не важно как вы пишите (почти любой проект на фрилансе например).
rezdm
11.05.2018 10:57Могу написать о своём опыте, как работодателя. Я участвовал как в относительно массовом найме (нужны были, грубо говоря, «программисты на яве»), так и под весьма точечные требования.
Что я хочу заметить. Просто «поговорить» — это неплохо, видно, кто-что человек. Но вот как посмотреть реальный код? Как второй шаг после телефонного интервью я спрашивал:
— Есть ли открытый код, в который можно посмотреть
— Если нет, может ли реализовать задачку
Для, условно говоря, бекенда, на выбор я предлагал заимплеменитить некоторый интерфейс или «открытая задача»: решить в коде некоторую шахматную задачу в коде (задача всем известна, никаких трюков).
Для UX, я просил набросать приложение, внешний вид с парой работающих кнопок, чтобы понять чего-как.
Для фронтенда — наваять простенькую SPA (одна страничка, одна табличка, т.п.)
Я спецом подбирал задачи так, чтобы они не пересекались с нашей предметной областью, я спецом упоминал, что код никак для нас не подходит. По времени я говорил так: в принципе, задача решается за 1-2-3 «ленивых вечера», но понятно, что все люди живые и по факту — неделю нормуль.
Что я могу сказать. Я считаю, что так лучше, чем grill человека в офисе, с незнакомым dev env, отнимет намного больше времени у всех (и кандидата, и у нас), т.д.
Areso
11.05.2018 11:06Каковы ваши действия, если открытый код у кандидата есть, его довольно много, и он даже по вашей предметной области, но посредственного качества?
Аналогично в общем и по задачам. Если нет обработки исключений, не проверяются граничные случаи, весь код в куче, закомменченные куски кода там и сям, т.п.?rezdm
11.05.2018 11:16>> Каковы ваши действия, если открытый код у кандидата есть, его довольно много, и он даже по вашей предметной области, но посредственного качества?
Вот это я расхлёбываю сейчас. Нет, такого кандидата не надо. Научить предметной области легче, чем приучить писать clean code.
>> Аналогично в общем и по задачам. Если нет обработки исключений, не проверяются граничные случаи, весь код в куче, закомменченные куски кода там и сям, т.п.?
Аналогично. Я лично смотрел только на обработку граничных случаев, но и на поддерживаемость кода. Если какой-то граничный случай не обработан — ок, я смогу это спросить вживую, или, в случае code review в конторе это может быть завёрнуто, но код должен быть читабельным, чтобы с ним можно было работать дальше, прочая, прочая, прочая.
vkflare
11.05.2018 11:04Мои рекомендации соискателям:
1) Заранее прикиньте, сколько бесплатного времени вы готовы посвящать тестовым заданиям. Если при постановке задачи очевидно, что она займет больше времени — скажите об этом. Работа в айти компаниях — это не спринт, а марафон, вам только в плюс пойдет, что вы адекватно собственные силы оцениваете, а не надрываетесь каждый раз, чтобы не сорвать сроки.
2) Переспрашивайте и уточняйте. Задания зачастую формулируются кое-как, из-за чего недалекий работодатель может очень удивиться, получив решение, соответствующее ТЗ, но в корне отличающееся от того, что с его точки зрения разумно. По этой же причине обязательно
3) объясняйте ключевые моменты своего решения. Работодатель не сможет залезть к вам в голову и понять их самостоятельно. Обычная стратегия для тестовых заданий, «минимум сложностей, максимально быстро», порождает разного рода костыли и заплатки. Напишите о них в readme, расскажите, какие есть другие, более правильные варианты.
4) Сделайте ваш код непригодным для использования в продакшене и напишите о том, чего ему не хватает для этого в readme. Не старайтесь сделать полностью рабочий прототип, учитывающий побочные вопросы, не упомянутые в ТЗ. Например, если вы проектируете веб-сервис, вместо полностью настроенного OAuth, двухфакторной авторизации или чего-то схожего по сложности спокойно используйте http basic auth.
5) Убедитесь в том, что ваш код, если он платформозависимый, заработает у работодателя. Ваше тестовое должно запуститься сразу, без танцев с бубном и настройки нужной среды. При необходимости воспользуйтесь docker/vagrant+vbox и напишите простой шелл-скрипт для автозапуска.
6) Выкладывайте хорошие решения тестовых заданий на github. Предупредите об этом работодателя заранее, сразу после вопроса «Как Вы относитесь к тестовым заданиям?». Если в этой компании не оценят ваши усилия, их вполне могут оценить другие. К тому же, настанет день, когда вам самим придется искать человека в свою команду, в этом случае какой-то материал уже будет у вас под рукой.
Geks0geN
11.05.2018 12:21Не совсем про программистов, но тоже в тему: мой коллега (2xCCIE, JNCIE) собеседовался в одну компанию на должность сетевого инженера. И после 3 технических собеседований ему предложили пройти 8 часовую лабу, аналогичную только что сданному JNCIE, в качестве тестового задания и решающего шага к найму. Он покрутил пальцем у виска, сказал, что ему больше таких нервяков не нужно. Но в итоге его все равно взяли :)
questor
11.05.2018 12:41Я давал демо-задания кандидатам (ну, точнее там на выбор: можете дать гитхаб или выбрать задание), задание было тщательно спроектировано именно по статьям хабра (чтобы умещалось в 2-3 часа, чтобы проверялось несколько ключевых областей знания, чтобы не было намёка, что мы это сможем потом в продакшене использовать и т.п.)
Я коллекционирую ответы на это задание — и люблю сравнивать их между собой, они настолько все индивидуальные и виден личный «почерк» автора.
Так вот, я к чему. Почерк виден ещё до получения кода. Два случая из практики.
Однажды мне попался кандидат, который знаете что сказал? «Ну-ка, присылайте-ка ваше, я посмотрю, какая у вас в компании культура написания техзаданий!»
И уж не знаю, толи ТЗ ему не понравилось ;) толи ещё что-то — но кода своего не прислал.
Другой случай был, когда один кандидат получив задание начал переписку с аккуратным уточнением, что ожидается вот тут и что ожидается вот тут. Затянулось это на… не помню, несколько недель точно, поэтому кандидат тупо пролетел по всем срокам (были более быстрые кандидаты, дошедшие до личных собеседований, одного и взяли в итоге). Но парни, какие у него были качественные вопросы! Я уже на третьем письме мог сказать «можете не присылать свой код, мне всё понятно — приходите на очное».
vkflare
11.05.2018 13:11Отмечу, что у нас полно вакансий даже на откровенно дефицитные специальности типа devops/automation, которые предполагают выполнение тестового задания. То, что тестовые задания отпугивают соискателей, технических специалистов, которые проводят интервью, волнует крайне мало. По себе знаю :)
upd: сорри, не в тот тред ответил
wxmaper
11.05.2018 13:14Сталкивался с таким, отчасти успешно.
На должность разработчика заданием было написать Морзянку с мордой на QML и логикой на C++ по функционалу аналогичную гугл-транслиту. Программу написал, отослал, получил хорошие комментарии и ценные замечания по коду, но отбор прошёл, взяли в работу. Сначала обрадовался, но!
Получил первое задание от работодателя: проанализировать рынок гуглплея на какой-то там тип игр, оценить и подумать чего им не хватает и как развить эту тему далее. Открыл гуглплей, увидел кучу игр и подума: «какого черта!?».
Вот это реальное задание совершенно никак не коррелировало с тестовым, почему вообще разработчик должен анализировать рынки и т.д.? Помоему это задача другого специалиста, а разработчик должен писать код следуя техническому заданию и требованиям, основанным на чьих то анализах и оценках. Ну и в вакансии ничего подобного, разумеется, не было. Так и сообщил работодателю, на этом наши отношения закончились.
И вот что я хотел сказать этим: как оказалось проблемы, решаемые в домашнем задании, могут быть очень далеки от реальных задач. Поэтому очень важно подбирать правильные тесты. После того случая ко всем подобным тестовым заданиям я отношусь с большой осторожностью.roscomtheend
11.05.2018 15:08+1На собеседовании спрашивают об архитектуре и паттернах, в задании нужно показать навыки и умения, а реально требуется рисовать формочки, потому как проект ещё не начат (и не понятно начнётся ли), а формочки рисовать некому. Тпкое тоже бывает.
wxmaper
11.05.2018 16:47Рисование формочек как-никак имеет отношение к разработке. А анализ рынка… ну увидел я кучу приложений в маркете, дальше то что? Я бы, как разработчик, не стал бы лезть в эту отрасль.
isnofreedom
11.05.2018 13:57Как раз сейчас делаю тестовое: Реакт приложение, где бы json с десятком объектов распарсивался в виде красивого дерева, с драг-н-дроп, и чтобы каждое изменение фиксировалось, и отправлялось удаленно, используя flask. Сижу теперь колдую.
sojuznik
11.05.2018 14:06Дихлофосом их травить не пробовали?
Такая вот жесть в собеседованиях неспроста. Чтобы понять в чем дело, надо подумать над очень неудобными темами.
Цель компании — деньги любой ценой. Компаниям не нужны программисты сами по себе. Программист не приносит деньги напрямую. Над ним нужен надзор, ему еще надо задания давать, проверять, тестировать, следить чтобы он работал, а не сидел в интернете. Столько с ним мороки!
Программист со средними способностями не нужен — будут искать такого же, но очень дешевого. Программист, кто не будет стоять по струнке и бодро выкрикивать «ку» — тоже не нужен. Поэтому самодовольные, кому что-то не нравится на собеседованиях — пусть побыстрей отваливаются. Будем искать покорного, трудолюбивого.
Программисты, кто работал в других темах, с другими фреймворками, с другими задачами — тоже не нужны. Компании не настолько богатые, чтобы платить деньги работникам, чтобы переобучать программистов. Вы же программисты — должны все знать в совершенстве, а не знаете — не компетентны.
Программист не знает алгоритм сортировки? Отлично — это повод снизить ему зарплату в два раза. Компаниям не нужны алгоритмы сортировки, но любой прокол программиста на собеседовании — отличный повод несколько месяцев платить ему сниженную зарплату.
Программист любит качественный код, продуманную архитектуру? Это жесть! Компания не будет ждать высокоинтеллектуальные изыски. Надо чтобы было готово уже вчера. И программиста будут гнать на работе до изнеможения, чтобы еле успевал за выходные восстановиться.
Программист очень молод? Отлично. Будет работать за десятерых, пока молодость позволяет, да и еще не надо ему оплачивать больничные.
А чтобы не просил добавок к зарплате, устроим бег в колесе. Пусть он соревнуется с другими программистами. Сделал работу позже всех, не смог сравниться с большинством выживших — ты нам не подходишь, работаешь медленно и не вписываешься в план. Не успеваешь делать красивый код и в гонке пишешь говнокод — ты нам тоже не нужен.
Чтобы уж точно обезопасить себя от дорогих программистов, устроим испытательный период в три месяца и без какой-либо оплаты или будем платить меньше чем уборщице. А зачем платить больше? Ведь три месяца для компании — это халява. Плюс всегда можно уволить особо недовольных, неповоротливых или средних — они же согласились на наши шулерские правила игры с испытательным сроком.
Вот так вот. Как любят говорить «это бизнес, детка!»
А как быть тем кто горд, самолюбив, медленно пишет код, больше думает, чем пишет, не хочет на халяву писать тестовые задания, не хочет терпеть экзамены-унижения на идеальное знание?
Вы подаете резюме не в те компании и не на те позиции. Ваша квалификация выше тех позиций, на какие расчитываете. И вы идеально годны на работу в адекватные компании. Но сильно не зазнавайтесь, там халявы тоже не будет.
Ваш выбор — соглашаться на жестокие правила игры или играть в свои игры, где ваша жизнь в выигрыше.julia4545
12.05.2018 00:57>Программист любит качественный код, продуманную архитектуру? Это жесть! Компания не будет ждать высокоинтеллектуальные изыски. Надо чтобы было готово уже вчера. И программиста будут гнать на работе до изнеможения, чтобы еле успевал за выходные восстановиться.
Дааа, жизненно. Просто плакать хочется, смотря на корявый код без ооп, все в одном файле, без новейших инструментов, написанный коллегой и когда работодатель радуется быстроте его разработки.
arheops
11.05.2018 14:25Чего-то я не понял.
Женщины заняты с детьми, у них меньше свободного времени.
Тоесть если их нанять на работу, то они будут хотя бы столько же работать? С чего бы это, если у них изначально меньше времени?
Тут есть два варианта — либо перекладывать домашнюю работу на мужа, нянь или еще кудато и работать, либо заниматся домашней работой и не ожидать, что изза этого им сделают поблажки на работе(эффективность же полюбому будет меньше у уставшего человека).Areso
11.05.2018 14:52Момент в чем — большинство таких заданий делается вечерами или на выходных.
Но если мужчины могут заменить чтение reddit'a и HN / хабра / игры на выполнение ТЗ, то у женщины дома вместо указанных ресурсов — дети и муж. И у них, после того как все домашние напоены, накормлены и спать уложены, времени остается гораздо меньше.
Из статьи предполагается, что ей проще отпроситься с текущей работы, чем выкроить время дома.arheops
11.05.2018 15:07Давайте быть честными. Если у конкретной женщины нет времени на задание, то обьективно у нее будет большая суммарная загрузка во время работы и меньший выхлоп при прочих равных. Ведь и во время работы отдыхать она НЕ БУДЕТ.
К тому же речь идет о высокооплачиваемой профессии, способной содержать дома прислугу.michael_vostrikov
11.05.2018 20:00Давайте быть честными.
Давайте. Вот прямо на примере.
Примем это утверждение как верное: "Женщины у нас в стране по-прежнему выполняют бoльшую часть домашней работы по уходу за детьми, что оставляет им гораздо меньше свободного времени для выполнения таких тестов". По крайней мере, для статистически значимого в данной ситуации количества женщин.
Алиса в данный момент работает, но текущая работа ее не устраивает.
Она решает ее сменить.
На новой работе требуют тестовое задание на 3 вечера работы по 4 часа.
Свободное время вечером тоже где-то 4 часа.
У Алисы на домашнюю работу по уходу за детьми уходит 2 часа.
Следовательно, ей нужно 6 вечеров для выполнения задания.
Как можно заметить, это никак не связано с выполнением ей своих рабочих обязанностей днем.
Боб не имеет детей. Либо его жена одна из тех, для кого справедливо утверждение выше.
Он тоже решил сменить работу.
Он сделает задание за 3 вечера после работы.
С точки зрения работодателя Боб сделал задание в 2 раза быстрее, хотя рабочих часов они потратили одинаково.
"А та девушка уже неделю разбирается, не будем ее брать. И другая тоже долго возилась. Парни лучше работают."
Считаю, что довод в статье правильный, хоть возможно и преувеличенный.
arheops
11.05.2018 20:11Да, но Алиса, после того как выйдет на работу, все так же будет занята уходом за детьми. И если Алиса обычный человек, а не супер-гений, сумарно она сможет работать все те же среднестатистические 6 часов в день, просто 2 она отработает дома. Тоесть она невыгодна работадателю ОБЬЕКТИВНО аж до случая «Алиса работает на 33% лучше Боба».
michael_vostrikov
11.05.2018 20:20+1Какое дело работодателю, чем занимается Алиса вечером после работы, уходом за детьми или еще чем-то?
arheops
11.05.2018 20:36Никакого. Но вопрос в том, что это влияет на то, сколько может человек может работать подряд/поддерживать концентрацию.
michael_vostrikov
11.05.2018 20:46Вы дискриминируете вообще всех, у кого есть дети. Но нет, не влияет.
Боб:
Проснулся, пришел на работу, работал 9 часов с перерывом на обед, пошел домой.
Алиса:
Проснулась, пришла на работу, работала 9 часов с перерывом на обед, пошла домой.
Каким образом то, что они делают условные 4 часа вечером, должно влиять на продолжительность работы или концентрацию на следующий день?arheops
11.05.2018 21:34+1Зависит от отношения Алисы к «домашней работе». Если она ее считает работой — усталость будет накапливаться. И да, это существенно.
michael_vostrikov
11.05.2018 22:01Все считают домашнюю работу работой. Потому и называют ее «работа». Я говорил не об этом, а о ваших доводах.
Если у конкретной женщины из-за домашних дел нет времени на дополнительную работу вечером, то из этого никак не следует, что во время основной работы днем у нее будет большая загрузка или что-то подобное.arheops
11.05.2018 22:04Ну это ваше мнение. Психологи как-то с вами не согласны. Человек хорошо может работать Х часов в день. И эта цифра ВСРЕДНЕМ не зависит от типа работы.
Тоесть либо высокоэффективный сотрудник, либо хорошая домохозяйка. Уникумы бывают, но вас шанс на них попасть меньше, чем выиграть в лоторею.michael_vostrikov
11.05.2018 22:22Причем здесь эффективность выполнения домашних дел? Человеку может нравиться готовка еды, поддержание порядка в доме, игры и выполнение домашних заданий с детьми, он может считать это отдыхом от работы. Но на это уходит время, и из-за этого уменьшается качество выполнения тестового задания. Требования равные, но применяются они к людям в изначально неравном положении, которое появилось потому что «так принято». Об этом речь в статье, о нехватке времени, а не о том, что кто-то устает.
arheops
11.05.2018 22:25Мне кажется, вы прикалываетесь.
Если у человека нет времени тогда, когда они ищет работу, то ОЧЕНЬ вероятно, что времени будет нехватка и когда он ее найдет.
И неважно по какой причине возникает дополнительная занятость.
В любом случае если у человека есть необходимость работать кроме основной работы — это будет влиять на первую работу. Ну в понедельник не будет, будет во вторник.
Все, дискусию прекращаю как беспереспективную.michael_vostrikov
11.05.2018 23:01+1Я там выше специально курсивом выделил. У человека хватает времени днем. И когда он найдет другую работу, у него тоже будет хватать на нее времени днем. Но когда он вечерами делает тестовое задание, он работает на 2 работах. И «нет времени» у него на 2 работы, а не на одну.
Конечно, если играть словами и подменять понятия, то дискутировать смысла нет.MTyrz
12.05.2018 01:45Скорее всего, ваш оппонент придерживается (распространенного) мнения, что оставшиеся у сотрудника после рабочего дня силы нужно записывать в прямые убытки компании.
Elara
12.05.2018 11:51Странно вы рассуждаете. То есть человек пришёл домой после работы и должен тупо валяться на диване, только это называется отдыхом? Отдых — это смена деятельности. Кто-то приходит с работы и играет с детьми (например), для него это отдых. Кто-то после работы ходит в бассейн. Или ещё что-то делает. А любом случае человек после работы хоть что-то да делает (ну если он не овощ). И, кстати, если он после работы пилит код, то как раз это скорее скажется на его завтрашней работе, т.к. нет смены деятельности и он устанет.
Просто для тех, у кого есть дети, зачастую непонятно, почему они должны жертвовать отдыхом с детьми (отдых с детьми — это необходимая для ребёнка ежедневная практика) ради тестовых заданий. Это даже если есть прислуга дома и пр. Просто по сути в таком случае люди жертвуют чужим развитием (детей), даже не своим.
Но, кстати, вы меня навели на забавную мысль. Если работа на двух работах действительно плохо сказывается на продуктивности, то получается тот, кто даёт тестовое задание, по сути "ворует" силы работника у компании, в которой тот сейчас работает. Как-то некрасиво получается.arheops
12.05.2018 12:06-1Конечно, было бы лучше, чтоб новую работу(не бросая текущую, кстати), можно было бы найти мгновенно без усилий.
Но както не получается.
Мы же говорим не о «играет с детьми», а «выполняет домашнюю работу», не?Elara
12.05.2018 15:20Играть с детьми входит в выполняет домашнюю работу) просто как очевидный пример, что домашняя работа может не восприниматься как работа. Если кто-то готовит или убирается или делает что-то ещё, это не значит, что это отрицательно сказывается на завтрашней работе. Это я пытаюсь показать, что только факт, что женщина работает по дому вечерами может никак не влиять на её завтрашнюю работу на работе. И что "человек может работать только n часов в день"-это а данном случае вообще не имеет смысла. Каждый занимается вечерами чем хочет, это работодателя не должно касаться.
arheops
12.05.2018 15:22Может вы относитесь к тем, на кого не влияет(хотя врятли, скорее привыкли). Но психологи говорят, что влияет.
Я ж не отрицаю исключений, я говорю, что ВСРЕДНЕМ эффективность будет ниже. Даже при одинаковых интеллектуальных данных.Elara
12.05.2018 15:47О, вы сюда подключили психологов. Я даже не спрашиваю ссылки на исследования, я спрошу только, а что эти психологи называют работой (которая после реальной работы), плохо влияющей на продуктивность? Что туда входит — домашняя работа? Бассейн? Бег? Чтение книг по программированию? Сидение за клипом в соц сетях?
И чем, по мнению этих психологов, надо заниматься после работы так, чтобы это влияло на продуктивность положительно? Что они называют отдыхом?Elara
12.05.2018 15:59Это я к тому, что предполагаю, что готовка еды и игры с детьми (осоьенно если нравится это делать) скорее считаются отдыхом, чем сидение за компом и написание своего проекта. Это для программистов, конечно. У грузчиков все не так.
Neikist
12.05.2018 13:14Все просто, не хотите жертвовать отдыхом с детьми — не жертвуйте, просто пройдет в это место тот кто пожертвует а вы в другое место пойдете когда найдете.
Elara
12.05.2018 15:25Я и не жертвую) я даже на первую работу устроилась без тестового задания на дом, а с опытом работы таким и подавно не занималась и не планирую. Но это не значит, что я не могу высказывать мнение, что тестовые задания не нужны. Чем меньше разработчиков будет делать большие тестовые задачи на дом, тем меньше компаний их будут задавать, что мне только на руку в перспективе.
julia4545
12.05.2018 13:29Вот-вот, а я после работы открываю ноут и смотрю фильмы, читаю хабр, переписываюсь с друзьями. И что это теперь отдыхом не считать? Ведь по факту я и на работе и после работы нахожусь за компьюетром.
Elara
12.05.2018 15:29Я против такого отдыха ничего не имею, это тоже некая смена деятельности. Вот товарищ выше по-моему как раз пытался указывать, как кому проводить время после работы, и что занятия по дому плохо влияют на след рабочий день, с чем я и не согласна.
Кстати, я не эксперт, но где-то читала, что отдых за компом после рабочего дня за компом — это как раз не продуктивный отдых. Но я все равно не считаю (в отличие от товарища выше), что работодателю есть до этого дело, пока человек на работе работает нормально.
julia4545
12.05.2018 13:23>о высокооплачиваемой профессии, способной содержать дома прислугу.
>программист
Ну не такая уж и высокооплачиваемая она, заграницей это обычный средний класс, да и у нас платят не намного выше обычного офисного планктона. А некоторые люди не переваривают дома посторонних людей.
RPG18
11.05.2018 15:18Отсюда следует, что у неё плохой муж, который тратит время на чтение reddit'a и HN / хабра / игры, а не на семью.
TheIseAse
11.05.2018 17:19+1А почему обязанность сидеть с ребенком угнетает права именно женщин, а не мужчин?
julia4545
12.05.2018 13:21-2Либо не заводить детей, не готовить (едите все равно на работе), не убираться (у мужа это лучше получаетя). Я так делаю :) Но у меня и мч не программист.
Т.е. я по выходным и вечерам читаю доки по новым фреймворкам, а он может себе позволить проводить это время, как захочет.
Я вот смотрю на свою коллегу и мне ее очень жаль. Она правда аналитик, а не программист, заканчивала физмат. Но у нее двое детей, она еще и мужа обслуживает. Приходит на работу к 9, уходит в 17, чтобы детей из сада забрать. На ней лица нет, круги под глазами. Она еще успевает за собой следить, одевается со вкусом.
А я сова, могу до ночи что-то читать, а на работу прийти к 12, но мне прощают, т.к. я программист, а не какой-то там аналитик, и всегда в срок и качественно выполняю задачи, слежу за тенденциями в IT.
Страшно представить свою жизнь с детьми. То есть вместо отдыха за ноутом я должна буду проводить с ними время. Ужас, сразу умрешь, как специалист. Хотя я читала про таких женщин, у которых и семья и работа. Но у них и мужья отлично зарабатывают, наверное, могут позволить себе нянь.Areso
12.05.2018 16:08Нет, просто читать и следить за тенденциями придется на работе) Или «втихую» или с разрешения начальства.
CoreTeamTech
11.05.2018 15:11+2Не вижу ничего плохого в объемных тестовых заданиях, даже если они в области прямого интереса работодателя. Для джуннов. Это совершенно не подходит для синьоров и, наверное, миддлов.
Для синьоров схема уже устаканилась:
- быстрая проверка по телефону на адекватность;
- короткое онсайт интервью по основам КН;
- дискуссия по проектированию систем и архитектуре;
- общение с командами (если изначально собеседовала не команда);
Для миддлов схема остается верной, но толерантность к огрехам выше.
Стоимость времени джунна почти нулевая, стрессоустойчивость тоже не высокая, поэтому дать им возможность творить дома — полезно. Главное дать хорошую качественную обратную связь по выполненному заданию. Здесь на нас, интервьюерах, лежит ответственность. Мы можем либо помочь человеку в его будущей карьере, либо временно (а в экстремальных случаях, навсегда) сбить его с пути.i86com
11.05.2018 15:52Не вижу ничего плохого в объемных тестовых заданиях, даже если они в области прямого интереса работодателя. Для джуннов.
Посмотрите на это с точки зрения соискателя. А именно на отсутствие договорённостей и гарантий. То есть даже если он идеально выполнил тестовое задание, ему могут сказать «до свидания» абсолютно без объяснения причин. Откуда у него должно быть доверие (к незнакомым людям), что так не случится? Особенно, если ранее уже случалось хотя бы раз в другой компании.
Для чего это может быть нужно компаниям? Помимо использования кода в своих целях (к джунам это обычно неприменимо).
Ну, например, чтобы подстраховаться при разговоре с текущими работниками и чтобы держать руку на пульсе рынка. «Вот, смотри, ко мне люди приходят, которые вот такое умеют за неделю делать, и ЗП хотят меньше твоей, так что не заикайся о повышении.»
То есть вы сами, как интервьюер, можете считать, что если соискатель отлично себя проявит на тесте, вы его тут же и возьмёте. А если нет, то потратите время специалиста, чтобы помочь ему прокачаться. А он-то в этом не может быть уверен.CoreTeamTech
11.05.2018 16:09С точки зрения соискателя я смотрю часто на эту ситуацию. И вижу как мои друзья подходят к этому. Один из моих коллег, чтобы устроиться в G. потратил полгода на подготовку, перешел на другой проект с другим стеком технологий, более релевантным будущей роли, на чуть меньшую зарплату, все время делал собственные мини-проекты, чтобы хоть как-то наполнить пустой github аккаунт. Если посчитать его затраты в деньгах, то тестовые задания на 3-5 дней на этом фоне — это не заметно. И все это при том, что подготовка и хорошее прохождение интервью, как ни странно, не гарантирует трудоустройство, так как есть еще много других факторов, не зависящих от кандидата. Благо, ему повезло.
Так как технологии, масштабы и области их применения меняются часто, и их число растет, задача эффективного найма плохо формализуется. А значит не будет ни справедливости, ни объективности, и обязательно будут перегибы и злоупотребления. Поэтому я и отделил миддлов и синьоров — они уже достаточно мудрые, чтобы понимать рынок, в отличие от джуннов, которым это все вновинку. Джунн в любом случае в плюсе от выполненного тестового задания, это опыт написания чего-то за пределами hello world или todo list. То, что некоторые работодатели поступают по-свински — это немного другая тема.i86com
11.05.2018 17:48Один из моих коллег, чтобы устроиться в G...
В G. могут хоть про форму канализационных люков спрашивать (хотя уже перестали), у них там совсем своя ситуация. Но любое условное ООО «Рога и копыто» при приёме джунов должно, по-хорошему, учитывать разницу.
Джунн в любом случае в плюсе от выполненного тестового задания, это опыт написания чего-то за пределами hello world или todo list.
Мне в этом видится какое-то совсем пренебрежительное отношение к джунам. Ну серьёзно, вы ещё скажите, что по-справедливости это они вам платить должны за то, что вы им такое хорошее задание дали.
То, что некоторые работодатели поступают по-свински — это немного другая тема.
Оплата тестового задания или снижение его объёма до минимума — гарантия, что совсем по-свински работодатель поступить уже не сможет. О чём и речь. Тем более, что по вашим же словам, в случае с джунами там разговор вообще о мелких суммах идёт.
Так-то каждый может сказать, что конкретно ему можно во всём доверять и он всегда компенсирует неустойки ценным фидбеком. А на деле часто случаются истории, как в статье выше.CoreTeamTech
11.05.2018 23:52Я не понимаю, что вы пытаетесь донести. Вы спорите с отдельными предложениями, выискивая смыслы, которых нет в моем комментарии.
Вы утверждаете, что G. могут себе позволить отбирать достойных кандидатов, а остальным компаниям нужно довольствоваться теми, кто просто к ним обратился? Почему вы считаете, что в G. нужно готовиться, а для Рога/Копыта, сойдут «люди с улицы»?
Если вы обратите внимание на то, какими вопросами часто задаются начинающие разработчики, то вы, вероятно, заметите, что им интересно, какое бы такое приложение сделать чтобы было не стыдно код на гитхабе показать. Обычно они приходят из института, курсов или просто после прохождения серии уроков. Их опыт иногда ограничен и прикладная задача ставит их в тупик. По разным причинам: плохо контролируют время, слабо представляют как на практике реализовать архитектуру, часто могут перемудрить и нагородить огород из паттернов, и так далее и тому подобное. Кокнретная практическая задача дает им опыт или проверяет его, если таковой есть.
Что значит оплата тестового задания? Вы бы видели те решения! Нет, попадаются конечно хорошие исполнения, но они далеко не массовы. И вот вам подают заявки целая группа студентов, делают задание под копирку или копипастой со стековерфлоу и таким образом заработали на пиво (я утрирую)… Со снижением объема тоже не однозначно. Я как-то попросил кандидатов реализовать поисковый сервис по 20-ти предоставленным HTML-документам с простыми правилами ранжирования. В основном все реализовали его с использованием стандартных инструментов, например, обработали текст регулярками и закинули в SQL базу с включенным полнотекстовым индексом. Кто-то реализовал с использованием Lucene. Но был один разработчик, который потратил почти две недели, но полностью от и до реализовал движок индексирования. Естесственно со множеством недоработок, очень не стабильный, но все же! Сильная заявка! Но я не планировал, что это задание, кто-то будет делать полторы недели! То есть в исходной задаче этого объема не было. Надо было реализовать только сервис, а не движок.
TheIseAse
11.05.2018 17:21Ну, например, чтобы подстраховаться при разговоре с текущими работниками и чтобы держать руку на пульсе рынка. «Вот, смотри, ко мне люди приходят, которые вот такое умеют за неделю делать, и ЗП хотят меньше твоей, так что не заикайся о повышении.»
Мне кажется, в таком случае надо не то что повышения не ждать, а из компании увольняться.i86com
11.05.2018 17:54Ну, это я, как-бы, утрирую. На корпоративном языке это будет обычное «Мы рассмотрели Ваше предложение, но, к сожалению, на данный момент...». Просто с основаниями (о которых могут и не сказать).
TrllServ
11.05.2018 17:36Стоимость времени джунна почти нулевая
Возможно показалось, что тут дикое пренебрежение и неуважение.
Интересно, если прям так и стоит писать, что б не тратить чужое время?CoreTeamTech
11.05.2018 23:26Конечно вам показалось, ибо свое трепетное отношение к джуннам я озвучил в своем комментарии. Для меня джунны — это инвестиции. Первое время они — расход. Но потом все отбивается с лихвой. Так как речь идет о первом знакомстве, то я не знаю отобьются ли усилия вложенные в них. Поэтому я написал достаточно мягко, что не минус, а небольшой плюс в районе 0.
1Tiger1
11.05.2018 16:03Забавно, большинство комментариев вертиться вокруг темы "а вдруг они хотят чтобы я бесплатно сделал то что им нужно" и как обойти это. Люди, а вы действительно видите разницу между "сделали за ваш счет нахаляву и пользуются в продакшене" и "посмотрели по диагонали и забыли"? И в том и в другом случае вы потратили свое время и не получили за это ничего.
Единственный подход где тестовые задания имеют хоть какой-то смысл это когда надо регулярно набирать много разработчиков для однотипных простых задач, тогда подход описанный ZaEzzz будет иметь смысл, бизнесу важна максимальная эффективность (минимальные времменые и финансовые затраты на типовую задачу), тогда разработчику можно дать эту типовую задачу и посмотреть выполнит ли он ее в приемлимые сроки и в рамках нужного качества. В остальных случаях в тестовых заданиях смысла нет. Проверить умение думать, понимание инструментов (от языка до фреймворков и библиотек), способы подхода к задачам, личные качества — лучше, проще и эффективнее напрямую, на собеседовании. Там можно же задать и пару тройку задач, не про люки и хитрые ситуации с областями видимости в коде а чтобы понять как человек подходит к решению задачи и его опыт в нужных областях. И для этого не нужно писать целое приложение, вообще писать не нужно обычно, достаточно разобрать конкретную ситуацию. В том числе для джуниоров. Ну а начиная с синьоров смотреть код в принципе смысла не имеет.
Сам тестовые задания не даю, на предложения сделать в лучшем случае пытаюсь обьяснить что смысла для данной позиции в тестовом задании нет, обычно просто отказываюсь. Кстати неплохая лакмусовая бумажка на "насколько ты интересен компании" и "насколько у нее гибкие подходы", да и на умения Hr-a тоже, если в компании тестовое задание обязательно или просто такая практика у руководителя команды/отдела/проекта куда ищут человека а они после отказа готовы изменить своим принципам и продолжить общение — как минимум с ними стоит пообщаться. Не готовы — либо не интересен, либо рекрутер "просто делает свою работу" и велика вероятность срыва, либо компания настолько жесткая что ей нужны только винтики определенной формы, а это не мой формат.
"Её особенно раздражало то, что некоторые компании преподносят такие задачи как способ устранения дискриминации и более справедливого процесса найма. «Если такова их цель, то это несовершенное решение», — сказала она." — забавные люди эти феменистки, везде то их ущемляют, и почему-то именно их.
P.S Теоретически не исключаю ситуации когда я потрачу время на тестовое задание. Если посчитаю что эти инвестиции времени того стоят. Правда вряд ли оно будет в виде небольшого приложения или другого куска кода. Просто многие, кто делают тестовые задания не понимают насколько быстро сужается воронка отсева, и если тестовое задание дают еще до собеседования — вероятность что время будет потрачено зря очень высокая.
P. P.S. Собеседования они от слова "беседа", как и весь процесс поиска и найма оно двухсторонее, но почему-то многие приходят на него как на экзамен, а когда спрашиваешь есть ли у него/нее вопросы сильно удивляются и молчат. То же самое с зарплатой, условиями контракта и прочего. "А что так можно было" — да, можно, все можно и нужно обсуждать.
ZaEzzz
11.05.2018 17:19Вы меня представили как человека из веб-студии с дикой текучкой :)
На самом деле тестовые задания — это еще и очень хороший способ отсеить людей, которые точно не пройдут. Да, метод далеко не идеальный, не однозначный и таким образом можно потерять потенциально отличного кандидата, но пусть лучше этот отличный кандидат не появится, чем прособеседовать сотню людей, которые нам не подходят, но в резюме указали.
В конечном итоге это экономит время обоим сторонам. Я это говорю со своей колокольни, но с обоих сторон — и кандидата, и сотрудника компании.1Tiger1
12.05.2018 03:12Не знаю где вы работаете и какая у вас текучка, просто вы хорошо описали подход и я его использовал в качестве примера, описал где он может применяться на мой взгляд. Да для «конвеера» это возможно единственный способ не закопаться в собеседованиях и быстро находить замену. Но гарантированно утверждать не буду, не было практического опыта конвеера почти, только в самом начала карьеры, тогда сам джуниором был и не собеседовал, и то это пару месяцев было, потом компания переключилась на долгосрочные кастомные проекты. И в других компаниях я с конвеером не сталкивался.
На тему экономии времени, это вещь субьективная и еще сильно зависит от целей собеседования. Лично мне общение с человеком скажет значительно больше (за то же самое потраченное время) чем анализ его кода, что просто примеров кода, что тестового задания. Потому что программист это не человек который «пишет красивый код», а тот кто «решает задачи и проблемы с помощью компьютеров». И вот как человек подходит к решению задачи и какие факторы учитывает — гораздо важнее красоты кода, в конце концов изучить фреймворк, другие инструменты на проекте и привыкнуть к стилю, практикам и процессам команды — на это нужны максимум месяцы, а вот на развитие мышления и набора опыта для качественного решения задач — годы.
Как понимаю вы обычно ищете тех кого можно быстро и с минимальными временными и финансовыми затратами подключать в проект. Поправте если ошибаюсь.
А мне обычно приходится подбирать специалистов на проекты где все равно значительное время будет потрачено на обучение (достаточно старые, сложные, много чего изучать кроме фреймворка или просто те что будут сложными и со сроками разработки и развития на годы), так что умение хорошо анализировать, решать задачи и быстро и качественно обучаться гораздо важнее, их на коде и тестовом задании проверить почти невозможно.ZaEzzz
13.05.2018 01:14Поправте если ошибаюсь.
Рассуждения верные, но в одном моменте поправлю — мы используем для других целей. Людей мы ищем на один из длительных проектов. Был у нас пагубный опыт, когда проводили собеседование с каждым кандидатом, который прислал резюме и подходит по требованиям. Очень быстро это надоело из-за того, что соискатели в резюме пишут что слышат и думают, что если мы указали в вакансии мало слов (к примеру, php/yii2/postgresql/highload), то они уж точно подходят. В конечном итоге ТЗ стало лакмусовой бумажкой, которая отсекает колоссальное количество кандидатов, которые точно мимо. Да, метод далеко не идеальный, да, отсекаются и некоторые хорошие сеньоры, но нам тоже нужно работать и деньги зарабатывать, а не просиживать портки постоянно в собеседованиях. Экономия времени рассчиталась банально в финансах. И эта экономия справедлива так же и для соискателей (говорю как один из таких).
Kwisatz
11.05.2018 19:08Собеседования они от слова «беседа», как и весь процесс поиска и найма оно двухсторонее, но почему-то многие приходят на него как на экзамен
Прикольно. Я видел обратное. Компании убеждены что мне позарез нужна работа и устраивают допрос, да еще таким тоном что уже сразу уйти хочецо. Я вообще не очень чтобы чего то ищу, но побеседовать я всегда за, когда предлагают. И уже на этом ответе почему-то 90% теряются.
А по теме статьи: мне лень делать тестовое задание. И фреймворка я не видел. И стиль когда у вас наверняка другой. И что такое тесты не знаю. Но это все настолько примитивные вещи которые легко изучаются…ZaEzzz
11.05.2018 19:31И фреймворка я не видел. И стиль когда у вас наверняка другой. И что такое тесты не знаю. Но это все настолько примитивные вещи которые легко изучаются…
Особенно интересно это звучит, когда ищут человека именно для работы с этим фреймворком со знанием тонкостей работы и приученного к написанию тестов. Да, у компании конечно же есть пол годика на ваше обучение…
К сожалению, как показала практика, отношение к этим примитивам так и остается подобным «потом изучу». Стиль то еще можно привить отправками на доработку, но тесты? А зачем? Там и без них видно, что все хорошо.
В общем это из разряда привычек. Не утешайте себя, что можно на раз взять и измениться.sojuznik
12.05.2018 13:49Чтобы обучиться работать с новым фреймворком или библиотекой, достаточно пары недель, а не пол-годика. Чтобы вникнуть в основы, достаточно нескольких часов.
В реальной работе программист всегда работает с неизвестной для себя областью знаний. Это и бизнес-логика, и новый инструментарий, и новые алгоритмы. Да и вообще он создает новое, то чего не было раньше. Условия меняются очень быстро и приходится порой полностью переделывать уже написанное.
Нет никаких полгода для изучения чего-то нового. Это когда сам студент и есть море свободного времени после посещения учебного заведения — бери да изучай. Только вот через годик мода пройдет на изучаемое — и полученные знания можно смело выкидывать в корзину. Лучше это время потратить на базу программирования. Сейчас не те времена, когда программистов готовили к работе загодя и этого было достаточно.
Для новичков лично я рекомендую учиться работать с элементарным: уметь реализовывать алгоритмы и структуры данных без стандартных средств языка и библиотек, расширять свой кругозор в архетиктуре компьютерных технологий, изучать самые разные области программирования и языки, изучать чужой код. Нужен кругозор того что есть и глубина понимания базы. Доскональное знание чего-то одного не нужно.
И самое главное — рекомендую делать свои личные проекты. Потому что когда делаешь свое — приходит понимание в том как реализовывать задумку в условиях, приближенных к настоящей работе.
А лучше — не просто делать проекты и бросать, а постоянно их совершенствовать. Когда начнете совершенствовать свой личный проект, придет и понимание, как программировать плохо; и самое главное — почему это плохо. Придет понимание, что прежде чем что-то запрограммировать, надо думать и учитывать много факторов, какие не видишь с самого начала и даже не можешь их загодя просчитать. И придется даже учитывать изменение фреймворков и библиотек! И опа — приходит понимание, что надо было не фреймворк учить, а учиться проектировать и программировать. А это нудно и не вовсе не модно. И результат не такой модный и красивый, да и почти незаметен.
Постоянно вижу в среде новичков кучу мифов и табу, а понимания нет. И возникают перлы типа: Писать следует исключительно только и только в ООП, использовать следует только новомодный фреймворк X, ни в коем случае не использовать вот этот оператор языка, всегда использовать только это новое средство языка вместо другого и т.п. Да нет же! Все хорошо, когда применено по месту. Только вот новичок заучил эти табу, но не понимает, что в большинстве своем коде он делает другие ошибки, о каких не модно кричать на форумах и какие не видишь сразу.
Вот именно такой опыт и нужен в программировании. И таких программистов катастрофически не хватает. Вызубрить что-то чтобы пройти собеседование — это тупик. Может подойти для совсем новичка, только вот в реальной работе для такого новичка это вызубренное не поможет, потому что сразу дадут задание, какое он никогда не реализовывал и, может быть, впервые в жизни видит. И сидят в шоке: «как же так, я вызубрил знание фреймворка, а надо реализовывать фичу и при этом разбираться в непонятном коде, копаясь в мегабайтах чужих исходников не самого идеального кода, да и еще надо это сделать к сегодняшнему вечеру!».ZaEzzz
13.05.2018 01:23Полностью с вами согласен, кроме одного: для хорошего изучения фреймворка пары недель не хватит, для этого нужно еще и хорошенько поиспользовать его на проде, словить проблемы и решить их, а не только примеры порешать и на стековерфлоу посидеть.
Kwisatz
12.05.2018 17:31Я уже много работал с чужим кодом и исправлял и писал в том же стиле и дорабатывал. Это вот вообще не проблема. Если уж совсем все мудреное можно пару дней посидеть посмотреть на активную работу коллеги или отсмотреть его код.
Тесты… Я правда верю в код покрытый тестами, правда правда. Да вот увидеть бы его…
«потом изучу»
Это не потом изучу, а мне лично оно в общем мироздании нафиг ненадо и мне вломы отвечать на сотню вопросов которые очевидны после недели работы с вашим инструментарием.
Стиль то еще можно привить отправками на доработку, но тесты?
Серьезно? Я так и вижу как итеративными доработками лапшекод превращается в элегантный самодокументирующийся код, который спокойно можно читать в слух. А ну и из него тут же KISS проклевывается, ога…
Не утешайте себя, что можно на раз взять и измениться
Запросто, если это нужно для работы.
Особенно интересно это звучит, когда ищут человека именно для работы с этим фреймворком
Мне кажется это к джунам, не?
ЗЫ коммент внизу очень хорош.
1Tiger1
12.05.2018 02:58Компании бывают разные, и люди бывают разные. Есть даже такие странные которые используют собеседования для самоутверждения, показать кандидатам кто тут папа. И даже есть hr-ы которым все равно когда и как будет закрыта вакансия. Всякое бывает, мир не идеален.
Да я тоже встречал много разного неадеквата, вплоть до того что люди не хотели отвечать на вопросы, а только их задавать. Были и предложения слетать в Питер с Минска, на первичное собеседование, на запрос информации сбросили минимальный шаблон и сказали что там все детали расскажут. Да в таких случаях проще не терять время а корректно завершить разговор и уйти. Но таких могу по пальцам пересчитать, одной руки хватит.
Но все же обычно цель собеседования найти, отобрать и заинтересовать человека который нужен проекту или компании. Ключевое слово тут «нужен». И при этом неплохо бы убедиться что человек тоже осознает свой выбор и он ему подходит.
«Я вообще не очень чтобы чего то ищу, но побеседовать я всегда за, когда предлагают. И уже на этом ответе почему-то 90% теряются.» — странно, обычно hr-ы хватаются за любой шанс, даже если человек не ищет пытаются пробить на «поговорить», непростая это задача найти хорошего специалиста подходящего в проект, компанию и команду и чтобы еще он согласился, так что все спрособы пробуют, от тех кто в активном поиске до тех кто полностью доволен текущим местом и никуда уходить не собирается. По крайней мере если вакансии начиная с мидла и выше. С джуниорами сложнее, там зависит от многих факторов, готовности обучать например или минимального порога знаний для проекта, будут плюсом или наоборот минусом «горящие глаза», где компании и ЛПР удобнее устраивать отсев (на резюме, на собеседовании, на испытательном и т.д.), возможного процентного количества джуниоров в команде и пр. Просто джуниор на крупном или сложном проекте это риск и инвестиции, не многие на это решаются, а если решаются то проводят серьезный отсев. А на конвеере — ну тут всем правила игры понятны, если кто-то идет в компанию конвеер он должен понимать зачем и почему это делает и что там будет.
Kwisatz
12.05.2018 17:37Ну видимо у нас в Новосибирске все как то иначе) Или резюме мое их пугает 8)
Бывает просто в личку кидают молча анкету или ссылку на резюме это странное " hr-ы хватаются за любой шанс". Я сразу отписываю что анкеты заполнять не буду, тесты делать тоже. У меня диван в конце концов недалежан.
Даже на хабре мне в личку бывало прилетало поработать пхп-кодером в Москве за 90к рублс. Господа, ну это же не смешно даже.
byria
11.05.2018 17:15Походу тут к статье не хватает голосовалки с несколькими вопросами…
Лично мне интересно было бы посмотреть на ответы, с указанием количества лет опыта разработки, их отношению к выполнению, количеству потраченного времени на это и при каких условиях готовы были бы выполнить ТестЗадание.
Если автору тоже интересно, прикрутить к статье.
Voltera
11.05.2018 18:26Есть еще дисциплинарный момент в выдаче ДЗ, можно оценить насколько человек работоспособен, многие ищут более простые варианты, где можно отдохнуть, примеры такие:
Человек берет задачу, а потом не делает, опаздывает и прочее, ну тут сразу можно сделать вывод, что есть проблемы с управлением временем или личной ответственностью.
BelikovDmitrii
11.05.2018 18:27+1Если задача больше 3 часов, то она оплачивается. Во всех остальных случаях просто иду дальше. Просто подумайте, вы потратите своё время и проф. навыки взамен на ничего — для меня это просто неприемлемо, лучше потратить это время на себя.
Надеюсь эта практика так и не оправившихся от школьной и студенческой скамьи когда-нибудь уйдёт. Читайте резюме, господа. Учитесь задавать вопросы, а не давать всем подряд тестовое, решение которого будет общедоступным со временем.
lucymilk
11.05.2018 18:27Существует подозрение, что мелкие компании решают свои собственные задачи путем таких «домашних заданий»
fzn7
11.05.2018 20:08+1Проблема не в тестовых заданиях, а в людях, которые соглашаются их выполнять. Нет среди программистов цеховой солидарности, значит будем страдать
ZaEzzz
11.05.2018 20:44+1Знаете, четыре года тому назад после проведения собеседования и выдачи мне оффера я настоял на том, чтобы мне выдали тестовое задание. Знаете почему? Потому что у меня ипотека, жена в декрете и грудной ребенок, и я тут ухожу в неопределенность со сменой работы. Я хотел, чтобы работодатель более точно знал кого берет. И если ему не понравится результат выполнения тестового, то пусть сразу скажет, что я не подхожу и я не буду менять работу, чем потом будут разочарования и много чего может быть.
Я честно не понимаю политику отказа в выполнении любого тестового.
Ведь все так просто! Вот есть вакансия, которая мне очень интересна — почему я должен ставить себя пупом земли и наотрез отказываться от выполнения адекватного тестового? А вот вакансия, которая как бы ну норм, но тестовое не соотносится с моим желанием/потребностью работать тут на этой должности — почему мне обязательно тратить время на тестовое, когда я могу пройти мимо?fzn7
12.05.2018 08:38Потому что это лохотрон, что в этом непонятного? Отказавшись от его выполнения вы уйдете в соседнюю контору на теже условия, где перед этим отказался ваш коллега и наоборот. Повысить цену можно лишь убрав предложение, надо как-то это попытаться понять уже
TrllServ
12.05.2018 10:50Я честно не понимаю политику отказа в выполнении любого тестового.
Ни кто не отказывается от любого тестового задания.
Раньше даже считалось уровнем, если после краткого собеседования было краткое задание, которое также кратко и быстро показывало целевые знания.
Ведь все так просто! Вот есть вакансия, которая мне очень интересна — почему я должен ставить себя пупом земли и наотрез отказываться от выполнения адекватного тестового?
Всё просто. Суть кроется в словах "адекватного тестового". Возражающие в каментах не считают адекватными тестовые задания на 2-3 дня.
fzn7
13.05.2018 09:28Планка «адекватности», очевидно, зависит от полноты желудков.
TrllServ
13.05.2018 16:36В случае пустого желудка, вообще не вижу вариантов сидеть делать задания на 2-3 потенциальные вакансии. Явно не до этого.
Читая комментарии некоторым кажется «сделаешь задание и тебя сразу взяли», с чего вдруг?
Компания просто сокращает свои траты за счёт чужих трат или hr увеличивает своё свободное время за счёт чужого времени.
Примерно тоже самое было, когда пошла мода давать психологические тесты на 100-150 вопросов. Просто ваше резюме дополнилось новым пунктом «выполнил тест», ещё один из многих. Но его всё ещё можно, как и до этого просто пролистать, отложить в сторону или выкинуть — ничего не изменилось.
julia4545
11.05.2018 21:06+2Я вообще после того, как устроилась в команию и год в ней отработала, перестала делать тестовые задания. Да и когда не имела опыта после выполнения тестового задания на несколько дней меня никогда не брали.
Вот мои сделанные проекты, висящие в сети, вот мой гитхаб, вот запись в трудовой, вот я, чтобы меня поспрашивать. Я считаю, этого достаточно, чтобы судить о компетенции программиста.
Просить человека, чье время уже оценено другой компанией и стоит денег, поработать бесплатно ради возможности продолжить собеседование — это верх наглости.ZaEzzz
11.05.2018 21:17Дак не делайте)
Если вы оцениваете выполнение ТЗ в несколько дней, то не стоит за него браться) Просто, обычно (не всегда) это говорит либо о том, что либо ТЗ неадекватно, либо вашей компетенции не хватает. В любом случае вам не по пути и не за чем тратить время на эту вакансию.julia4545
12.05.2018 00:33Так я и не делаю. Просто смешно читать, как рекрутеры пишут «сеньор делает это за 2 часа, мидл за 1 день, у джуна занимает 2-3 дня мучений))». Извините, а почему сеньор, джун или мидл вообще должны тратить свое время на ваши тестовые? Сеньор, который вкладывал годы на свое развитие и увеличение производительности, может за 2 часа работы где-нибудь на апворке от 60$ поднять. А вы просите его заняться благотворительностью и написать приложение незнакомым людям.
В качестве тестового разве что класс написать в офисе можно и это действительно занимает 15-20 минут.
Arlekcangp
12.05.2018 00:24Совершенно ошибочные суждения:
1. гит-хаба совершенно не достаточно. Все что я видел у кандидатов на гите- полный трешь. И 90% что по вашему гиту я бы вас незаслуженно не взял, потому что сложно оценить хорошо какие то куски проектов без контекста, или хобийные проектики которые писались как попало, потому что была эйфория. А авторов серьезных open source проектов (да еще в одно жало написанных иначе сложно оценить) не так и много. Либо у вас есть уже проект, в котором все сделано правильно на нужном языке/фреймворке с похожими задачами — ну в таком случае это допустимый вариант. Но я что то сомневаюсь что частый.
2.время уже оценено другой компанией
Откуда мне то знать кто и что там наоценивал? Я не раз сталкивался с тем что человек работавший в крупной именитой компании умеет меньше чем какой-нибудь «неуловимый джо» из провинции. (людям из провинции не обижаться — я сам такой и сравнивал с собой)
Сам не люблю длинных заданий и бывало посылал с ними куда подальше Но однако вообще без них — никак. Ну и вывод — компания вправе давать вам любые задания, а вы вправе конечно же послать их куда подальше. Никакой проблемы нет.
SlavikF
11.05.2018 21:17+1Это в том числе собеседование с использованием доски (whiteboarding), где кандидату предлагают изложить решение для какой-нибудь головоломки, вроде алгоритма для последовательности первых 25-ти простых чисел.
Такой подход тоже был принят в штыки: критики говорили, что эти тесты не похожи на обычную работу большинства программистов. Затем самый известный сторонник таких головоломок Google признал: даже собственные исследования не выявили существенной корреляции решения головоломок со способностями кандидата. Тесты с доской похоронили.
Вы путаете головоломки с решением задач на доске.
Головоломки — это:
— почему люки круглые
— сколько мячиков можно засунуть в автобус
Да, от этого Гугл отказался
А решать задачу на доске — это не головоломка. Гугл это продолжает делать. Брат проходил у них интервью в прошлом месяце в Сиэтле — 5 часов на доске код писал. Только задачи там посложнее, чем поиск простых чисел.
devalone
11.05.2018 22:33Пит Холидей, менеджер по разработке CallRail в Атланте, раздавал домашние задания в процессе собеседований, но впоследствии понял, что так отпадают хорошие кандидаты. Некоторые говорили, что у них нет времени на домашнюю работу
Внезапно! Тратить несколько дней неоплачиваемой работы будет только новичок, у которого собственно и выбора может не быть, т.к. ему никто не поверит без этого, а у специалистов время — деньги.
lagranzh
11.05.2018 23:11+1Пока коменты читал, вот что придумал:
Можно давать в качестве тестовых заданий, пофиксить какой-нибудь (конкретный) баг в чужом опенсорс проекте. С условием оплаты "если пулреквест примут".
Сразу три плюса вижу:
- работадатель деньги тратит с пользой
- соискатель не над бесполезным кодом корпит. Да и при приеме на следующую работу можно этот же комит показать.
- Ведущий опенсорс проекта — лицо незаинтересованое, оценит работу непредвзято.
ZaEzzz
11.05.2018 23:35Сразу проблема: как вы сравните результат работы трех кандидатов? Первого приняли, второго не посмотрели (уже решено) а третий посмотрел результат и выдал на основании его чуть лучше.
Arlekcangp
12.05.2018 00:14присоединяюсь к коментатору выше. Как?
А еще при фиксе багов не возможно оценить уменение решать кандидатом поставленные задачи. Баги фиксить это одно а написать код который требования тз соответствует — другое.
Salat13
11.05.2018 23:59Не так давно проходил собеседование в одну компанию (я разработчик на C++). Сначала дали листочек с вопросами (около 20-30). Не ответил разве что на 2 вопроса, остальное — сходу говорил.
Они остались довольны, но сказали, что для «полноценного погружения» необходимо еще дополнительно решить дома тестовое задание. А задание выглядело примерно так: написать полноценное приложение — «конструктор метро». Чтобы можно было самому добавлять ветки, станции, переходы. Чтобы можно было считать оптимальное время движения между станциями, различные варианты вида «минимум пересадок/минимум времени». А еще ко всему этому прикрутить хороший и красивый GUI. Причем на Qt 4.
Прикинув время, которое мне на все это понадобится и то, что они от меня хотят, я подумал, что у них просто кто-то не справляется с такой задачей из сотрудников. Вдруг соискателю удастся? :)
Я просто проигнорировал это тестовое задание, а они мне даже не писали потом. Интересно — много ли в итоге находилось желающих этим заняться?
lxsmkv
12.05.2018 00:01Не вижу особенной проблемы. Если ты хочешь на позицию разработчика мобильных приложений тебе могут дать задание сделать мобильное приложение.
Если меня будут брать на работу тестировщиком, я не удивлюсь если мне дадут незнакомое мне приложение и скажут «протестируй всё». При этом и ежу понятно, что справится человек в полном обьеме с заданием не успеет, но важно посмотреть подход. Стрессоустойчивость. Вот претендент сдалась. Тест провален. Кандидат не годится. Если человек действительно профессионал, его заданием не напугаешь. Ему всегда есть, что сказать. Он может оценить задание и сказать, что оно не укладывается во временные рамки. А вот человек неопытный сразу хватется за задание, не в состоянии оценить его сложности.
yorgo
12.05.2018 09:59+1Как-то странно читать комментарии про то, что должно оплачиваться, нет времени и т.д.
Всё ведь определяется спросом и предложением. Если мне долго/трудно выполнить тестовое задание, значит эта вакансия мне попросту не нужна. Найдется другой, кто выполнит и получит работу, а я останусь с маленькой зарплатой, дураком шефом, древним стеком или из-за чего там я хотел увольняться. В те же Гугл, Амазон и пр. очередь стоит по пять часов у доски умирать, и никто не жалуется.Elara
12.05.2018 12:06Вот именно, что определяется все спросом и предложением. Только в среднюю (не гугл) компанию сложнее найти высоко квалифицированного программиста, чем спецу работу в средней компании. Так вот, не раз уже слышала истории, что "мы вот хотим нанять спеца, даем тестовое, а они все такую ерунда присылают! Понизился уровень программистов. Пишут, как джуны". А подумать, что такое может быть как раз потому, что все квалифицированные просто не хотят выполнять тестовое и идут туда, где его не надо выполнять, не могут :)
yorgo
12.05.2018 12:30Совершенно верно. Либо идут туда где надо выполнять, но больше денег, лучше должность, более известная компания.
Кстати, не знаю как в Калифорнии, но в Лондоне, например, гиганты платят не так чтобы выше среднего по рынку. На контракте (аналог СПД) в каком-нибудь банке можно легко поднять раза в 2 больше чем в том же Гугле при гораздо меньших усилиях на собеседовании.
dimoff66
13.05.2018 18:22Недавно устроился на свою первую работу вэб-разработчиком, ранее работал программистом в иной сфере. Никакой особой проблемы в выполнении домашних тестовых заданий не видел — это позволяло мне приобрести опыт. Иногда да, удивляло, что делая задания и не получая по ним нареканий, я не был приглашен даже на собеседование. Но еще больше удивляло, когда задание было несложное, а потом на собеседовании начинали спрашивать, сталкивался ли я в своей практике со сложными задачи и готов ли их решать? Какой смысл спрашивать это на собеседовании — дайте тест посложнее и все выяснится. И потом мне отказывают на том основании, что у меня нет опыта при удовлетворительном решении тестового задания.
Также напрягали компании, которые не давали никаких тестов на дом, а предлагали решить задачи прямо на собеседовании. Мне кажется собеседование — это место, где люди в расслабленной обстановке пытаются понять подходят ли они друг другу и когда тебе дают задачи на собеседовании, это просто может показать либо знания, которые в век интернета приобретаются за 3 минуты поиска в гугл, либо скорость реакции — например меня попросили на собеседовании написать алгоритм нахождения простых чисел — я написал, но осадочек остался, потому что когда требуется немедленное решение, ум находит первое попавшееся, а не оптимальное. Но какой смысл проверять скорость реакции, если как мне кажется, разработка должна делаться обдуманно. Поэтому как раз домашние задания, может не на 3 дня, но хотя бы на несколько часов, дают работодателю представление с каким качеством и за какой срок вы готовы разрабатывать, а разработчику уверенность, что работодатель понял, оценил и удовлетворился его уровнем. И конечно же приступая к тестовому заданию, нужно отдавать себе отчет, что работодатель вовсе не обязан вас брать.
Я поступил в итоге на работу в компанию, где было дано домашнее задание написать на php крестики нолики… Я получил от этого задания удовольствие, решение понравилось работодателю и все срослось.
Barafu_Albino_Cheetah
Набросать «приложение по доставке заказов» на подходящей CMS — дело двух часов, если не лезть в дебри. Если же хотят неподходящую CMS — слать лесом.
antonn
Осталось обговорить какая CMS тут «подходящая». Получение заказа из ИС ресторана (или чем она представлена, хоть из 1С), формирование маршрутного листа курьеру (оптимальный путь в дереве маршрутов с несколькими точками доставки), табель рабочего времени курьеров, отчетность (время курьеров, ГСМ для мототранспорта, QoS хоть в каком-то виде, и тп), всяческие рюшечки типа фидбэка от клиентов.
Или речь про фронтэнд пользователя, где он должен набить корзину товарами, ввести адрес и ждать?
longclaps
usdglander
А как давно задачи комбинаторной оптимизации стали тривиальными? Плюс в маршруте курьера ещё куча переменных типа графика работы, обеды, пробки и так далее.
j-ker
Все эти задачи стали тривиальными "на пару часов работы" с тех самых пор, как не вставая с дивана стало возможным выкрикивать жирные каменты в сеть ))) Как в том анекдоте про 80-летнего дедушку и секс: "… так и вы говорите. Кто вам не даёт?" :D
longclaps
Неловко себя цитировать, но придётся.
Помедитируйте над этим утверждением, это может помочь. Просто подумайте, а не сыпьте учеными терминами )Ваш творческий метод не позволит решить никакую задачу — у вас столько плюсов )
alprk
Вот согласен, под понятие «приложение по доставке заказов» может подойти и форма в Google Form, тут зависит от того что именно требовалось сделать.
usdglander
Термин «Задача комбинаторной оптимизации» ничуть не учёней «Односвязного графа».
Ну я, например, решал такую задачу с учётом пробок, времени работы точек и их перерывов на обед.
longclaps
Тут вон подсказали: дерево — это связный граф без петель. Вики в помощь.
Использование общепринятой терминологии расширяет возможности для диалога, а вбрасывание узкоспецифических формулировок — шулерский трюк.
Человек дал (уточнением, в скобочках) «оптимальный путь в дереве маршрутов с несколькими точками доставки» — я прочел, как написано.
Что и как вы решали — это на вашей совести. Я же воздержусь громоздить домыслы сверх поставленой задачи.
Zoolander
вот-вот, я тоже поперхнулся утренним кофием
задачу коммивояжера назвали тривиальной
longclaps
Не ждал такого обилия комментариев. Похоже, многие не вышли из утреннего сна.
поразмышляйте об этом за утренним кофе.cromer
> граф односвязный
для утра это слишком сложно. надо было написать явно, что в дереве петель нет :)
SlavniyTeo
В односвязном графе вполне себе могут быть петли =)
longclaps
Стандартая формулировка: «дерево — односвязный граф без циклов».
Обычно ей предшествует определение графа, и, обычно, где-то рядом отмечают: «мы будем рассматривать графы без петель».
Ввиду того, что графы с петлями так сразу отметают, возникает искус использовать слово «петля» вместо «цикл».
Сам этим грешу )
usdglander
Я понял вашу мысль, но дело в том, что в дереве маршрутов в узлах лежат НЕ пункты следования, а ЦЕЛЫЕ маршруты. Поразмышляйте об этой во время обеда.
longclaps
Следование общепринятой терминологией не сделает вам плохо, наоборот )
У графов есть вершины и рёбра. Завяжите узел на память )
Zoolander
знаете, наиболее практичный подход тут выглядит так — запрашивается норма узлов на маршруте и исходя из этого уже выстраивается решение. Очень редкие курьеры в реальной жизни строят маршрут из такого количества узлов, при которых задача становится нерешаемой. Много зависит от нагрузки, которую может везти курьер.
Пицца-курьер на скутере/велосипеде — он обычно может за один подход занести пиццу в 2-3 пункта, а то и в 1 (узлы с наибольшей плотностью заказа имеют абсолютный приоритет над одиночными заказчиками). Такая задача тривиальна и быстра на любом оборудовании.
Пицца-курьер на машине может обслужить десятки узлов, но тут в дело вступает важный фактор — время доставки пиццы. Как правило, оно очень мало. Исходя из этого реалистичный вариант для пицца-машины — 4-5 пунктов, а то и опять тот же 1 радостный мегаузел, где заказали сразу 20 коробок по случаю торжественного увольнения самого нудного программиста
Как видите, в реальной службе доставки ужасные задачи комбинаторики совсем не ужасны. Это, кстати, касается и прочих алгоритмических задач, вплоть до выбора метода сортировки.
Вот такие возражения, которые я сам за вас и придумал, и были бы наиболее уместными и сильными. А переходы на личность моего утреннего кофе — это не сильный аргумент
longclaps
Ок, вы прочитали задачу как погруженный в предметную область практик, а я — как мимо проходивший «самый нудный».
Хотите меня спихнуть с разговора, козыряя своим портфолио — пожалуйста. Пусть это станет междусобойчиком разработчиков софта для пицца-курьеров.
antonn
В доставке ресторана могут быть пешие, велосипедные, скутерные и автомобильные курьеры, в реалиях большого города вмешивается общественный транспорт (метро, ТАТ). Вес к дальности (две маленькие поближе или одна большая и далеко), пробки на дорогах, габариты сумки для прохода в общественный транспорт. Да тут эмпирические данные подгонять не один месяц для шлифовки. Это и есть дерево которое надо сначала создать. Алгоритм сложен не тем что он быстро отработает, а тем что должен учитывать множество факторов. И уж никак не пишется за два часа, не все города «Манхеттен». даже просто поиск гео-данных и интеграция их в разрабатываемую систему займет не меньше (разумеется, если у вас совсем недавно не было такого, довольно специфического, опыта в подобном проекте).
longclaps
Скажите, а как заказчик может оценить качество вашего решения? Судя по сложности описания — никак. На месяцы шлифовки накладываются сезонные колебания рынка — чтобы их развести, нужны годы — за годы меняется рынок… )
antonn
Полагаю, субъективной оценкой качества может быть выдача нескольких оптимальных маршрутов и сравнение их с достаточно точными картами Яндекса/Гугла. Хотя у последних гео-данных, статистики и актуализации текущего состояния — значительно больше (в общем, как и ресурсов для реализации и поддержки).
Еще вижу активизировались насчет «задачи комивояджера», в то время как «табель учета рабочего времени» тоже задача не на 2 часа. Планирование заказов в будущее, больничные и форсмажоры, стажеры и отпуска, разное время рабочих смен — подводных камней предостаточно, причем они больше сложны тем что потребуют тупо времени на реализацию, а не особых алгоритмов. Модуль позволяющий посмотреть на завтра/послезавтра загрузку по курьерам (в том числе по недоставленным «сегодня» заказам), заложить дополнительный персонал под праздники, отчеты по отработанным дням. Рутина, и требует время.
bay73
В том-то и дело, что односвязным называется граф имещий одну компоненту связности. И задача коммивояжера на таком графе НП-полна.
longclaps
Я поправил формулировку: дерево — связный граф без циклов.
В том-то и дело, что речь шла о дереве.
Adronex
Статья-маркер, лишний раз показывает, что программистами становятся кто угодно, в том числе люди без должной образовательной базы. Ни алгоритмов знать не нужно, ни устоявшихся практик, ни паттернов. Программирование идет к упрощению, скоро все превратимся в операторов.
Женщина говорит, что не справилась с задачей, потому что они (женщины) должны рожать и убирать дом, и виноваты в этом монополисты из Долины, что довольно странно. Не отсутствие должной подготовки или портфолио, а неправильный мир. Плюсы подобной статьи (с комментариями в ее защиту) и минусы ваших комментариев дискредитируют программистов как инженерный класс. Очень жаль.
Elara
Как-то вы неправильно прочитали статью. В ней не говорится ничего о том, что женщины не знают алгоритмов, паттернов и прочего. В ней просто говорится, что женщины часто не могут позволить себе выполнять тестовую работу дома, после своей оплачиваемой работы, потому что занимаются детьми и домашней работой. Повторюсь — ни слова о квалификации женщин, только отсутствие у них времени.
Конечно, опосредованно можно решить, что так как у женщин нет времени на программирование дома, то и знают они меньше. Но это далеко не факт, и речь в статье не об этом.
Arlekcangp
Да все верно он прочитал. Просто слеплено две разных проблемы: первое — уменьшение требований к базовым знаниям кандидата (вообще это не является такой уж проблемой при условии, что компания соблюдает пропорции при наборе — нельзя одних джунов набирать ) Вторая проблема — статья являет собой пример обратной дискриминации по полу — мужчина тоже может ухаживать за ребенком, да и других дел никто не отменял. Не понятно причем тут женщины? или может лучше как в середине 20-го века — когда женщины работать начали на заводах. И что то никто не кричал что им некогда. Даже наоборот — попробуйте не взять и нарветесь на иск. Стали брать. Теперь тут видите ли домашнее тестовое задание не дает детей воспитывать. Граждане феминистки и «феминисты» определились бы уже с позицией, а то телегу то туда то сюда мотать как то не хорошо.
По самому способу — вполне не плохой способ получить информацию о кандидате. Проблема первая — опытные кандидаты скипают задание и уходят — выход простой — усложнить задание, что бы им стало интересно либо если надобности в таких задачах нет — не обращать внимания Этим людям и на работе будет так же скучно и они просто не подходят. Т е у них overqualification для этой работы. Проблема вторая — трата времени кандидатом. Решение — не давать слишком длинных заданий. День-два — вполне достаточно. Пример из статьи возможно перебор. Такую задачу в адекватной компании не дадут. К тому же эту задачу не возможно полностью детализировать и хороший кандидат задаст много вопросов еще до того как вообще первую строку кода напишет. В некоторых случаях код может не потребоваться вообще — и так понятно что кандидат подходит. Все решаемо. Статья высосана из пальца.
Elara
Женщины тут при том, что многие компании презентовала этот способ найма как антидискриминационный. И, кстати, опять же в статье пишут, что на задание может не быть времени не только у женщин, но и у других (в качестве примера там люди, ухаживающие за больными родственниками и пр.). И статья как раз не представляет собой обратную дискриминацию, в ней же не предлагается брать женщин без тестового задания, а мужчин с тестовым. Там говорят, что тестовой не нужно для всех. Мне вам статью пересказывать?
И к вашему предложению. Если задание усложнить, то многие опытные все равно будут его скипать. Вряд ли компания предложит такое задание, которое будет интересно именно этому кадидату. При наличии свободного времени каждому интереснее решать задачи, которые сам выбираешь. А на работе задачи все равно почти всегда принципиально отличаются от тестовых, так что говорить, что если кандидату неинтересно тестовое, то ему будут неинтересным и рабочие, тоже нельзя. Вообще, все нормальные люди, не задроты, у которых только работа на уме, в свободное время занимаются интересными им вещами. Это может быть как не программирование, так и программирование, но то, которое выбираешь сам. Опытный не задрот будет делать лишь те тестовые задания, которые или случайно попали в круг его интересов именно на данный момент (1% вероятности), либо если он хочет именно в эту компанию. Но таких сладких компаний не так уж и много. А в статье говорится, что такой способ начали применять поголовно все. И единственный способ бороться с тем, что когда хочешь сменить работу, выполняешь кучу работы бесплатно — это всем отказываться от её выполнения. Тогда и работодатели поймут, что способ не эффективный.
Arlekcangp
Мне кажется, что это мне приходится пересказывать вам статью. Эта фраза по вашему о чем? И главное к чему она здесь? Если обсуждается «ненужность» тестовых заданий, то причем тут женщины/мужчины? Давайте так и писать — у кандидата нет времени.
Не нужно кому? Тем кто не хочет его делать оно конечно не нужно. Так их никто не заставляет. Если компания его дает, значит оно нужно в первую очередь компании. Во вторую очередь кандидату — он узнает что не подходит за ОДИН день, а не за ДВА МЕСЯЦА. А иногда за 1 минуту, взглянув только на задание. Я видел задание от одной компании где нужно было написать распознавание силуэтов людей с обычной камеры. Тогда я даже и браться бы за такое не стал. Сейчас можно подумать и попробовать выполнить это за пару недель. Все относительно. А кто то за час сделает. Вы можете устраиваться в компании которые их не дают. Я в такой работал и пока я там работал 3 года, состав программистов сменился дважды за исключением тех кто там работал уже давно. Испытательный срок был 3 месяца и больше (увольняли не по ТК, а по «добровольному» согласию — просто через n месяцев человеку говорили «ты не подходишь для компании»)
Ну раз не интересно задание значит и работать ему будет еще более не интересно. Зачем тогда ему на эту работу?
Ну вот это уже реальная претензия. Согласен, что компания должна давать задания, которые соответствуют тому чем предстоит заниматься.Но с небольшим запасом — так что если вас просят сортировку написать, то не надо говорить что вам это НИКОГДА не понадобится. А что делать если вдруг понадобилось? Или как с паттернами банды 4-х — если вы их не знаете, то и применять не будете — получится шлак на выходе. Как кроме задания, мне узнать что вы их знаете и МОЖЕТЕ применить?
Во первых сразу предупреждаю — вы разговариваете с «опытным задротом», так что осторожнее. Во вторых — компании должно быть пофиг какие у вас там увлечения. Нужен человек на работу, который будет делать эту работу быстро и хорошо и как можно более долгое время, чтоб не искать нового. Если задание неинтересно, то можете его не делать. Зачем идти на работу на которую каждое утро будешь на автомате приходить думая «какой фигней сейчас нужно весь день страдать» От этого нет пользы не вам не компании.
Не правильно Правильный способ — делать только те задания которые интересны или вы их можете сделать за приемлемое время Для всех это время свое и очевидно зависит от степени интереса.
Скорее компании откажутся от кандидатов которые не делают задания. Это бизнес — выживает сильнейший. И к рынку кандидатов тоже относится.
lair
Не "не справилась", а "не взялась делать, потому что нет времени".
x67
Хороший пример того, что сайты вроде stackoverflow и тостера приводят к некоторой психологической деформации личности:)
lair
Воу, у вас NP-сложная TSP стала тривиальной задачей?
(понятное дело, что маршруты — они не дерево)
niko1aev
Согласен, что зависит от тестового, но действительно, админочка с bootstrap, парочкой связей many-to-many — это дело пары часов.
У меня есть тестовое задание, и оно очень хорошее. Почему я так думаю:
— если вы работали с фреймворком от года, его делать действительно несколько часов
— оно по сути своей такое, что ясно, что это не аутсорс разработка, результат никому не нужен
— ничего сложнее чем CRUD там нету, 1-2 сущности максимум
— есть много деталей, типа склонение существительных в счетчике, где-то AJAX, чуть-чуть нестандартные требования к верстке, и т.д.
— эти детали позволяют понять, насколько внимательно кандидат умеет читать ТЗ и проверять свою же работу
— это тестовое задание дается только после первичного собеседования, когда заявленный опыт соответствует нашим ожиданиям, и нескольким часам на тестовое
— если кандидат наврал про свой опыт и делал тестовое 3 дня вместо 2 часов — это его проблема
— я всегда прошу код, развернуть где-нибудь аля хероку, и написать сколько времени заняло, чем подробнее тем лучше. Из предоставленного тайминга можно получить тонны информации о кандидате
P.S. я сам делал тестовые задания, на которые уходила неделя, более того, я даже брал платные консультации у опытных разработчиков, что сделать тестовое и чтобы они сделали review моего тестового. IMHO оно того стоит, если компания хорошая
P.S.S. И на работе, в начале своей карьеры, 10-20% моего месячного дохода могло уходить на консультации у опытных разработчиков, так как на первых проектах я был или один, или не с кем было посоветоваться.
arheops
Ага, пару часов. Вчера один элемент выбора даты 3 часа делал.
Вы на досуге попробуйте это «быстренько» натянуть за пару часов, удивитесь.
makven
Ваш подход похвален. Уважаю увлекающихся людей.
Но чисто из любопытства, если человек делал задание несколько дней, не будучи знаком хорошо с фреймовками или даже предметной областью, проявив упорство, вы засчитаете его усилия, или спишете его. В таком случае было крайне обидно тратить время на демонстрацию способности делать исследование и решать проблемы.
Arlekcangp
Что значит «спишите»? если задание сделано правильно и хорошо то кандитат конечно получит работу. И не понимаю чего тут обидного — вы никогда не работали с фреймворком, но планируете серьезно с ним работать и вам по любому придется не одно такое задание сделать, а возможно и целый проект что бы вообще понять что там к чему на практике. Т е вы его и для себя делаете в том числе. И потому меня всегда удивляли разработчики которые не используют шанс на работе познакомится с новым фреймворком (получается выгодно обоим сторонам — работодатель получает более квалифицированного сотрудника а тот в свою очередь возможность выполнить какое-либо тестовое задание не за неделю а за 15 минут )
domix32
Ви так говорите словно бы кроме веба разработка больше нигде не существует.