Лучший ответ

    1.  1 0

    Proi 4 (1153)313 16 лет  

    В личных разговорах и в сети я регулярно слышу мнение “Любой программист должен знать X, Y и Z”. Естественно, каждый раз люди называют в этом обязательном списки совершенно разные предметы. Lisp, C, Java, Python, Ruby, Javascript, ассемблер, высшая математика вообще и отдельные ее разделы в частности, английский язык, архитектура x86, design patterns, HTML, основы веб, javascript, принципы юзабилити, принципы параллельного программирования, регулярные выражения, XML, SQL, реляционные БД, теория сложности алгоритмов, lambda calculus и основы функционального программирования, архитектура Windows и Linux, 65535 других вещей. При найме программистов это мнение, за неимением лучшего, часто пытаются превратить в критерий отбора кандидатов.

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

    Проблема в том, что набор “обязательного минимума знаний” часто формируется менеджером проекта (бывшим программистом) на базе собственного опыта, а не требований проекта. Если такой менеджер долго писал на C++ и научился на нем замечательным вещам, то он будет требовать от кандидатов знания C/C++. Даже если это абсолютно бесполезно для текущего проекта. И для всех будущих проектов тоже. Причина может быть и в инерции мышления и в стремлении найти “идеального программиста”, который не “может знать X, Y и Z”. И в том и в другом случае вы ухудшаете свои шансы найти лучшего кандидата.

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

    Надо сказать, что если бы в идее “обязательного минимума” не было здравого зерна, она не была бы так привлекательна. Да, некоторые базовые знания необходимы, хотя бы для того, чтобы разработчики могли понять друг друга. Разумеется, не всем нужным вещам можно обучиться за пару месяцев. Именно по этой причине брать в команду веб-проекта C++-программиста, предыдущие 10 лет разрабатывавшего системы видеонаблюдения, - плохая идея. Впрочем, если кандидат сам горит желанием перейти в вашу область, это может изменить ситуацию.

    Попробую описать правильное использование “обязательного минимума” при отборе кандидатов, как я его вижу.

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

Ответы

    1.  0 0

    timuchin 6 (10980)2919 16 лет  

    как его зовут

    1.  0 0

    AH4oyC 6 (10722)41656 16 лет  

    Кто он есть на самом деле и что из себя представляет!

    1.  0 0

    Zyker3 6 (19949)8164395 16 лет  

    кто он такой

    1.  0 0

    Kucher (34) 6 (10056)32563 16 лет  

    что он человек

    1.  0 0

    Жопа (34) 7 (21893)73076 16 лет  

    отца и мать.

    1.  0 0

    Sergey2pac (2024) 7 (47030)440201 16 лет  

    Ну блин что мне теперь книгу писать что ли?

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

Рейтинг@Mail.ru Top.LV PULS.LV Professional rating system