Собеседования. Найм программистов.
От: msk78 Россия http://miccro.livejournal.com
Дата: 17.09.08 10:45
Оценка: 88 (30) +20 -7 :))) :))) :))) :))) :)))
Ответ автору темы "в очередной раз о собеседованиях" (http://rsdn.ru/forum/message/3094939.1.aspx
Автор: mymuss
Дата: 09.09.08
)

Собеседования. Найм программистов.
(сильно не ругайте А ругайте несильно )

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

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

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

На самом деле зачастую программист — это лопатная работа, не требующая сверх-навыков мышления. На неё отлично подходят вполне посредственные люди.

Теперь давайте посмотрим на примере одного из наших проектов, к чему приводит достаточно сложное тестовое задание и/или решение кандидатами головоломок. С одной стороны наняты творческие люди с хорошими математическими способностями, программисты до мозга и костей, люди, которые лучше просидят за ЭВМ всю ночь, чем будут трахать свою жену хотя бы раз в неделю. Такой программист полностью переписал механизм сессий, реализованный Майкрософтом, для коммерческого веб-проекта из трёх страничек с примитивными операциями типа getAllUsers() и getAccountByID(departmentID). Этому человеку стандартная обработка сессий, видите ли, показалась недостаточно универсальной. Как результат, этот проект делался около года, он очень тяжёлый в поддержке, куча багов, относящихся к реализации сессий, а не к бизнес-логике. Хотя сам по себе проект простой, но на него работодателю очень тяжело нанять людей, так как в нём задействовано очень много редко используемых технологий. Собеседования проводит сам же этот программист и отсеивает большую часть народа. Помню, некоторых даже выгоняли с этого проекта. В результате геморрой только у работодателя — с наймом персонала, поддержкой плюс недовольство заказчика.

Пример из другого проекта. Были наняты подобные люди (мегамозги), которых не устроил майкрософтовский WCF и они написали свой и ещё много чего наворотили. Результат:
— они уже сами толком не помнят, как это работает;
— Работает всё это жутко медленно;
— глюкает жутко, ибо всё сложно, куча багов;
— в некоторых случаях работает не в соответствии с бизнес-логикой;
— проект тяжёл в поддержке;
— тяжело найти людей

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

А теперь посмотрим, что после всего этого происходит на рынке труда.

Частенько уже наняв (!) C# программиста, работодатель предлагает ему поддерживать уже существующий проект на какой-нибудь старой (!) технологии. Как следствие мегамозг на таком проекте чувствует себе неудовлетворённым и в итоге увольняется, ибо ему скучно. Мегамозгу плохо, но на самом деле хуже всего работодателю — снова нужно искать нового человека, которого опять надо обучать. Итак рационализаторское предложение такой конторе: давайте не будем выпендриваться, наймём обычных людей, знающих, как держать молоток и умеющих просто им работать. И не надо нанимать лётчика-космонавта и слесаря в одном лице. Будьте проще!


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


В качестве заключения.
Мегамозгов нанимать можно, но только использовать их под чутким руководством прагматичных людей и только там, где это действительно надо.
Можете спрашивать хоть сколько яичек у гиппопотама, но задумывайтесь при этом, что получите в результате.
Следствием всего этого является огромное количество неуспешных проектов.
Re: Собеседования. Найм программистов.
От: a_g_barnaul Россия  
Дата: 17.09.08 11:13
Оценка: 25 (7) +25
Со многим согласн, кое что почти так.. но надо работать напильником.... но вот тут не правы:

M>Новый проект. Работодатель нанял мегамозгов. В долгосрочной перспективе имеет кучу геморроя с поддержкой проекта и наймом персонала. В итоге работодатель материться, теряет деньги, снова вынужден набирать мегамозгов за дорого, ибо в этом коде, похожем на густое дерьмо, являющемся дьявольским сплетением самых новых, сложных и никому ненужных технологий, простому среднему программисту разобраться очень тяжело. Нанятые же мегамозги-маньяки увольняются через полгода, потому что не хотят заниматься поддержкой, не хотят править JavaScript и старые юнит-тесты.


Ну какой же это мего мозг? Я таких студентво видел чаще, он вродь чувствует что прогромирует лучше в группе, и начинает на этой волне выделываться=)

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

Те у кого это не получается, и кто ваяяет супер умно-сложные конструкции, только растут до мегомозга=)
Re[2]: Собеседования. Найм программистов.
От: vb-develop  
Дата: 17.09.08 13:16
Оценка: 1 (1) +2
Здравствуйте, a_g_barnaul, Вы писали:

