Комментарии 202
Но результатам теста придается максимальное значение — не сдал, значит не прошел. В то же самое время, многие из тех кто не сдал, могут работать и работают, но в других компаниях. Проверка тестами очень механическая и примитивная.
Проверка тестами очень механическая и примитивная.
Примитивная. Но если человек сдал тест, можно достаточно уверенно предположить, что он таки умеет программировать. Если человек не сдал тест, ну может быть растерялся, но… и что? Пусть значит работает в другой компании, где нет тестов, что плохого в том, что мы его на работу не возьмём? Это был последний оставшийся в мире программист, что ли?
И сразу ответ на ваш вопрос:
При поступлении на работу водитель обязан просто показать права, он не обязан сдавать экзамен. Так почему же разработчик должен каждый раз доказывать свою профессиональную пригодность?
Потому что люди, которые не умеют водить машину, даже имея права, не приходят устраиваться на работу водителями. А люди, которые не умеют писать программы, на работу программистами косяками летят, плывут, и табунами бегут. Ибо зарплаты больно уж вкусные.
Разработчик легко выяснит, писал кандидат код или нет, задав пару вопросов. Но первое интервью проводят, как правило, HR. Если кандидаты идут на обман (претендуют на должность программиста, не умея писать код), то что помешает таким людям попросить кого-либо решить онлайн тесты вместо себя? Ведь установить человека, решившего тест, невозможно. В чем тогда ценность такой проверки?
Это совсем разные вещи. Поставить вместо себя другого человека сдавать тест, это сознательный обман непонятно ради чего. Явиться на собеседование, не оценивая трезво собственных возможностей, это обычная глупость. Первое бывает крайне редко, второе повсеместно.
Явиться на собеседование, не оценивая трезво собственных возможностей, это обычная глупость.Трезво оценивать — это сопоставлять свои знания и навыки с потребностями компании. Как эти потребности можно узнать не попробовав? Никакая это не глупость, люди просто пытаются
Трезво оценивать — это сопоставлять свои знания и навыки с потребностями компании
Есть также большая разница между «уметь программировать, но не соответствовать требованиям вакансии» и «не уметь программировать». Но тут в общем-то и не важно, в обоих случаях тестирование работает как неплохой фильтр, который экономит время как собеседующим, так и собеседуемому.
Ошибаетесь. Успешное прохождение любого теста достоверно означает только то, что кандидат может пройти конкретный тест. У меня с тестами всю жизнь фигово. Даже в детстве при переходе в школу с математическим уклоном мой друган-троешник прошел, а мне отличнику-хорошисту сказали чушь из разряда "у вас нет абстрактного мышления". И так всю жизнь. Какая-нибудь бездарность отлично проходит собеседование, а я со скрипом. Реальность потом расставляет по своим местам.
То есть, продолжая ваше многоточие выше:
"Онлайн тестирование это с одной стороны хорошо, а с другой… у нас были проблемы вообще никак не связанные с онлайн тестированием." …эээ, что?
Это вынужденная мера. Практика показывает, что из 100 человек 90 почти не умеют программировать, хотя и опыт работы есть, и умные слова говорят.
Всякие дипломы и сертификаты вообще ничего не значат. Во-первых, корреляция, конечно, есть, но недостаточно значимая. Во-вторых, как раз в те 5-10 из 100, которые что-то умеют, часто попадают те, у кого ни дипломов, ни сертификатов нет (что вполне объяснимо, мотивация на самообучение ради знаний куда сильнее мотивации ради оценки).
Всякие codility я, правда, тоже не люблю.
Практика показывает, что из 100 человек 90 почти не умеют программировать, хотя и опыт работы есть, и умные слова говорят.
Таких отсеет даже FizzBuzz.
Я с такого и начинаю. Не FizzBuzz, конечно, чуть сложнее, но что-то вроде. Второе задание уже посерьезнее, если есть сомнения, даю третье.
Автотесты, да, не люблю, прошу расшарить экран по hangouts/skype/zoom и наблюдаю за процессом. Конечно, заранее прошу подготовиться, чтобы привычная IDE и прочий инструментарий были под рукой — собеседование само по себе стресс, зачем дополнительный дискомфорт? Мне интереснее видеть, как человек работает в привычной ему среде, как мыслит в ходе решения (даже если человек молчит, все равно понятно). Гуглить разрешаю все, кроме решения задачи. Так сразу видно намного больше, чем с любыми автотестами.
Был один тест, от которого я был в восторге. Мне прислали намеренно поломанное приложение, которое невозможно запустить без знания технологии. Там было внесено множество хитрых багов. Более того, результатом должна быть расшифрованная картинка, алгоритм шифрования тоже был сломан. Время выделалось 2 часа. Я справился, было трудно, но интересно.
В небольших компаниях ничего такого нет и да, каждому программисту дают в разработку существующую или новую систему. Иногда нет никакого деления на тимлидов, сеньоров и джунов, а в трудовую разрешают записать любую формулировку, например «Старший инженер-программист». Но это, конечно, уходит в прошлое, сейчас кругом сплошной Agile/Scrum
Вот интересно, проект в вашем понимании это что? 7 человек минимум, если один программист и один тестировщик. Где грань между проектом и "вот у бизнеса есть проблема, надо её решить, у Васи вроде есть опыт в этом, пускай поговорит с представителями бизнеса и запилит сам, если по его оценкам это не больше месяца. Если два — дадим в помощь Петю, ну и тестировщику Сереге скажем, чтобы их задачи в первую очередь тестировал"
То что я описал меня сначала тоже удивляло. Но в больших фирмах в РФ все так или почти так. Предположим есть некая система и ее надо слегка доработать. На разработку уйдет 6 ч одного программиста. При стоимости часа пускай даже 1000 р фирма ничего не заработает. А теперь представьте, что компания собирает команду из 2 разработчиков, тестировщика, аналитика, архитектора, менеджера проектов, владельца продукта. Эти 7 человек получают, предположим, по 100000/мес плюс соц выплаты, а проект берется на сопровождение на 1 год, плюс маржа. Контракт получается на 20 лямов минимум. Вот так можно вести бизнес, а мы тут сайтики за 50$ на вордпрессе делаем. Мы живем в таком месте и в такое время, что маленькая цена неинтересна не только исполнителю, но и заказчику, особенно если он государственный
Я как-то больше по продуктам и проектам, где заказчик либо внутренний, либо фиксед прайс. Там наоборот "а ты что сам протестировать не можешь?"
Я в контексте набора команды. В таких проектах команду выбивать приходится, а не ее навязывают тебе.
Работаю с заказчиками (точнее год назад ушёл в последний раз), которые убеждены, что написания программы нужны только программисты, а если даже принять, что ошибки неизбежны, то протестирует или сам заказчик/стейкхолдер, или пользователи.
Я сам такие тесты проходил неоднократно, знаю, что надо брать поправку на неуютность, плюс к тому минимизирую видимость своего присутствия, пока сам кандидат не задаст вопросы — делаю mute и тихо поглядываю. Понятно, что ощущение стоящего над душой никуда не девается, но все кандидаты в одинаковых условиях, да и если не стоять над душой в том или ином варианте, как увидеть ход мысли кандидата, да и вообще быть уверенным, что он этот FizzBuzz не нагуглил или что ему никто не помогал? Да и всяко меньше стресса, чем у доски с маркером. Этакий компромисс.
А какие еще варианты?
Забавное наблюдение. Когда собеседует инженер, его как правило интересуют только технические вопросы. SOLID, алгоритмы, что-то подобное. При этом никого не интересует, как часто это используется в реальной жизни или в их собственном проекте. Когда собеседуют управленцы (не редко бывшие инженеры), до технических вопросов часто вообще не доходит. И я вижу смысл такого отличия в том, что последние понимают важность именно психологической стороны вопроса. Они ищут в первую очередь не грамотного инженера, но адекватного члена команды. Заинтересованность, опыт и достижения можно оценить из простой беседы. Конечно, если речь не идет о совсем сыром джуне.
Даже по тому, как человек делает абстрагированное от реальной жизни тестовое задание, можно в первом приближении оценить, насколько он грамотно структурирует код. По крайней мере, есть масса red flags, по которым видно, что не умеет. Разумеется, coding тестом все не ограничивается — его задача в том, чтобы отсеять кандидатов, которые не умеют программировать, и не тратить на них времени больше необходимого. С теми, кто программировать, вроде, умеет, дальше идет беседа.
Как часто что используется в наших проектах, я прекрасно знаю. Алгоритмы: задачи из разряда "знать алгоритм" я не даю, они все на опыт, смекалку и инженерную интуицию, там из разряда знаний только умение прикинуть computational complexity. SOLID: это уже в ходе беседы обсуждение по вопросам проектирования, и тут важно не знание теории, а умение увидеть и решить архитектурные проблемы, пусть даже интуитивно. Психология: неадекваты себя так или иначе проявляют в ходе даже получасовой беседы, общая инженерная грамотность в процессе видна, хоть и не целиком, а если речь идет о всяких там новомодных понятиях типа так называемой "токсичности", то мы такой фигней не страдаем.
Конечно, кто-то и испытательный срок не пройдет, но задача собеседования — свести такие случаи к минимуму.
Разные люди проявляют себя по-разному в разных условиях и задачах. Если в проекте большие бюджеты, ресурсы, интересные задачи, можно позволить себе какие-угодно испытания. Но как правило чего-то из этого не хватает. Кто-то может затупить над простейшим вопросом, при этом быть эффективным в объемных слабо формализованных задачах. Кто-то быстро соображает и импровизирует, быстро пишет одноразовый код, но слабо проявляет себя в разработке архитектуры. В проекте могут быть полезны как те, так и другие.
Как человек, который не умеет сделать FizzBuzz, вообще попадает на собеседование, для меня загадка. Давать что-то более сложное для решения в реальном времени, я считаю неконструктивным.
В проекте могут быть полезны как те, так и другие.
Бесспорно. Но задача стоит выбрать одного-двух наиболее подходящих кандидатов из 50 или 100.
Как человек, который не умеет сделать FizzBuzz, вообще попадает на собеседование, для меня загадка.
Очень просто попадает, присылает резюме, причем там вроде опыт и все дела. Уж не знаю, сами они это сочиняют или реально проработали пару лет копипастером со stackoverflow :-)
Опять же смотря чем заниматься. Копировать со стаковерфлоу не так уж плохо. Как минимум лучше, чем выдумывать собственные велосипеды. Оффтоп. У нас был мудрый дядька такой в универе, он говорил на контрольных: пользуйтесь чем хотите. Кто не шарит, того это не спасало.
Онлайн тестирование в большинстве случаев короче и проще, а так же позволяет «размять мозг». Проходил несколько онлайн тестов за последний год, и часто было обидно что они достаточно простые.
Программисту мешает непривычная среда разработки. Как правило это веб страница, которую кандидат видит впервые и к ее интерфейсу надо привыкать в процессе теста.
Почти все современные codility/hackerrank предлагаю потренироваться на кошечках чтобы не терять время в момент тестирования.
Ссылки я привел, и еще много можно найти по теме.
Ну, например, мой первый опыт с макос (если не считать часик в 1992) был во время собеседования, да ещё мышь не дали. Там даже ctrl+c/v/x не работали. Почти всё отведённое время на задачу я гуглил с телефона как в Макосью работать в принципе
Отказаться от онлайн тестирования но предложить выполнение тестового задания?
Не только тестовое задание, тут комплекс мер и методов отбора. Да и задание можно не давать, везде нужен индивидуальный подход
Если Вы видите, что кандидат закончил непрофильный вуз, а специальность не связана с ИТ или вычислительной техникой, или ВУЗ не является техническим, то лучше провести тестирование или опрос с пристрастием. Если ВУЗ профильный и технический — это уже хорошо, к такому кандидату больше доверия. Если ВУЗ, выдавший диплом, входит в перечень элитных (МГУ, МГТУ, МИФИ, МФТИ и им подобные), то нужно бороться за такого кандидата, предлагая наилучшие условия с наименьшими препятствиями при приеме на работу.
Муа-ха-ха. Ну то есть мяу.
Вы никогда не слышали выражение anecdotal evidence?
PS
Задачи, которые решают программисты во много раз примитивнее того, на что способны выпускники той же Бауманки
Это обычно повод задуматься, сколько такой "выпускник из Бауманки" проработает программистом, и зачем ему это надо.
Вам в любом общении требуются доказатедьства? Что именно Вас смутило?
Эта работа не всем подходит.
Так про любую работу можно сказать.
Но диплому надо доверять.
Зачем?
Если выясняется, что человек 'не тянет', увольте его, на то и испытательный срок.
Проблема в том, что остальным, у которых дипломы были не такие красивые, уже отказали. Поэтому останемся с пустым местом.
Что именно Вас смутило?
То, что вы предлагаете предлагать "наилучшие условия" или "опрос с пристрастием" просто по факту диплома.
То, что вы предлагаете предлагать «наилучшие условия» или «опрос с пристрастием» просто по факту диплома
Многие американские компании (не буду называть, мы почти все мечтаем там работать) хантят студентов этих ВУЗ-ов уже на младших курсах. Это, поверьте, не просто так. Еще раз повторюсь, не бойтесь делать ошибки, они в любом случае будут.
Поскольку я представляю не ту американскую компанию, которую вы имеете в виду, я не могу себе позволить ошибки вида "пропустим 18 хороших кандидатов". Поэтому я предпочту проигнорировать диплом и совершить ошибку вида "потратил лишние два часа на собеседовании".
у человека хватило сил и упорства доучиться до получения дипломаБинго! Такие люди на многое способны. Дальше надо просто суметь увлечь их за собой
Могу привести контр-пример (да, вы сейчас скажете, что исключение как раз подтверждает правило) — моя двоюродная сестра закончила МГУ с красным дипломом, училась на программиста.
По специальности я с ней пересёкся всего один раз — будучи ещё школьником (10/11 класс, уже точно не помню) помогал студентке 4 (или даже 5) курса писать курсач. За полтора часа обсуждения и кодинга она чуть не потеряла сознание от нагрузки, её реально потом чаем отпаивали, а я спокойно всё доделал. И да, я в последствии на красный диплом не потянул (и ВУЗ попроще и а другом городе, да и цели такой никогда не было).
После получения диплома она смогла отработать всего несколько месяцев по специальности, уволилась и поступила на второе высшее по совершенно другой профессии (экономика)… теперь это взрослый состоявшийся преподаватель крутого ВУЗ'а на другом конце земного шара.
Вот вам и профильный диплом МГУ.
Вот я как-то раз помогал человеку писать диплом (ну как помогал… почти все написал), при том что у самого меня его и нет.
Вот и думайте. :-)
Вы все еще планируете проводить онлайн тестирование?
— да, и вот почему: в статье нет аргументов против «online-тестирования», а есть аргументы связанные с методикой проведения такого тестирования, типа «вопросы не соответствуют задачам», «ограничения по времени» и т п. Риторика напоминает ту, что можно услышать при обсуждении сертификаций. Некоторые программисты (не сдавшие на сертификат) говорят что сертификат не отражает и т д
Проблема не в online-тестировании, а в адекватности теста.
В целом, мое отношение к тестам простое: чудаки на букву «м» и приравненные к ним эффективные менеджеры хотят скрыть свою чудесатость (на ту же букву) и подстелить соломки под задницу. Для этого хорошо подходят формальные способы («не я дурака на работу принял, ТЕСТ нам его порекомендовал»). Поскольку онлайн-тестом проверить собственно способности к сложной интеллектуальной деятельности не получается — тесты проверяют вместо этого то, что можно легко проверить (вспоминаем Козьму Пруткова про мужика, который ищет потерянные ключи не там где потерял, а под фонарем — потому что там светлее!). Если вы уже относитесь к эффективным менеджерам, тесты — ваше всё! Если вам дело делать надо — посадите кандидата рядом, и пишите с ним код! И не вставайте, пока не поймете — хотите вы с ним этим же самым заниматься завтра, или нет? Хотите — значит берите. Не хотите — тогда посылайте. Для дела имеет значение только это.
Зачем тратить неделю на того, про кого за 5 минут понятно, что он играть не умеет?
А если десяток кандидатов на позицию?
Я как раз так не считаю. Обычно на одно вакантное место берут одного человека на испытательный срок. Обычно испытательный срок (для обеих сторон) это не продолжение отбора кандидатов, а последний шанс зафиксировать приемлемые убытки от ошибки на отборе. Ну и стоит вопрос как выбрать того, кому предложить испытытаельный сроек из десятка, а тои более кандидатов.
Вы так говорите, как будто а) уволить на испытательном сроке очень легко, б) для проекта 2 потерянных недели не стоят ничего. Компания стремится снизить риски, и как вам писали выше, во многих ситуациях не нанять подходящего программиста безопаснее, чем нанять неподходящего.
Это зависит от корпоративного юриста
Вопрос, долго ли продержится на рынке (на рынке соискателя, я замечу!) компания с зубастым юристом, у которой в порядке вещей будет нанимать сотрудников с целью отсева в ходе испытательного срока? Мне кажется, примерно до втрой-третьей статьи на Хабре "Как меня ни за что ни про что уволили из компании %name%".
Увольнение по причине не прохождения испытательного срока действительно практикуется, но остается и должно оставаться исключительным случаем, т. к. приводит к потерям (финансовым, временным, репутационным) и требует четкого соблюдения множества формальностей, чтобы у уволенного таким образом сотрудника не было шансов оспорить решение через суд. Более того, даже если компания со всех сторон постели поломки, и все суды будет выигрывать, даже небольшого их количества достаточно для серьезного ущерба репутации.
Так что, повторюсь, сильно безопаснее провести несколько раундов собеседований и нанять сотрудника, в котором мы уверены на 95%, упустив, возможно, тех, в ком мы уверены лишь на 80% (цифры сугубо условные).
- по причине непрохождения, *подстелит соломки. Чертова автокоррекция.
Вопрос, долго ли продержится на рынке (на рынке соискателя, я замечу!) компания с зубастым юристом, у которой в порядке вещей будет нанимать сотрудников с целью отсева в ходе испытательного срока? Мне кажется, примерно до втрой-третьей статьи на Хабре «Как меня ни за что ни про что уволили из компании %name%»
Я Вас умолять. Процентов 80 кандидатов не то что какой-то хабр — ТК не читают и не в состоянии отбиться от убедительных просьб «по собственному» и сходить в прокуратуру прессануть работодателя. Ну а как работодатель может применить свои лайфхаки рассказывается, например, тут. И это еще не рассматривается банальный кидок по беспределу, от которого большинство просто утрется.
Все верно. Я голосую за то, чтобы программист поиграл неделю или две.
А программист-то в курсе, что ему надо уволиться с текущей работы, чтобы «поиграть» две недели с неизвестным результатом? Лично я лучше пройду «тест» и несколько собеседований, но буду на 95% уверен, что мы с компанией подходим друг другу.
Лично я лучше пройду «тест» и несколько собеседований
… в рабочее время? А руководство Ваше что, верит Вам в сказки про больничный раз в неделю? Или Вы только по онлайн собеседованиям «ходите»?
… в рабочее время? А руководство Ваше что, верит Вам в сказки про больничный раз в неделю? Или Вы только по онлайн собеседованиям «ходите»?
Конечно в рабочее. У большинства программистов относительно гибкий график. Выделить среди рабочего дня несколько часов на собеседование, а потом эти часы отработать я могу. В крайнем случае, могу взять один день отпуска или один день за свой счёт.
как-то, лет десять тому назад, работал я в третьей в отрасли конторе. и позвали меня во вторую, причем почти что с самого верха. я тогда
года через три судьба свела с коллегами опять. и — снова тот же тест. на этот раз
три года назад в конторе случился конфликт акционеров, и несогласным вроде меня показали
я, конечно, далеко не гений, но в
в общем, история именно про прикрытие некоторой части тела отделом кадров. что ж,
помер Максим, и черт с ним
Проверка диплома и, по возможности, среднего балла.
Во-первых, диплом мало о чем говорит, во-вторых, дискриминирует кандидатов, которые получали опыт вне вуза.
Если у кандидата есть опыт работы в ведущих компаниях отрасли, который насчитывает 5 лет и более,
Наличие и качество портфолио. В качестве портфолио могут быть представлены скриншоты, скринкасты, схемы и диаграммы, репозитории в GitHub.
Откуда, по-вашему, у человека должно быть портфолио в гитхабе, если он уже давно работает?
Но я обратил внимание на то, что первое впечатление, которое производит на меня новый встретившийся мне человек за первые несколько секунд, в последствии подтверждается
Привет, когнитивные искажения.
Во-первых, диплом мало о чем говорит, во-вторых, дискриминирует кандидатов, которые получали опыт вне вуза.Это не так, говорит о многом. Дискриминация исходит не от диплома, а от того кто принимает решение. Подходите к каждому случаю индивидуально и не будет дискриминации.
Откуда, по-вашему, у человека должно быть портфолио в гитхабе, если он уже давно работает?Не понял. Т.е. если человек давно работает, то в GitHub он не зарегистрирован? Может быть, зависит от разработчика. Если нет, попросите его что-нибудь туда выложить. Если не умеет, поинтересуйтесь, умеет ли он пользоваться Git. Если нет, это может быть проблемой.
Привет, когнитивные искаженияВполне ожидаемо. Конечно, способ принятия решения может быть чисто техническим, но это ненадежно. Использование собственного опыта чтения людей и интуитивного принятия решения в условиях недостатка информации может быть очень полезным. Да и невозможно принять решение чисто технически, всегда присутствует личное отношение, ни Вы ни кто-либо другой не может полностью избавиться от влияния субъективного восприятия и личного отношения.
Подходите к каждому случаю индивидуально и не будет дискриминации.
Так это прямо противоречит тому, что вы советуете про дипломы.
Дискриминация исходит не от диплома, а от того кто принимает решение.
Вот именно. Вы вот явно предвзято относитесь к дипломам.
Т.е. если человек давно работает, то в GitHub он не зарегистрирован? Может быть, зависит от разработчика. Если нет, попросите его что-нибудь туда выложить. Если не умеет, поинтересуйтесь, умеет ли он пользоваться Git. Если нет, это может быть проблемой.
Что выложить? Еще раз, я работаю, т.е. продаю свой код за деньги. Почему вы считаете, что я должен еще делать какое-то портфолио в свободное от работы время? И зачем уметь пользоваться именно гит? Вы же перед этим распинались, что знание конкретных технологией не нужно.
Да и невозможно принять решение чисто технически, всегда присутствует личное отношение,
Поэтому и пытаться не стоит?
Вы вот явно предвзято относитесь к дипломамЯ считаю, что важны любые достижения кандидата, но диплом особенно важен
Что выложить? Еще раз, я работаю, т.е. продаю свой код за деньги.Можно выкладывать тестовые задания. Git, на мой взгляд, стандарт и доминирует над другими системами контроля версий
Поэтому и пытаться не стоит?Наверное стоит, но отказываться от дополнительного эффективного инструмента нет. Человек способен решать сложные задачи без четких алгоритмов и вычислений. Вот, например, при игре в дартс человек попадает в яблочко, при этом в его голове нет четких баллистичесих алгоритмов и дифференциальных уравнений. Вот как он попадает? Ну тут про нейронные сети речь пойдет и тому подобное. Так вот, интуиция работает примерно так же.
но диплом особенно важен
Диплом и достижения важны, знания не важны. Ок, записали.
Можно выкладывать тестовые задания.
Т.е. вы посвящаете статью критике «онлайн-тестов» и теперь предлагаете делать некие тестовые задания и выкладывать их на гитхаб?
Вот, например, при игре в дартс человек попадает в яблочко,
Fun fact: при игре в дартс бОльшая часть бросков идет в 3х20 поле, а не яблочко. Ну и аналогия некорректна. Такой же аргументацией можно обосновать любую дичь, в духе астрологии или экстрасенсов.
Диплом и достижения важны, знания не важны. Ок, записали.Такое ощущение, что Вы не читали. Важно фундаментальное образование, интеллект, аналитические способности, способность находить информацию, приобретать знания — вот что дает ВУЗ в первую очередь.
Т.е. вы посвящаете статью критике «онлайн-тестов» и теперь предлагаете делать некие тестовые задания и выкладывать их на гитхаб?Ничего не навязываю, но уверен, мои рекомендации могут быть полезными. Если Вам они не подходят — нет проблем.
при игре в дартс бОльшая часть бросков идет в 3х20 поле, а не яблочкоЗависит от бросающего и его навыков. Если бы Вам предложили какой-нибудь алгоритм, вы бы вообще не попали. Вы же знаете, что на данный момент некоторые задачи может решить только нейронная сеть. Так используйте же свою
Важно фундаментальное образование, интеллект, аналитические способности, способность находить информацию, приобретать знания — вот что дает ВУЗ в первую очередь.
Это ВУЗ дает безотносительно технической или не-технической специальности.
ажно фундаментальное образование, интеллект, аналитические способности, способность находить информацию, приобретать знания — вот что дает ВУЗ в первую очередь.
Ах если бы еще существовал способ проверить знания не рассчитывая на бумажку н-летней давности.
Ничего не навязываю, но уверен, мои рекомендации могут быть полезными.
Так речь же идет не о пользе, а о противоречиях.
Если бы Вам предложили какой-нибудь алгоритм, вы бы вообще не попали.
Логическое заключение вида «вы умеете решать некоторую сложную физическую задачу без осознания алгоритма её решения» => «вы можете составить объективное мнение о человеке за несколько секунд» не имеет никакого смысла. Я даже не знаю, что тут еще добавить.
Можно выкладывать тестовые задания.
По некоторым тестовым заданиям можно сделать вывод, что компания существует на рынке уже несколько лет, не особо меняя методику найма.
публичные хобби-проекты.
Имею код на github уже почти пять лет, причем не просто какие-то библиотеки, а завершенные проекты, которые, конечно, не дотягивают до коммерческих, но некоторый код в них мной переносился и работодателям. Так вот с этого времени, только в одном собеседовании что-то спросили (меньше минуты), а остальным было мягко говоря «начхать».
ИМХО, но разбирать github нужно время, которого часто у интервьюера нет.
попросите его что-нибудь туда выложить
NDA нарушать? Ай-яй-яй, гражданин начальник.
Можно выкладывать тестовые заданияУ многих есть собственные проекты на GitHub, он практически из них и состоит
— человеку приходится часто проходить собеседования ( а значит, его скорее всего, часто увольняют). Значит, и Вы его, скорее всего, выставите за дверь, убив время на то, чтобы убедиться в том, что предшественники Ваши были правы, выставляя его на мороз;
— человек — адепт развития в стиле resume driven development. Значит, и Вы ему будете нужны только для того, чтобы набить свое резюме, а не решать проблемы Вашего бизнеса;
— у человека до фига свободного времени, что опять же, может косвенно говорить что ему плевать будет на Ваши проблемы, если этим ему не интересно заниматься. И пошлет он Вас легко, если у Вас падение боевого приложения, а у него настроение не фонтан.
Весь внимание, где в моих рассуждениях ошибка.
а значит, его скорее всего, часто увольняют
Минимум здесь логическая ошибка. Может он сам увольняется, может тестовые задания делает много, но редко, именно когда работу ищет.
значит, его скорее всего, часто увольняютПочему сразу увольняли? Например, меня, за более чем 20 лет карьеры увольняли всего 1 раз по надуманной причине и не смогли уволить. В итоге я ушел сам через 3 месяца, причем получил грамоту от Минкомсвязи. Я меняю сместо работы довольно часто, в среднем раз в 1.5 года. Но это становится нормой в ИТ сфере, поскольку длительность всовременного стартапа (взлетная полоса) варьируется в интервале 6 мес — 1.5 года. Зайдите на Upwork и посмотрите какова длительность проектов. И long term позиции там не в большинстве.
адепт развития в стиле resume driven developmentИменно! Попробуйте сегодня устроиться без резюме. От качества резюме зависят ваши шансы. Существует целая наука о том как составлять резюме. Каждый разработчик заботится о собственном резюме. Понятно, что за резюме должно быть что-то реальное.
Вы ему будете нужны только для того, чтобы набить свое резюмеРазработчик заинтересован в том, чтобы в резюме красовались знаменитые бренды, в этом нет ничего странного. Это как в универе, первые три сессии ты работаешь на зачетку, остальные сессии зачетка работает на тебя.
у человека до фига свободного временидалее идет очень странный вывод, комментировать его не могу, но что касается времени, то его действительно много, только большинство тратит его не на карьеру. Попробуйте отказаться от компьютерных игр, сериалов и тиктока и Вы заметите, что сможете делать по одному тестовому заданию в день
адекватного работодателя не должно заботить, как именно сотрудник тратит своё рабочее время
Рабочее?
А от неадекватных лучше держаться подальше
Согласен. Но бывает так, что приходишь в адекватную контору, она остается адекватной пару лет, а потом там меняется руководство и начинается игра в «приходизм-уходизм», брюки не по уставу, контроль за тем, что и куда пишешь, включая посты в ЖЖ в НЕРАБОЧЕЕ время. А на дворе 2008 год, на тебе ипотека, завязанная на эту самую контору (взятая в 2006 году на кредит от конторы, когда она была адекватной). И что делать?
адекватного работодателя не должно заботить, как именно сотрудник тратит своё рабочее время.
Разве что в том случае, если бэклог пустой. Если там задачи висят, то даже адекватному работодателю вполне логично спросить у сотрудника, почему он их в работу не берёт, а вместо этого работает над какими-то личными проектами в то время, которое он по договору отдал на решение задач работодателя?
некоторые работодатели могут позволить работать на OSS-проектами и в рабочее время.
Мало Вы в мире компаний знаете. Гугл, например, запрещает в НЕРАБОЧЕЕ время ковырять свой проект.
Бахвальство сплошное, уж простите.
Интервьювер, руководитель отдела разработки, был вполне вежлив и корректен.
К слову, кандидат был очень позитивен — принес распечатанное цветное резюме, принес диплом (мы его не просили). А самое забавное, кандидат принес с собой бумажный сертификат, выданный основателями крайне известного фреймворка для популярного ЯП.
И с первого шага в офис начал рассказывать, что он первый в России, кто получил такой вот сертификат от самих вот разработчиков фреймворка, и разворачивал его перед нами показывая свое имя (мы его не просили).
Возвращаясь к задачке. Собеседование закончилось примерно через 5 минут. На первую задачку, по базам данных — составить SQL-запрос (select from ...) длиной символов в 60 с пробелами — он сначала выдал грубо неправильный вариант, после уточнения — снова неправильный, а потом сказал «ну, мне нужен отладчик». Потом ему дали элементарную операцию, гораздо проще, чем Fizzbuzz.
Когда кандидат стал утверждать, что в байте — два бита, руководитель разработки поблагодарил за уделенное время, и покинул встречу.
Мне кажется что вы, gbr, либо никогда не нанимали программистов, либо никогда не отвечали за результат деятельности тех, кого нанимали.
А "дипломы, сертификаты, рекомендации (если есть), трудовая" как-то показывают нужные вам умения кандидата? Ну про рекомендации еще могу понять, хотя тоже есть вопросы. А остальное?
А комментарий, на который вы отвечали, был как раз про человека, который пришел с дипломами и сертификатами. А вот про алгоритмическую задачу там, внезапно, ничего не было.
На самом деле всё это сводится к одному: собеседование должно быть релевантно реальным требованиям позиции и предполагаемому (по резюме) опыту кандидата.
Ну да. Но вполне может быть, что SQL-запросы на позиции писать и правда надо. Или с векторами работать.
А еще бывают люди, которые считают, что алгоритмические задачки подобны катам — просто разминка для ума.
А еще бывают люди, которые считают, что алгоритмические задачки подобны катам — просто разминка для ума.
Бывают. А бывают люди, которые любят таким образом ум разминать в комфортной обстановке, а не в ситуации дикого time pressure и малознакомом окружении. :) Есть люди, которые любят ум разминать совсем другими задачами. Есть ещё 100500 типов людей, которые такое не пройдут просто потому, что.
Бывают. И некоторые из этих 100500 типов не подходят на позицию, а некоторые, возможно, подходят. Поэтому я не считаю, что один любой тест должен быть определяющим, но я и не считаю, что они лишние. Каждый из них что-то говорит о кандидате.
Подходит кандидат на позицию или нет можно выяснить следующим образом:
1) Обладает ли кандидат необходимыми для позиции навыками (выясняется резюме, собеседованием, релевантными задачами и косвенными способами).
2) Испытательный срок, в процессе которого п. 1 проходит подтверждение (или опровергается).
Ну, это то, чем я руководствуюсь.
Только изначально (в статье) речь шла о фильтрующих тестах. То есть не прошёл — всё, свободен. По крайней мере я понял именно так.
А вот так — на мой личный взгляд — можно делать только если поток кандидатов стабильный и на порядок больше, чем число вакансий. Я в своем опыте набора людей такой ситуации не видел никогда.
Как кандидат я такое видел пару раз, и оба раза — у рекрутинговых агенств.
Печально. Впрочем, я не удивлен, потому что у меня есть целый чемодан историй про вот таких вот "хантеров", которые приходили с "мы нашли ваш профиль, вы нам очень интересны, вот ознакомьтесь", а присланное описание вакансии прямо противоречит профилю, на который они ссылаются. Люди плохо делают свою работу.
Я в своем опыте набора людей такой ситуации не видел никогда.
2008 год, Нью Йорк — только такое и было. И, сдается мне, что сейчас скоро такое снова начнется — по десятку на вакансию с требованиями как задачки решать (порой в уме), так и рассказать почему именно вы подходите на эту вакансию
остальное это трудовая?
Нет, остальное — это "дипломы и сертификаты".
О наших работодателях и говорить нечего, попробуйте устроиться без трудовой, все сами поймете
Ну устроился же я как-то на свою первую работу.
Да и потом моя трудовая была нужна только отделу кадров, для того, чтобы все правильно оформить. А здесь, вроде как, речь о собеседовании идет, нет?
А здесь, вроде как, речь о собеседовании идет, нет?Пункт 2 (см. текст статьи) — наличие стажа. Он подтверждается трудовой книжкой.
Нет, второй пункт — это наличие опыта работы. Я прямо вот процитирую:
Наличие опыта работы. Если у кандидата есть опыт работы в ведущих компаниях отрасли, который насчитывает 5 лет и более
Для вас единственное подтверждение опыта работы — трудовая?
Сколько раз я был на собеседованиях — нигде и никогда меня не просили в качестве подтверждения опыта показать трудовую.
Получается, вы бы его отклонили из-за отсутствия диплома и стажа в трудовой. А в нашем случае он прошел успешно короткий (5 минут) опросник на тех.базис, и потом достаточно сложное техническое интервью с двумя интервьюверами, полуторачасовое. Само собой, потом — успешное прохождение испыталки и эффективная работа; это лишний раз подтвердило правильность наших методик оценки (благо довольно большой отдел был таким образом и создан почти с нуля).
Мне кажется что вы, gbr, либо никогда не нанимали программистов, либо никогда не отвечали за результат деятельности тех, кого нанимали.Вам кажется
Задачу он решал на бумажке и без доступа в интернет, а вся добродушная команда стояла над душой. Вы хотите найти оправдание неумению написать на бумажке ответ на вопрос без подвоха «сколько будет 2+2»?
Если вас спросят, вы ведь не скажете, что «ответ гуглится», или «дайте мне калькулятор»?
Задачки были примерно такой же сложности, непосредственно из предметной области программиста (у которого, к тому же, в резюме был заявлен опыт проектирования и оптимизации структуры БД).
Да, поинтересуйтесь, пожалуйста, где этот парень сейчас работает.Я примерно отслеживал потом его карьерный путь, т.к. в разные года в последующем периодически получал его резюме. К сожалению, хронология опыта и названия организаций не дают мне уверенности, что его профессиональная карьера сложилась удачно (на момент 2017 года, а первое интервью было в 2008). Сейчас linkedin профиль этого человека удалён.
Найм, видимо, будет выглядеть так: (монолог HR-а):
«Здравствуй, солнышко-кандидат, я так рад что вы пришли к нам, а вот случайно диплома у вас нет с собой? Ах, прекрасно, вы его с собой взяли! вот, печеньку скушайте, пожалуйста, хотите ещё чаю? А с малиновым вареньем? да, а помните, в том письме с котиками, которое я вам отправлял приглашая на встречу, мелким почерком было написано про трудовую книжку? ах, вы и ее взяли даже? оу, еле могу дышать от счастья; вы разумеется прошли собеседование, когда сможете приступать?»
Кстати, вы ведь, надеюсь, экзамены и дипломы тоже предлагаете отменить?
Помнится, каждый раз на экзамене — такой стресс был, когда тянул билет! А уж диплом так вообще… Как я выжил — не знаю.
Я считаю, что того факта, что я ходил в университет, достаточно, чтобы сделать выводы о моей достаточной квалификации, ведь в электронной базе охраны на проходной фиксируются мои входы в здание? Значит я имею право получить диплом об окончании вуза безо всяких там экзаменов и защит.
Есть вполне грамотные люди, которые в стрессовой ситуации даже 2 х 2 не могут решить. Т.е. стресс мешает трезво мыслить
Ну, да. Собеседование — это некоторый стресс. Примерно как сдача проекта или разбор какого-нибудь крупного бага. И если человек настолько нервный, что даже разговор о своих проектах и навыках его напрочь выбивает из рассудка, то скажите, на кой ляд он вам нужен в вашей команде? Вам мало профессиональных задач, вы ещё сопли утирать взрослым дядькам хотите?
Собеседование и решение тестов нельзя сравнивать с багфиксом. Я много лет фиксил баги и считаю, что это скорее как решение интересних ребусов, как возможность показать в очередной раз свой уровень, внести вклад. И разговоры бывают разные, и тон разговоров. И Ваше высказывание о вытирании соплей говорит скорее не о развитой корпоративной культуре, а об ее отсутствии
Я много лет фиксил баги и считаю, что это скорее как решение интересних ребусов
Это когда вы фиксите безликий тикет, он для вас занимательный ребус. А когда по каким-либо причинам в прод улетело что-то, из-за чего компания или её клиенты вот прямо сейчас теряют реальные деньги (а это бывает с кем угодно), то адреналина вам хватит, уж поверьте.
. И Ваше высказывание о вытирании соплей говорит скорее не о развитой корпоративной культуре, а об ее отсутствии
А, извините, не соплей, а выделений из носа. Я же не знал, что вы настолько это, как там его, телигент
А если серьёзно, не будьте ханжой, ради бога. Это никого не красит, честное слово.
Разве ошибки в проде не являются чем-то ненормальным и нестандартным, редким? Или в Вашей компании это норма и происходит постоянно? Если норма, то новичку нечего там делать. Скорее всего у вас бардак, невыстроенные процессы, нехватка ресурсов, нет код ревью и тестов, посредственный уровень разработчиков, обусловленный невозможностью нанять хороших или даже блатом и кумовством.
Корпоративная культура — единственная причина, по которой компания будет существовать, это как билет в будущее, многие этого не понимают.
Разве ошибки в проде не являются чем-то ненормальным и нестандартным, редким?
А собеседования — тоже штука ненормальная, нестандартная и, по-хорошему, редкая. В жизни программиста, в смысле.
Программирование — это творческая профессия.
Я бы сильно поспорил. Есть некоторые творческие направления, но для 99% программистов она в общем случае творческая первые пару лет, когда вы ещё нарабатываете опыт, придумывая себе решения, которые вы ранее не использовали. А потом это просто складывание хорошо знакомых кирпичей в очередное здание знакомой конструкции. Творчества остаётся столько же, сколько и в работе каменщика или там сантехника.
Разве ошибки в проде не являются чем-то ненормальным и нестандартным, редким?
Ошибки в проде являются чем-то очень нехорошим, но я ничего не слышал про существование компаний, в которых их не бывает. Это время от времени происходит в любой компании, от ЧП Пупкин до гигантов вроде Google. И также ничего не слышал про отсутствие авральных ситуаций, когда надо это исправить в сжатые сроки, и чтобы менеджер не дёргал программиста с вечным вопросом «ну когда же?».
Корпоративная культура — единственная причина, по которой компания будет существовать, это как билет в будущее, многие этого не понимаю
Корпоративная культура код вам не напишет и не продаст. Более того, если вы ей сильно увлечётесь, она вашу компанию и похоронит. Эффективное управление персоналом лежит посередине между неуправляемым бардаком и заформализованными процессами вкупе с наигранной обходительностью во всех коммуникациях.
Творчество — процесс деятельности, создающий качественно новые материалы и духовные ценности или итог создания объективно нового. Основной критерий, отличающий творчество от изготовления (производства), — уникальность его результата.Труд программиста, в основном, уникален, поскольку повторяющиеся фрагменты кода складываются в библиотеки классов. С учетом определения творчества, труд программиста творческий, т.к. он создает, то есть творит и всегда что-то новое. Можно возразить, дескать у многих программистов нет свободы выбора — это не так, свобода выбора способа решения задачи, даже минимальная, всегда сохраняется.
но я ничего не слышал про существование компаний, в которых их не бываетВсе правильно, в хороших компаниях это происходит редко, тут Вы мне не противоречите. Но я хотел бы добавить, что не в каждой компании баги на проде превращаются в непрерывную истерику менеджмента.
если вы ей сильно увлечётесь, она вашу компанию и похоронитСмотря что Вы понимаете под корпоративной культурой. Корпоративная культура некоторых сообществ позволяла им выжывать в самых экстремальных ситуациях на протяжении столетий и в итоге влиять на судьбы мира, все зависит от сути и качества этой самой корпоративной культуры.
С учетом определения творчества, труд программиста творческий, т.к. он создает, то есть творит и всегда что-то новое.
Видели слово "качественно" в определении? Это то самое слово, которое отличает творчество от сборки по схеме, и которое, в случае программирования, формализовать весьма непросто.
Но я хотел бы добавить, что не в каждой компании баги на проде превращаются в непрерывную истерику менеджмента.
От отсутствия истерики менеджмента баг на проде еще не превращается в прогулку в парке. Баг на проде перестает быть стрессом только тогда, когда он, внезапно, рутина — то есть происходит часто. Забавное противоречие, не правда ли?
В этом контексте «качественно новые» обозначают несуществующие на данный момент, обладающие новыми качествами
Ну то есть каждый раз, когда я собираю шкаф по инструкции, я делаю творческую работу — ведь этого шкафа на данный момент не существует. Черт, какая приятная мысль.
Код, обладающий теми же самыми качествами не создается повторно
Да ладно вам. Мне казалось, это каноническое определение велосипедного кода.
когда я собираю шкаф по инструкцииЕсли бы разработка сводилась к такой вот сборке, этот процесс давно бы уже автоматизировали, сравнение со шкафом неудачное
это каноническое определение велосипедного кодаНо с точки зрения программиста это все равно творчества, поскольку он не знает о другой реализации. Да и абсолютно одинаковых велосипедов Вы не встретите, если это не копипаст, согласитесь?
этот процесс давно бы уже автоматизировали
Знаете, в разработке есть много вещей, которые кто-то автоматизировал, а кто-то делает вручную и говорит, что у него работа творческая.
сравнение со шкафом неудачное
Аналогии вообще врут, это им свойственно.
Но с точки зрения программиста это все равно творчества, поскольку он не знает о другой реализации.
"С точки зрения программиста" что угодно может быть творчеством, потому что приятно же думать, что творчеством занимаешься. Но нас-то интересует, творческая ли это профессия (и более ли она творческая, чем профессия установщика шкафов на заказ).
Лично я, впрочем, склонен думать, что атрибут "творческая" не имеет никакого практического смысла и не означает, что программист, как представитель "творческой профессии", заслуживает какого-то другого отношения, нежели представители других,
"нетворческих" профессий.
Да и абсолютно одинаковых велосипедов Вы не встретите
Я и двух абсолютно одинаковых икейских шкафов не видел, даже если я сам их собирал.
С учетом определения творчества, труд программиста творческий, т.к. он создает, то есть творит и всегда что-то новое.
Скажите, прокладка труб сантехником в вашей квартире, которая отличается от оной в других квартирах аналогичной планировки, является чем-то качественно новым, а следовательно, творческой деятельностью?
не в каждой компании баги на проде превращаются в непрерывную истерику менеджмента.
Я и не писал про непрерывную истерику менеджмента. Я просто сравнивал уровень стресса при решении подобных проблем и при прохождении собеседований. Разве собеседования — это непрерывная истерика эйчара?
Программирование — это творческая профессия.
1. Я собеседовал ~100 человек за последние годы, и не нашёл корреляции между полученным дипломом и эффективностью сотрудников.
2. Да, у меня нет профильного диплома высшего образования, я благополучно работаю ведущим разработчиком/тим-лидом много лет в разных компаниях, и никогда это не было препятствием к трудоустройству.
Что я делаю не так?
Возможно автор один из ярых фанатов собственного факультета/вуза, считающий что раз там так сложно было учиться, то тех кто таки смог, обязаны брать без дополнительных подтверждений.
А разве все эти темы не субъективны?
Я вот выше вас в позиции, не имею образования, но наоборот, вижу корреляцию и ценю ее.
А с задачами, — напротив, мне отвратителен фанатизм вокруг заучивания информации.
Мне искренне кажется смешным, что сообщества вроде хабра не способны увидеть проблему, которую поднимают статьи вида "Как пройти вайтбординг", где одним из первых советов будет — не давать идеальный вариант решения сразу, чтобы у собеседующего создалось ощущение, будто вы размышляете и пришли к решению итеративно.
И тимлидов я в своей жизни повидал не мало.
9 из 10 как руководители представляли из себя ничего
И общаемся мы про все это на сайте, где разработчиков нанимают тестами, да тимлидами.
Вот только на этом сайте, даже комментарий нельзя доверить обычному текстовому полю.
Потому, все это пишу вам дважды
Мне кажется, что наш жизненый опыт представляет из себя не лучший аргумент
Сейчас я сам прохожу собеседования, и пришёл к выводу, что что бы получить хороший оффер, не нужно быть хорошим программистом, а нужно хорошо проходить собеседования. Такая же политика в универах, что бы получить диплом — не нужно знать предмет, нужно сдать экзамен. А в большинстве случаев, это совершенно разные вещи.
По поводу онлайн тестирования. Я считаю это необходимостью и ничего страшного в этом не вижу.
сам проходил много тестов, и хорошо и плохо… опыт 15 лет промышленной разработки, full stack, опыт разработки электроники, менеджер проекта — решал очень сложные задачи, от распознавании образов до онлайн 3D конструктора, написал свой ёфикатор… на собеседовании в Фейсбук не смог догадаться что задача на нормализацию скобок решается стеком — начал на ходу изобретать своё решение, в итоге не успел за 45 минут… задача решается за 15 минут если сталкивался с ней раньше…
на мой взгляд, вместо того чтобы давать задания нужно подключиться удалённо к кандидату и дать ему возможность рассказать о его проектах.
да, согласен. с другой стороны проверять что человек знает бессмысленно, потому что если он что-то не знает то узнает что скоростью пинга Google… ну и что? важно чтобы человек мог провести эксперимент и выяснить что не так с кодом в различных ситуациях и как это исправить. деньги же нам платят в конце концов не за скорость и знание, а за то что мы решаем какие-то реальные бизнес-задачи
Кстати я проходил тестовый день, точнее это была тестовая ночь — компания работает по американскому времени в Москве. ЗП предлагали сильно выше чем у сеньора по рынку, (ЗП была просто конская). В этот тестовый рабочий день я пофиксил баг в незнакомой мне системе, мои шансы стали очень высоки, но на следующий день я отказался. 1) Компания не софтверная, два разработчика пилят CRM-ку для себя. 2) Работать с 18:00 до 3:00 (1 час на бед) оказалось нереально сложно. Даже адаптировавшись я не смог бы нормально общаться с семьей, поскольку днем я бы отсыпался, да и в выходные дни был бы вынужден жить по такому же распорядку. 3) Бэкенд на Node.js и взаимодействие с БД представляет собою спагетти-код от земли до неба и глядя на все это, и вспоминая .net, EF, Linq, я понял, что это будет не работа а мучение.
Очень расстраивают компании, которые ища джунов, дают им 12 часов на реализацию решения задачи на самостоятельно написано фреймворке
Джун — понятное растяжимое, но не настолько ИМХО
Онлайн тестирование — вы серьезно?