__>Со многим согласн, кое что почти так.. но надо работать напильником.... но вот тут не правы:


M>>Новый проект. Работодатель нанял мегамозгов. В долгосрочной перспективе имеет кучу геморроя с поддержкой проекта и наймом персонала. В итоге работодатель материться, теряет деньги, снова вынужден набирать мегамозгов за дорого, ибо в этом коде, похожем на густое дерьмо, являющемся дьявольским сплетением самых новых, сложных и никому ненужных технологий, простому среднему программисту разобраться очень тяжело. Нанятые же мегамозги-маньяки увольняются через полгода, потому что не хотят заниматься поддержкой, не хотят править JavaScript и старые юнит-тесты.


__>Ну какой же это мего мозг? Я таких студентво видел чаще, он вродь чувствует что прогромирует лучше в группе, и начинает на этой волне выделываться=)


__>А настоящие мегомозги=)) с которыми приходилось работать,это люди которые знают: чем проще тем гинеальний, одна из главных задач — упростить! чтобы этим кодом,даже если не вполне поймет, то уж пользоваться, мог любой вменяемый программист.


__>Те у кого это не получается, и кто ваяяет супер умно-сложные конструкции, только растут до мегомозга=)


Наверное, имелся ввиду мегамозг, круто решающий логические задачи и в совершенстве владеющий теорией программирования, как правило с амбициями, но без особо выдающегося практического опыта, потому как они отсеиваются на странных собеседованиях где проверяется знание не-пойми-чего-не-знаю-зачем.
Re[3]: Собеседования. Найм программистов.
От: lollipop  
Дата: 17.09.08 14:25
Оценка:
Здравствуйте, vb-develop, Вы писали:

VD>Здравствуйте, a_g_barnaul, Вы писали:


__>>Со многим согласн, кое что почти так.. но надо работать напильником.... но вот тут не правы:


M>>>Новый проект. Работодатель нанял мегамозгов. В долгосрочной перспективе имеет кучу геморроя с поддержкой проекта и наймом персонала. В итоге работодатель материться, теряет деньги, снова вынужден набирать мегамозгов за дорого, ибо в этом коде, похожем на густое дерьмо, являющемся дьявольским сплетением самых новых, сложных и никому ненужных технологий, простому среднему программисту разобраться очень тяжело. Нанятые же мегамозги-маньяки увольняются через полгода, потому что не хотят заниматься поддержкой, не хотят править JavaScript и старые юнит-тесты.


__>>Ну какой же это мего мозг? Я таких студентво видел чаще, он вродь чувствует что прогромирует лучше в группе, и начинает на этой волне выделываться=)


__>>А настоящие мегомозги=)) с которыми приходилось работать,это люди которые знают: чем проще тем гинеальний, одна из главных задач — упростить! чтобы этим кодом,даже если не вполне поймет, то уж пользоваться, мог любой вменяемый программист.


__>>Те у кого это не получается, и кто ваяяет супер умно-сложные конструкции, только растут до мегомозга=)


VD>Наверное, имелся ввиду мегамозг, круто решающий логические задачи и в совершенстве владеющий теорией программирования, как правило с амбициями, но без особо выдающегося практического опыта, потому как они отсеиваются на странных собеседованиях где проверяется знание не-пойми-чего-не-знаю-зачем.

Ага. Самого раз отсеяли — незнал зачем крышки круглые (кто знает тот знает) . Ощущения — боль ... обида. Злость в первую очередь на себя. Щас зп больше чем там предлагали в 2 раза. Контора больше. Много бонусов. Интересная работа. Переспективы роста.
Спустя время даже благодарен что невзяли.
Re[2]: Собеседования. Найм программистов.
От: IT Россия linq2db.com
Дата: 17.09.08 14:38
Оценка: +1
Здравствуйте, a_g_barnaul, Вы писали:

__>Ну какой же это мего мозг? Я таких студентво видел чаще, он вродь чувствует что прогромирует лучше в группе, и начинает на этой волне выделываться=)


Точно. Типичный синдром первого парня на деревне.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re: Собеседования. Найм программистов.
От: bastrakov Россия http://bastrakof.livejournal.com/
Дата: 17.09.08 15:26
Оценка: 47 (11) +5
Здравствуйте, msk78, Вы писали:

M>Ответ автору темы "в очередной раз о собеседованиях" (http://rsdn.ru/forum/message/3094939.1.aspx
Автор: mymuss
Дата: 09.09.08
)


бессмертная тема. может на нее автобан обьявить?!..

M>Теперь давайте посмотрим на примере одного из наших проектов...


ошибка менеджера: ошибка при найме, пустил на самотек, "приме" дали права управления.

M>Пример из другого проекта...


ошибка менеджера.

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


послушайте старого. ищите женщину! однотипную монотонную работу она выполняет лучше.

M>А теперь посмотрим, что после всего этого происходит на рынке труда.


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

M>Частенько уже наняв (!) C# программиста, работодатель предлагает ему поддерживать уже существующий проект на какой-нибудь старой (!) технологии...

M>Новый проект. Работодатель нанял мегамозгов...

ошибка менеджера: ошибка при найме.

M>Следствием всего этого является огромное количество неуспешных проектов.


чесслово, проблемы того самого (упомянутого выше) манагера.

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

p.s. ...и до сих пор мне никто не рассказал, что делать, если проект просто сдают. по плану деплойментов. ни авралов, ни славы, ни кто тебя не знает кроме пользователей. ты не "звезда"!
во
Re[4]: Собеседования. Найм программистов.
От: baxton_ulf США  
Дата: 17.09.08 15:27
Оценка:
Здравствуйте, lollipop, Вы писали:

[...]
L> Спустя время даже благодарен что невзяли.

иногда, не получить того, что хочешь это и есть... повезло
Re[2]: Собеседования. Найм программистов.
От: grosborn  
Дата: 17.09.08 15:41
Оценка:
> p.s. ...и до сих пор мне никто не рассказал, что делать, если проект просто сдают. по плану деплойментов. ни авралов, ни славы, ни кто тебя не знает кроме пользователей. ты не "звезда"!
> во

Что делать-что делать... бояться надо! В душе. Если у тебя лучше, чем в среднем по больнице, это ещё не значит, что навсегда и строго по причине твоей гениальности Любые достижения легко ломает легкое движение рынка. И что бы не кусать потом локти "ах было же хорошее время, не накопил жирку к осени...".
Posted via RSDN NNTP Server 2.1 beta
Забанен на рсдн за применение слова "Маргинал"
Re: Собеседования. Найм программистов.
От: minorlogic Украина  
Дата: 17.09.08 16:33
Оценка: 4 (2) +3
Не переворачивайте с ног на голову.

Применение сложных решений при возможности использовать простые , это яркий признак неопытности програмиста.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[2]: Собеседования. Найм программистов.
От: Dog  
Дата: 17.09.08 16:34
Оценка: +1 :))) :))) :))) :)))
B>p.s. ...и до сих пор мне никто не рассказал, что делать, если проект просто сдают. по плану деплойментов. ни авралов, ни славы, ни кто тебя не знает кроме пользователей. ты не "звезда"!
Что делать что делать. Ошибка менеджера. Сроки надо было меньше ставить
... << RSDN@Home 1.2.0 alpha rev. 730>>
Re: Собеседования. Найм программистов.
От: Starlight США  
Дата: 17.09.08 17:28
Оценка: 1 (1) +3
Здравствуйте, msk78, Вы писали:

M>Мегамозгов нанимать можно, но только использовать их под чутким руководством прагматичных людей и только там, где это действительно надо.


Мегамозг != хороший программист.

Личный пример. Я сейчас работаю в Microsoft AdCenter, это та самая группа, которая отвечает за поисковую рекламу в MS и является по сути прямым конкурентом гугла. От качества нашего кода зависят миллионные прибыли, которые мониторятся почти в реальном времени. Люди здесь работают отнюдь не глупые.

Так вот, код здесь очень простой и хорошо структурированный. Разобраться в нём с нуля более-менее хорошо можно всего за неделю. Вот этот код пишут как раз хорошие программисты, у которых так же хорошо и с мозгами. А те "мегамозги", про которых идёт речь, больше похожи на студентов без опыта, начитавшихся модных книжек. И работодателю нужно уметь отличать таланливых программистов от таких "мегамозгов", которые знают WCF, AJAX, JSON и много других страшных слов.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re: Собеседования. Найм программистов.
От: EugeneIvanov Земля http://e-ivanov.ru/portfolio/
Дата: 17.09.08 17:42
Оценка:
Здравствуйте, msk78, Вы писали:

хорошая точка зрения (-;
Re: Собеседования. Найм программистов.
От: ononim  
Дата: 17.09.08 18:28
Оценка:
Не путаейте мегамозгов и велосипедистов. Противоположные вещи.
Как много веселых ребят, и все делают велосипед...
Re: Собеседования. Найм программистов.
От: Maxim S. Shatskih Россия  
Дата: 17.09.08 19:04
Оценка: 1 (1) +3
M>Мегамозгов нанимать можно

На многих проектах действительно достаточно посредственностей. Мегамозги мало где реально нужны.

Мегамозг там, где он не нужен — скорее зло.

К тому же некоторые строят из себя мегамозгов, таковыми не являясь (юнцы).
Занимайтесь LoveCraftом, а не WarCraftом!
Re: Собеседования. Найм программистов.
От: VovkaMorkovka  
Дата: 17.09.08 19:21
Оценка: 5 (2) -3
Дело в том, что "обычные усидчивые люди" не идут в программисты, слишком многое надо преодолеть: отучиться в вузе, научиться педалить в то время как другие за девками бегают ибо институт ничего в плане обучения не дает. Для всего вышесказанного нужна сила воли и мотивация, у "обычного усидчивого человека" нет ни второго ни первого ибо щи лаптем хлебать можно и без образования программиста...
Ну вот и получается, что программисты это те, которые пришли за зарплатой и готовы ее зубами вырвать, либо те, кто хочет делать сложные захватывающие вещи и не хочет корпеть над багфиксом. Чаще всего это то и другое вместе.
Re[2]: Собеседования. Найм программистов.
От: mymuss  
Дата: 17.09.08 20:14
Оценка: :)))
Здравствуйте, Starlight, Вы писали:

S>Так вот, код здесь очень простой и хорошо структурированный. Разобраться в нём с нуля более-менее хорошо можно всего за неделю. Вот этот код пишут как раз хорошие программисты, у которых так же хорошо и с мозгами. А те "мегамозги", про которых идёт речь, больше похожи на студентов без опыта, начитавшихся модных книжек. И работодателю нужно уметь отличать таланливых программистов от таких "мегамозгов", которые знают WCF, AJAX, JSON и много других страшных слов.


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

PS: данный вопрос задаю не для того, чтобы делать далекоидущие выводы о наличии или отсутствии связи между знаниями элементарной математики и качестве кода.
Re[3]: Собеседования. Найм программистов.
От: Starlight США  
Дата: 17.09.08 21:50
Оценка: :)
Здравствуйте, mymuss, Вы писали:

M>Спасибо, интересно. А скажите, есть ли шанс попасть в Вашу команду человеку, не знающему, скажем, площадь круга (допустим, каким-то образом это выясниться на интервью)?


Это зависит от того, что еще знает этот человек. Например, человек знает весь курс "вышки", разбирается в плотностях вероятностей, знает многопоточное программирование, архитектурит неплохо, но вот сейчас, блин, забыл площадь круга. Значит ему можно напомнить эту формулу, и после этого он будет знать всё. Так почему бы не взять человека, который всё знает и умеет?

На практике, однако, люди, не помнящие площадь круга, частенько (хотя и не обязательно) не помнят и многих других вещей.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re: Собеседования. Найм программистов.
От: landerhigh Пират  
Дата: 17.09.08 23:04
Оценка: :))
Здравствуйте, msk78, Вы писали:

M>Теперь давайте посмотрим на примере одного из наших проектов, к чему приводит достаточно сложное тестовое задание и/или решение кандидатами головоломок. С одной стороны наняты творческие люди с хорошими математическими способностями, программисты до мозга и костей, люди, которые лучше просидят за ЭВМ всю ночь, чем будут трахать свою жену хотя бы раз в неделю. Такой программист полностью переписал механизм сессий, реализованный Майкрософтом, для коммерческого веб-проекта из трёх страничек с примитивными операциями типа getAllUsers() и getAccountByID(departmentID).

Это, наверное, программист, в совершенстве знающий формулу площади круга
www.blinnov.com
Re[2]: Собеседования. Найм программистов.
От: alcotras  
Дата: 18.09.08 06:59
Оценка:
Здравствуйте, VovkaMorkovka, Вы писали:


VM>Ну вот и получается, что программисты это те, которые пришли за зарплатой и готовы ее зубами вырвать


Я и смотрю — вырывают максимум 100 штук. Вырыватели, блин Демпингеры сплошние!
Re[4]: Собеседования. Найм программистов.
От: Lloyd Россия  
Дата: 18.09.08 07:17
Оценка: +4
Здравствуйте, Starlight, Вы писали:

S>Это зависит от того, что еще знает этот человек. Например, человек знает весь курс "вышки", разбирается в плотностях вероятностей, знает многопоточное программирование, архитектурит неплохо, но вот сейчас, блин, забыл площадь круга. Значит ему можно напомнить эту формулу, и после этого он будет знать всё. Так почему бы не взять человека, который всё знает и умеет?


Имхо, человек может забыть площадь круга только в том случае, если в свое время она была банально заучена, без попытки понять, откуда она берется.
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.