Четыре типажа программистов

    Привет.


    Я впервые пишу в поток об управлении и найме персонала. Речь пойдет об одном из способов классифицировать ваших будущих или действующих программистов. Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Попытка направить неправильный типаж на решение неподходящих для него задач ведет к провалу (неэффективная работа, или сотрудник покидает команду). Хотите знать почему так — добро пожаловать под кат. Приготовьтесь, текста много.


    Некогда, забавы для и пользы ради, я подрабатывал в одном неплохом кадровом агентстве — собеседовал приходящих программистов на предмет знания C#/.NET. В мои обязанности не входило полное техническое интервью — скорее, начальный скрининг кандидатов чтобы понять who is who, отфильтровать совсем уж ужас и в случае чего дать советы что почитать и как усовершенствовать навыки. И был у того кадрового агентства один интересный клиент. Он у всех на слуху, но тогда мне про него мало что сказали — я только понял, что вроде как ищет он rock stars — высококвалифицированных разработчиков, при том независимо от используемых технологий. После того, как я порекомендовал для них несколько человек — со мной связалась заместитель ген. директора и пригласила на встречу, ибо мои рекомендации не совсем устраивали заказчика. Так я познакомился с учредителем. Там мне была рассказана очень интересная история о том, зачем им нужны rock stars и как это всё вместе работает. Оказалось что вовсе не rock stars нужны. Нужны, как дал мне понять руководитель — люди с крепкими фундаментальными знаниями (алгоритмы, проектирование, операционные системы, сетевые технологии), которые будут готовы к росту и развитию. И вот они их берут и развивают, а затем отправляют реализовывать довольно сложные аутсорс-проекты. Заодно мне рассказали какие проблемы в этом плане испытывает компания. Я ушел в раздумьях и довольно долго катал в голове эту бизнес-модель, равно как и мысли о российской IT-индустрии в целом и политике работы с кадровым составом в частности.


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


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


    Линейный программист


    Соль индустрии IT-шной. На таких людях, говорят, мир держится. Он же "хомячок". Он же "гребец на галере", но я предпочитаю избегать таких ярлыков, поэтому просто — "линейный программист". Он не хватает звезд с неба, не пишет своих компиляторов и СУБД. Ну максимум — сделает пару инструментов, чтобы облегчить себе жизнь, в остальном — просто решает рабочие задачи. Редко меняет место работы. Усидчив. К работе относится как к работе, без особого энтузиазма. В меру ленив. Дисциплинирован (но бывают исключения), однако без надлежащего управления быстро "расхлябывается" и теряет фокус. Управлять такими людьми можно по стандартным методикам — описанным например в книге Дж. Рейнвотера — Как пасти котов. Квалификация может варьироваться и определяется исключительно опытом и количеством проектов, в которых линейный программист принял участие. Иногда квалифицированные линейные программисты попадают на минимальные управленческие должности — их нарекают team lead и тут-то вышеуказанная книга им и пригождается. Но самая главная особенность линейного программиста — весьма частое отсутствие желания развиваться и экспериментировать. Он прекрасно решит даже очень нудную задачу, которую вы ему предложите, если та не будет слишком сложной. Он выберет как можно более быстрый и прямолинейный инструмент из тех, что знает. Развитие для этих людей носит спорадический характер и в основном идет "вширь": изучить новый фреймворк или новый инструмент, который поможет лучше решать повседневные рабочие задачи. Или "пришел заказчик, который использует вот такую штуку — ну что уж, будем разбираться". Примечательно, что знания полученные в результате спорадического развития отдельных линейных программистов как раз и составляют опыт аутсорс-компании. Однако, двигать горы и исследовать окружающий мир "вглубь" самостоятельно линейного программиста чаще всего просто не тянет. Например изучать новый, хайповый язык программирования ему просто не интересно. Только если новый язык помогает в решении повседневных задач. И уж тем более разрабатывать свой язык — увольте. И это — нормально. Хуже всего то, что линейные программисты "каменеют" когда долго сидят на одном месте. То есть если у вас есть человек, который стабильно занимается концептуально одними и теми же проектами на протяжении 3-5 лет — то очень маловероятно, что он сменит типаж и будет развиваться "вглубь". Но вот раньше этого эмпирического срока — все возможно и зависит от бэкграунда.


    Бэкграунд: разный. В "линейных программистах" могут оказаться и люди, прошедшие онлайн-курсы, и выпускники ВУЗов, некоторые олимпиадники, бывшие ученые технических направлений и даже люди из концептуально другой профессии (известны случаи когда дальнобойщики становились разработчиками на PHP). Важно понимать, что линейный программист — само по себе является бэкграундом и почвой для прыжка в другой типаж. Но! Прыгнет человек или нет — зависит прежде всего от его личных желаний, а не от навыков. Наличие того или иного бэкграунда определяет лишь направление потенциального прыжка, а не его вероятность! А вот вероятность прыжка с течением времени резко падает. Однако если вам нужен верный сотрудник на долгосрочный контракт — научитесь выявлять желающих "прыгнуть" заранее. Сбежит с проекта — будет неприятно.


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


    Сильные стороны: усидчивость, ответственность, коммуникабельность (раз на раз), полная контролируемость, спокойное поведение в стрессовых для проекта ситуациях


    Слабые стороны: сложные и/или нестандартные задачи, абстракции, поведение в стрессовых для компании ситуациях, говнокод опять же


    Собеседование: стоит уделить внимание психологии: усидчивость, дисциплинированность, коммуникативные навыки, стремления, вот это всё. Так же имеет смысл поговорить о предыдущем опыте и посмотреть в резюме. Дать стандартное тестовое задание а-ля "написать чат на web sockets", смотреть на сроки выполнения, "вылизанность" задачи и адекватность подобранных инструментов. Хорошо идут технические вопросы на знание языков, протоколов, паттернов и стандартных бибилотек. Плюсом будет если соискатель уже имеет опыт конкретно с вашим набором фреймворков, но если нет — не беда. Если все остальное в порядке — разберется. Это его работа.


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


    Rock star (Software Scientist)


    Концентрированный исследователь. Такие больше похоже на классических ученых, но только от IT. Им интересны алгоритмы, теоретические исследования, концептуально новые направления в индустрии, но прежде всего — им интересно экспериментировать. Ради этих экспериментов их и нанимают, собственно. Они готовы часами копаться в сложных штуках и решать задачи, постановка которых другим людям даже не понятна. Они — эксперты в сложных вопросах. Они точно знают в каких случаях q-sort стоит заменить на heap sort и чем они отличаются, или может быть какие алгоритмы кластеризации подойдут для анализа потока биржевых котировок, а иные знают какие оптимизации используются внутри g++ и как они помогают жить. Костяк таких людей, например, способен разработать новый язык программирования и компилятор к нему. Или значительно улучшить какую-бы то ни было существующую систему. Еще они часто предрасположены к функциональному программированию. Ни на что не намекаю — просто статистическая закономерность. Кстати, говнокодить rock stars могут (особливо на стадии прототипирования идей), но в массе своей не допускают плохой код до финальных версий разрабатываемых ими вещей, стараются сделать все красиво, с комментариями и удобными программными интерфейсами.


    Но.


    Как всегда есть "но", которое все портит. Важно понимать что ни при каких условях эти люди не будут решать ваши задачи. То есть да — rock stars будут решать те задачи, которые интересны им. За ваши деньги. И при том — за большие деньги. И при том — не факт что будет какой-то результат. То, что ваши задачи совпали с задачами, которые интересны rock star — очень и очень большая удача и счастливое стечение обстоятельств, не более. Но если завтра rock star-у взбредет в голову контрибьютить в GHC вместо улучшения вашей сборки MySQL — то у вас будет ограниченное количество времени чтобы быстро и решительно его уволить. При попытке заставить оного вернуться к своим задачам — получите, в зависимости от темперамента и ваших soft skills, или конфликты или тихий провал сроков. Ну хорошо хорошо, чтобы людей так капитально разворачивало — это бывает редко и происходит постепенно, да. А вот обратная ситуация — если пересадить rock star с улучшения вашей сборки MySQL на улучшение GHC против его желания — бывает достаточно часто. И, как нетрудно заметить, приводит к аналогичным последствиям. И именно это обстоятельство делает rock star категорически неприемлемым для аутсорса.


    Именно поэтому rock stars лучше всего чувствуют себя в продуктовых компаниях (например JetBrains), где им дают полную свободу в рамках одного продукта и полностью исключают внезапную смену скоупа задач (разве что только через увольнение). Люди получают возможность заниматься теми задачами, которые им интересны, самореализовываться, раскрываться и их при этом особо никто не дергает. Получается хорошая штука — окей, идет в релиз. Нет? Ну и черт с ним. В таких условиях rock stars пускают корни, живут весьма долго (до десятка лет) и им хорошо.


    Со стороны менеджмента здесь требуется легкий и ненавязчивый контроль — так, чтобы rock star не разбредались и их не "заносило" в бесперспективные эксперименты. Ну и так же мягко доносить, что та или иная интересная ему разработка нерелевантна.


    Есть другой замечательный пример работы с rock stars — это Google, в котором rock star-у дают возможность заниматься тем, что он хочет. Google их кормит, поит, одевает и защищает от внешних угроз. Взамен — все, что rock star наизобретает — будет принадлежать и продвигаться Google, превращаясь в его продукты. Fair enough. Эдакие посевные инвестиции в отдельно взятой компании.


    Бэкграунд: лицей или другая хорошая школа, высшее образование в хорошем ВУЗе по IT-специальности или же математике. Круглый (хотя бы овальный) отличник. Вероятно, участие в серьезной научно-исследовательской деятельности (научные публикации как плюс) и/или олимпиадное программирование прямо со школы.


    Ценит: покой (пока решает задачу), свободный ненормированный график с возможностью удаленной работы, адекватность менеджмента, возможность поработать с другими rock stars, сложные, интересные и нестандартные задачи, стабильное финансирование. Офисные плюшки или воспринимает как должное или игнорирует напрочь, но в целом не испытывает к ним особого пиетета.


    Сильные стороны: сложные задачи, исследовательская деятельность, нередко проектирование.


    Слабые стороны: зачастую наличествуют проблемы в коммуникации, отсутствует стрессоустойчивость, нестабильность в компании или проекте легко спугивает rock stars, жестко поставленные сроки превращаются в стресс, невозможность переключаться по предметным областям — только разве что по своему желанию. Не смотря на всю творческость, несамостоятелен за пределами своих задач.


    Собеседование: алгоритмы и структуры данных, оценки сложности, олимпиадные задачи — ваши надежные друзья. Можно заставить разворачивать дерево на доске (но зачем?) — но гораздо лучше дать несложную математическую задачу. Главное не спешите и не торопите: дайте человеку подумать столько, сколько ему нужно. Творческие задачи, задачи на соображалку (ну только не про люки же!) и задачи на проектирование в формате "давайте порассуждаем" и "предложите решение" так же неплохи. В резюме смотрите на образование и публикации. Поспрашивайте про участие в олимпиадах, научно-практических конференциях, поинтересуйтесь темой дипломной работы. Если рассказывает с горящими глазами — вы нашли то, что нужно. Так же стоит удостовериться, что соискатель знает в совершенстве какой-нибудь язык программирования (любой), иначе не очень понятно как он будет реализовывать свои эксперименты.


    Чего спрашивать не стоит: не задавайте глупых вопросов. К глупым вопросам относится: детали реализации чего-либо а-ля "а что делает HTTP-заголовок Content-Length?", вопросы про коммуникативные навыки и прочая психология (да, rock stars могут обладать абсолютно мерзким характером — но что поделаешь, такова плата за них), и уж тем более не заикайтесь и даже не думайте проверять стрессоустойчивость. Пунктуальность проверяйте только на уровне "не пропадает на неделю и ладно".


    Делец (Software Engineer)


    Редкий зверь в наших краях. Его иногда называют "ориентированный на результат", "любой каприз за ваши деньги". Эдакий линейный программист, который неожиданно (а на самом деле — предсказуемо) обзавелся самостоятельностью, самомотивацией и начавший расти туда, куда считает нужным. Это не rock star, потому что его не интересуют глубокие и абстрактные задачи. Его интересуют работающие инструменты, приносящие конкретную, ощутимую пользу, которую можно потрогать руками здесь и сейчас (зачастую — в виде хрустящих купюр в кармане, но об этом позже). Если работающего инструмента нет — делец делает его для себя сам. Очень любит конкретику в постановках задач, в технологиях и — что самое важное — в общении. Про таких еще говорят "строгий, но справедливый". Коммуникативные навыки хорошие. Политкорректен, дружелюбен, не тяжел, хотя бывает грубоват и склонен к занудным формальностям. Делец таков не от хорошей жизни, потому как грубиянов и молчунов суровая реальность дельца быстро ставит на место. Будешь грубить — угрохаешь репутацию. Будешь молчать — не получишь заказы. Не будешь избегать и разрешать конфликты, лезть на рожон — останешься без денег. Материалист. Работает с теми задачами, которые ставит для него объективная реальность. Если чего-то не понимает — спрашивает и добивается конкретного ответа. Его хлеб — тщательно подобранный или разработанный собственноручно инструментарий, опыт, умение разбираться во всякой гадости в приемлемые сроки и работа на скорость и на качество. Инструментарий подбирает сам или посоветовавшись с другими дельцами — и не дай вам б-же дать ему совет в этот момент. Ответственный. Хороший делец не срывает сроки и обеспечивает рабочий и поддерживаемый продукт. К говнокоду относится как к одному из инструментов. Может занять технического долга, если это уместно и полезно в конкретной ситуации, учитывая специфику проекта. Сведущ в менеджменте. Нередко понимает в нем больше, чем непосредственный начальник. На основании этого может рекомендовать ad-hoc управленческие решения. Из профессиональных изъянов стоит отметить невнимательность к мелочам, но и это у хороших дельцов лечится.


    Крутое описание — не правда ли? В чем же подвох? Подвоха тут два. Первый заключается в том, что делец не терпит над собой никакого начальства, особенно если оно менее квалифицированно чем сам делец. Во многом это обусловлено той самой осведомленностью о способах менеджмента. Ну еще и тем, что делец сам прекрасно понимает как делаются деньги в IT-индустрии. Как следствие — делец не подчиняется приказам. Делец сотрудничает в рамках контрактов. Любая попытка заставить дельца делать что-либо за пределами контракта (если не формально подписанного — то хотя бы устно оговоренного) — ведет к вежливому отказу в лучшем случае или к расторжению контракта в худшем. Если делец не подписывался отсылать вам ежедневные отчеты — он этого делать не будет. Если не подписывался тратить на вас 8 часов в день (при наличии сроков сдачи задания) — то он этого делать не будет. Если не подписывался на правки по проекту — ну вы поняли. Однако если вы выкупаете оптом какое-то кол-во рабочего времени дельца (без конкретных сроков и конкретных задач), то он с радостью будет выслушивать ваши стенания, невнятные требования, поддакивать и участвовать в любой корпоративной шизе — ну а что? Уплочено же. Любой каприз за ваши деньги.


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


    Долгосрочными контрактами на маленькие ежемесячные суммы его не заманишь. Только на большие — выкупайте рабочее время оптом, да. Как следствие — делец часто меняет место работы (в той мере, в которой для него существует это понятие). Засидишься — станешь линейным программистом. Как следствие — квалифицирован решать довольно широкий спектр задач. Помните — хороший делец всегда стоит своих денег. А если вы не дадите ему достаточно денег — делец попытается реквизировать рычаги управления. Разными способами — от наглого увода заказчика и команды (если у него есть такие полномочия), до честного разговора по душам. Если это не удастся — он вас быстро и решительно покинет, потому как а зачем? Хорошие дельцы заканчивают открытием собственных компаний, но, как было сказано выше, дельцов в нашей стране в принципе мало.


    Бэкграунд: часто самоучка. Занимается программированием потому что интересно. Высшее образование наличествует, но стоит смотреть на репутацию учебного заведения. Если учебное заведение серьезное — то троечник. Ибо как работает с первого курса. Да и вообще изучению всяких наук предпочитает по-скорее добраться до реальной работы. Очень часто фрилансит. У некоторых дельцов проблемы с фундаментальными знаниями. Однако если это точно делец — то эти проблемы легко решаются.


    Ценит: высокую оплату своих услуг (именно в такой формулировке), соблюдение договоренностей, качественные решения проблем. График и плюшки — по договоренности, но обычно предпочитает свободный график, не привязанный к месту работы с фиксированными целями, а плюшки — да выдайте лучше деньгами.


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


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


    Собеседование: хорошего дельца найти трудно. Ваш друг — репутация. Посмотрите резюме, не поленитесь связаться с человеком, который сотрудничал с соискателем ранее. Если речь идет об удаленной работе — посмотрите что у соискателя с доступностью. Как быстро он отвечает на почту и сообщения, телефонные звонки. Если лично — насколько пунктуален по назначенным встречам. Дальше расспросите о знаниях требуемой технологии. Но только так — без фанатизма. Конечно неплохо если делец точно знает какой адрес в памяти у функции закрытия подключения в проприетарной библиотеке, которую вы используете — но поверьте, это не то, что следует спрашивать. Неплохо будет попросить примеры проектов, которые делец уже реализовал на вашем стеке/с использованием вашей технологии. У хорошего дельца всегда найдется что показать и рассказать. Задачи на проектирование и "как решить вот эту проблему с заданной технологией" идут на ура, особенно если приправлять проектными деталями (например решить задачу в условиях когда заказчик требует релиза каждую неделю и т.п.).


    Чего спрашивать не стоит: алгоритмические вопросы, математика, задачки на внимательность и прочая чепуха, которую спрашивают у rock stars. Разве что только на уровне концепции. Ну то есть делец может в общих чертах знать что такое, скажем, бикубическая интерполяция, но не заставляйте его реализовывать её на бумаге или на компьютере без интернета — будете справедливо (но вежливо) посланы. Отдельным пунктом следует упомянуть тестовое задание. Не давайте стандартных тестовых заданий: хороший делец таких заданий за всю жизнь переделал столько, что вам и не снилось и еще одно ему вот вообще не нужно. Далее. Смиритесь с тем фактом, что тестовое задание — это трата рабочего времени дельца. Приготовьтесь к тому, что оно будет платным. Предложите заключить NDA, временный контракт и сделать, например, коммит с фиксом бага для какого-нибудь вашего продукта или какой-либо системы с условием оплаты по выполнению и оговоренными требованиями к качеству. Это — самый эффективный метод. Не забудьте рассказать как настроить окружение. У хорошего дельца это не займет много времени, но бывают казусы.


    Пассажир (business bullshitter)


    У этого типажа много "ласковых" названий в народе. Наименее квалифицированные коллеги ему подчиняются, более квалифицированные его не любят. Начальники таких обожают и дальше я объясню почему. Кратко: пассажир харизматичен. Всё. Много и красиво говорит, но катастрофически мало (или некачественно) делает. Повышенная коммуникабельность — его хлеб и зачастую пассажир попадает на менеджерские должности, так как не знает как сделать самому, но обладает достаточным ораторским талантом чтобы заставить работать кого-то вместо себя, и — более того — убедить начальника что именно он и должен руководить проектом. Во всем он демонстрирует серьезность, рвение и уверенность в себе, стремится порешать любую проблему, организовать совещание и обсудить, обязательно учитывая мнение команды. Со стороны может показаться что у него шило в известном месте. Он почти всегда на связи, всем отвечает на письма, показательно вежлив (так, что врезать порой хочется извините вырвалось) и может найти подход хоть к самому дьяволу. Один только минус — техническая квалификация. По правде говоря, ему не очень нравится программирование (вплоть до отвращения), но очень нравится покомандовать. Поэтому слабую техническую квалификацию (или её полное отсутствие) он часто "замазывает" красивыми словами, показным участием, заинтересованностью, дружелюбием и коммуникабельностью. Одна из самых страшных ошибок — ставить таких людей на средние менеджерские должности в командах. Как только вы это сделали — всё. Вы больше не получите достоверных данных о том, что происходит внутри команды с технической точки зрения. У вас будет красиво представленный бриф по происодящему, но те места, которые пассажир не понимает на техническом уровне будут из него исключены. А это в 90% случаев — скрытые проблемы и разнообразные детонаторы.


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


    Бэкграунд: "лидер класса", "альфа-самец" в университете (жалко что не проверишь никак). Мистер обаяние. Образование может быть разным. Однако имейте в виду, что оценки могли получаться так же через ораторский навык. Программированием мог начать заниматься потому что интересно, но с таким обаянием у него были вещи в жизни и по-важнее. Нередко имеет свой персональный web-сайт на отдельном домене. Сделал его сам.


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


    Сильные стороны: коммуникабельность, способность убеждать, способность доносить информацию красочно, с шутками-прибаутками, про стрессоустойчивость лучше спрашивать отдельно


    Слабые стороны: техническая квалификация. Многие технические вещи способен понимать лишь тезисно. Активен, но быстро теряет интерес и концентрацию на сложных и средних технических задачах. А в худшем случае — и вообще на любых задачах.


    Собеседование: определитесь с тем нужен вам пассажир или нет. Если нет — при повышенной общительности и дружелюбности соискателя — держать ухо востро. Настоящие специалисты ведут себя спокойно. Старайтесь отсеивать красивые слова, общие утверждения, а выделять суть сказанного. Поинтересуйтесь достижениями в техническом плане. Попросите показать свой домашний проект, объяснить как он работает. Хорошо помогают те же вопросы что и для линейных программистов. Следите за тем, чтобы там, где соискатель не знает — честно говорил "не знаю", а не пускался в пространные рассуждения. Ну и тестовое задание как всегда. Если к тестовому заданию будет объемное пояснение, в коде — не продраться от комментариев и соискатель рвется объяснить как он это сделал — перед вами пассажир. Ежели пассажир вам все-таки нужен, то поинтересуйтесь как бы он объяснил заказчику срыв сроков релиза. Так же душевный разговор на предмет знания методик управления — SCRUM, PMBOK и разбор управленческих кейсов — могут возыметь положительный эффект. Но это уже история не про программирование.


    Чего спрашивать не стоит: в случае с пассажиром — запретных тем нет (в рамках приличия). Если возникли подозрения на то, что перед вами пассажир — попробуйте вот что: задайте какой-нибудь вопрос, на который технический соискатель бы отказался отвечать по причине нерелевантности. Поговорите… Ну я даже не знаю. Про то, какую музыку любит соискатель, или фильмы, или игры. Или куда он ездил путешествовать. Если перед вами пассажир — то будет длинный рассказ. Если вы ошибаетесь — то вам ответят кратко и тезисно.


    Выводы


    Отдельной строкой стоит заметить, что четкой границы между этими типажами нет. Человек вполне может находиться где-то между дельцом и rock star, или rock star может дрейфовать в сторону пассажира. А прямо сейчас какой-нибудь линейный программист может перепрыгивать в дельца, увольняясь с уютной галеры и заводя аккаунт на UpWork. Поздравим же его с этим! Однако концептуально я склонен считать, что стабильно и в долгосрочной перспективе любой программист плотно обосновывается в одном из этих четырех типажей.


    Возвращаясь к описанной первоначально ситуации. Если вы набираете и растите потенциальных rock stars, то использовать их на аутсорсных проектах — это как забивать микроскопом гвозди. Если же вы выращиваете дельцов — будьте готовы делиться деньгами и полномочиями. А для решения задач аутсорса вполне подходят крепкие линейные программисты. Если это сложный аутсорс — то с добавлением одного rock star или дельца в команду на "птичьих правах". В противном случае, если вы культивируете rock stars в своей компании, но у вас аутсорс — то смиритесь с тем, что единственный возможный способ на этом заработать — забирать себе промежуточные артефакты их работы. После того, как они вырастают — их надо отпускать. При том отпускание должно быть встроенно в саму бизнес-модель и кадровый пайплайн компании. Так вижу.


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


    Спасибо за внимание! Хороших вам кадров!

    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 539
    • +10
      Статья годная, спасибо. От себя добавлю, что аналогичное деление на типажи имеет место не только в IT-среде. В процессе чтения лично я узнал в описаниях многих своих друзей и коллег (ни разу не программистов).
      • +6

        А мне кажется, что человек написавший такую статью принадлежит к 4-й категории.

        • 0
          «Кто не умеет работать — учит»?
          • +2
            … а кто не умеет руководить — тот HR.
          • 0
            Если человек из 4й категории отдает себе в этом отчет — это как минимум уже не катастрофа.
        • +2
          Любопытная статья. Спасибо!
          • +14

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

            • +2
              Я бы сказал, что все мы по большей части, все-таки, склонны относить себя к дельцам, так как большее количество «привлекательных» совпадений описывается именно в этой категории.

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

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

              И конечно каждый, все равно предпочитает держать под рукой Гугл (обобщил, не хотел задеть чувства любителей Яндекса), какой бы большой ходячей энциклопедией он не был (как мне кажется, это относится даже к Rock star). =)
              • +6
                Разница между rock star и дельцом при гуглении в том, что rock star откроет ссылку, оканчивающуюся на .edu, или какой-нибудь научный .pdf и поймет суть формул. Делец же сконцентрируется на поиске куска кода и поиска описания зачем эта формула и как её юзать в прикладных задачах.
                • +1

                  Жду день, когда мне на работе понадобится понимать формулы.

                  • 0
                    Разница между rock star и дельцом при гуглении в том, что rock star откроет ссылку, оканчивающуюся на .edu, или какой-нибудь научный .pdf и поймет суть формул.


                    Да ладно
                    ;)
                  • +2
                    Я бы сказал, что все мы по большей части, все-таки, склонны относить себя к дельцам, так как большее количество «привлекательных» совпадений описывается именно в этой категории.

                    Собственное восприятие разных людей тоже разное. Далеко не все черты, описанные в категприи делец безусловно привлекательны. Поэтому отнюдь не все себя будут к дельцам относить.
                • +5
                  Спасибо, прочитал на одном дыхании, очень интересно и поучительно) Я походу дела смесь линейного и дельца, т.к. если меня мотивируют деньгами — я горы сверну)
                  • +3
                    Я походу дела смесь линейного и дельца, т.к. если меня мотивируют деньгами — я горы сверну)


                    Я так понял что делец это с обратной стороны подходит к денежной мотивации.
                    Не «если его мотивируют», а он работает «там где всегда мотивируют»
                  • 0
                    Правильно подмечено, человека со 100% одного типажа не бывает.
                    Хорошая статья. Узнал себя в некоторых местах.
                    • +2
                      Бывают 100% пассажиры которые знают кто они, этим довольны и менять свою категорию не намеренны. Неоднократно встречались.
                    • +5
                      А как происходил процесс «утряски» всей информации? Как удалось минимизировать влияние ну хотя бы таких когнитивных искажений, как иллюзия кластеризации,
                      иллюзорная корреляция, стереотипизация, эффект ожидания наблюдателя? Спасибо.
                      • +9

                        Я просто долго пытался понять как охарактеризовать людей, с которыми я бы хотел работать. И как их отделить от всех остальных. У меня нет иллюзии кластеризации, поэтому я постарался не то, чтобы сказать "есть вот такие и других нет", а скорее выставить некие опорные точки для определения типажей. Ну и плюс анализировал кейсы, с которыми столкнулся… дайте подумать… за 7 лет :) Ну например я знал каких-то людей 7 лет назад и посмотрел как они начинали и где они сейчас. Взял бы я их в нашу команду или нет? А если бы взял — то что спросил бы? Говорил, задавал вопросы, получал ответы. Да, я сам не люблю всяческие кластеризации, но если сталкиваешься с задачей подбора персонала — то для ускорения процесса лучше иметь некоторые ориентиры, чтобы хотя бы понимать чего хотеть и какие сочетания рассматривать априорно бесперспективно.
                        Как минимизировать влияние не знаю. Правда :) Я просто систематизировал заново и заново, покуда не пришел к системе, в которую укладываются решительно все, кого я знаю (а знаю я много). Если честно, этой классификации не хватает "второго измерения", но пока что и так сойдет.

                        • +1
                          Иллюзия отсутствия иллюзий — еще одна иллюзия :) Шучу.
                          Спасибо за развернутый ответ. В сущности вопрос скорее насколько применимо это все, скажем, в другом городе/стране или в каких-то специфически направленных конторах? Ну и себя, как водится, я никуда не могу отнести. Разве что не балагур, но всему можно научиться, было бы время и желание.
                      • +9
                        сразу что-то стало напоминать. конечно с натяжкой, но подходит:
                        1. меланхолик
                        2. сангвиник
                        3. флегматик
                        4. холерик
                        • +20
                          Ну или;
                          1.Воловиц
                          2.Купер
                          3.Хофстедтер
                          4.Кутраппали
                          • +1
                            Ну только именно Воловиц вкалывает ради денег, а Хофстедер пилит да пилит потихоньку.

                            1.Хофстедтер
                            2.Купер
                            3.Воловиц
                            4.Кутраппали
                            • +15
                              1. Динеш Чугтай
                              2. Ричард Хендрикс
                              3. Бертрам Гилфойл
                              4. Эрлих Бахман
                              • +1
                                1. Атос
                                2. Д'артаньян
                                3. Портос
                                4. Арамис
                                • +5
                                  С т.з. некоторых товарищей:
                                  1. Д'артаньян
                                  2. Никого
                                  3. Никого

                                  N. Пи#$расы
                                • +1
                                  При этом Динеш и Гилфойл часто меняются местами :)
                                • 0
                                  4. Пенни.
                            • +4
                              А полноту классификации сможете обосновать?
                              • +9

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

                                • 0
                                  Мой основной тезис: все разработчики, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения.

                                  Вижу противоречие
                                  Нет, и я вам больше скажу: классификация не полна,

                                  А еще по моему мнению существует отдельная группа, в которой можно наделать множество подгрупп — «люди которых не надо брать в ИТ».
                                  Для наглядности представьте на секунду, что быть боксером стало бы в одночасье также круто как и программистом. Хорошие офисы с плюшками, зп выше чем в среднем в вашем городе, да и в целом гордо звучит. А самое главное можно всего пару месяцев позаниматься с тренером и вас уже готовы взять. И вот толпы людей, которых ни жизнь ни природа к этому не готовила уже строчат свои резюме и начинают ходить по собеседованиям.
                                  Мой основной тезис: все боксеры, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения.
                                  Вам это утверждение не кажется несколько неточным?
                                  • +2

                                    Дорогой друг, мой тезис — провокационный, признаюсь :) Однако, если быть предельно точным и упоминать все формальности, то заголовок статьи был бы не "Четыре типажа программистов", а "Ориентировочные точки для идентификации типажей программистов, предусматривающие промежуточные состояния" и по содержанию напоминал бы скорее научное исследование (тут бы у меня еще выкладок попросили, ага). И тогда бы её никто не прочел, ибо как целевая аудитория (HR, управленцы и сами программисты) не имеет достаточно времени на чтение тонн подобной лабуды, а еще с успехом ломает об неё мозг. И смысл статьи бы сводился к "ну вы знаете, тут куча возможных комбинаций — так что думайте сами", что не несет в себе никакого практически применимого смысла. Очень хорошо, что вы заметили эту неточность, но. Я не отрицаю что реальная жизнь во много раз сложнее и многограннее чем "4 типажа". Но понимаете в чем штука — подобные классификации не строятся с целью включить туда все-все-все возможные на планете случаи, а подобные статьи нарочито не носят научный характер. Они строятся, как упрощенная модель, дабы простым языком донести до компаний, менеджеров и HR-ов хоть немного понимания о том, какие программисты вообще бывают и с чем их надо употреблять. А так же в статье — о ужас — присутствует сугубо пропагандистская составляющая — призвать хоть немного упорядочить сумбур компаний в наборе кадров (нам нужен самый лучший рокстар, ага), не нанимать высококвалифицированных программистов, когда можно обойтись линейными — равно как и не пытаться решить научную задачу силами пассажиров. Вы удивитесь, но просто потрясающее количество людей, ответственных за найм, реально, искренне не понимает как идентифицировать человека, сидящего перед ними, но самое печальное обстоятельство состоит в том, что компании не могут для себя четко решить кто же все-таки им нужен. Отсюда и рождаются вопросы про люки и мячики, когда по факту компании требуется пилить аутсорс. И эта статья — быстрый и краткий "крэш-курс", который может дать хотя бы отправную точку кто существует на рынке, чего он ожидает от работодателя и как с ним строить разговор. Sapienti sat — дальше сами разберутся, мне кажется.

                                    • 0
                                      Я хотел донести немного другую мысль.
                                      Наверное она больше для другой статьи, например с названием 10 признаков непрограммиста, которую я бы с интересом прочитал.
                                      Я не слишком опытен в найме сотрудников, и вот из личного опыта понял, что достоинства и область применения сотрудников определить не единственно важное.
                                      Я бы сказал, что прежде всего нужно понять, а хочет ли он работать в ИТ или это просто стечение обстоятельств или вовсе не его решение( о да, один сотрудник нисколько не смущаясь сказал, что он программист потому, что жена так сказала).
                                      Работа с такими людьми это боль.
                                      Если кто-нибудь раскроет мне тайны ранней диагностики таких кандидатов, я буду счастлив. В реальности это становится понятным только спустя пару месяцев и пяток приватных бесед.
                                      • +1

                                        Эмм… ну я предлагаю например… кхм… Просто спросить почему человек пошел в IT :) Нет? Вроде должно работать.

                                        • +1
                                          Нет.
                                          Никто на собеседовании не скажет, что ему нравится идея быть программистом, нравится зарплата программиста, или что он разочаровался в профессии и ему просто нужно платить за ипотеку, а работы он давно уже ненавидит.
                                          • 0
                                            Никто на собеседовании не скажет, что ему нравится идея быть программистом

                                            А я честно ответила бы, что меня так впечатлили уроки Turbo Pascal в школе, что я непременно решила пойти в IT.

                                            • 0
                                              Тут немного же о другом, это вы с ранних лет поняли что хотите стать программистом и это здорово. Но будь у вас ипотека (приманила в ИТ именно зп) и пройденные онлайн курсы, не думаю что такая правда бы понравилась бы работодателю
                                              • 0
                                                В этом и разница.
                                                Вам понравился turbo pascal в школе, после этого наверное были другие языки, алгоритмы и крутые штуки.
                                                А есть те кому это все безразлично. Кто-то закончив вуз открыл hh и выбрал то, где больше платят. Или поработав 10 лет в профессии в которой опытный специалист получает меньше чем джуниор решил тоже этим заняться. Да есть те кто смог, и к ним никаких вопросов.
                                                Но также есть и достаточно большая аудиториях тех, кто в программистах вопреки своим желаниям и\или способностям.
                                                В этой статье я вижу посыл, любому человека с резюме программиста можно найти применение. ИМХО — нет.
                                                • 0
                                                  А я честно ответила бы, что меня так впечатлили уроки Turbo Pascal в школе, что я непременно решила пойти в IT


                                                  А что именно?
                                                  У меня сейчас дочь начинает.
                                                  Попытался заинтересовать её написанием игр на Паскале, — что-то не вижу интереса. Хотя она говорит, что хочет быть программистом.
                                                  • 0

                                                    Мы как раз таки писали игры: от простых типа "угадай число" до змейки и тетриса.

                                                • 0

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


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

                                                  • +2
                                                    Деньги не решают всех задач к сожалению.
                                                    Человеческая мотивация имеет гораздо более сложную механику нежели купюроприемник.
                                                    • 0

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

                                                      • +1
                                                        Делец с вами не согласится
                                                        • 0

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

                                                          • 0

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

                                                            • +1

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

                                                          • +1
                                                            Делец с вами не согласится


                                                            Согласится. Нормальный делец должен видеть границы, за которыми он уже не выдаст результат, сколько бы бабла ему не обещали.

                                                            Иначе как тех. профи — он недостаточно хорош.
                                                          • 0

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

                                                            • +1

                                                              Дело бывает даже не в "хватит-не хватит", а в непонимании, почему эти предлагают в 1,5, а то и 2 раза меньше, чем остальные.

                                                              • –1
                                                                Люди бывают разные. Для меня, например, планка того, сколько хватит, чтобы о деньгах вообще не думать, сильно выше того, что может зарабатывать рядовой программист
                                                          • 0
                                                            Я говорю что в IT было больше возможностей для быстрого заработка чем по моей специальности.
                                                            • 0

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

                                                              • 0

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

                                                          • +1
                                                            Если кто-нибудь раскроет мне тайны ранней диагностики таких кандидатов, я буду счастлив. В реальности это становится понятным только спустя пару месяцев и пяток приватных бесед.


                                                            Собеседовал кандидатов по тех. вопросам. Уже после HR.
                                                            Беседую на разные темы — и чисто технически, и как была организована работа на прежнем месте и пр. и пр.
                                                            Минут за 40 выясняется очень и очень многое.
                                                            По негорящим/горящим глазам когда обсуждение проходит по разным темам.

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

                                                            • 0
                                                              Если сможете формализовать свои ощущения с интересом почитаю, ибо у меня пока, что так не получается.
                                                              • +1
                                                                Я пытаюсь просто беседовать, узнать, что у нас в городе делают, в других фирмах. Какое ПО делают, какие большие или маленькие конторы работают и т.п.…

                                                                То есть просто примерно как как коллега с коллегой в курилке беседуют об их прошлых местах работы.

                                                                Тут главное разговор чтобы раскрутился, чтобы пошел.

                                                                Выясняется очень много интересного.

                                                                • +5
                                                                  Тут главное разговор чтобы раскрутился, чтобы пошел.
                                                                  Выясняется очень много интересного.
                                                                  Товарищ майор? :)
                                                            • 0
                                                              Я хочу в IT, возьмёте? Только я стар для новичка (по меркам отрасли). Без жены. Мне никто не говорит кем работать, кроме рынка…
                                                          • +1
                                                            Мой основной тезис: все боксеры, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения.
                                                            Вам это утверждение не кажется несколько неточным?

                                                            В литературе часто встречаются классификации типажей боксёров. Давно ничего такого не читал, боюсь наврать в деталях, но, вроде бы есть термин «puncher» для боксёра, который умеет только бить и в бою полагается, в основном, на силу удара. Вроде бы, какие-то названия есть как для типажа, который вообще не очень умеет в бокс, но выезжает за счёт физической силы и выносливости, так и для типажа, который, наоборот, искусно защищается-юлит-финтит, вот это вот всё. И т. п.
                                                            • +1
                                                              Мой основной тезис: все боксеры, грубо говоря, делятся на 4 больших типажа и каждому из этих типажей есть своя область применения. Вам это утверждение не кажется несколько неточным?

                                                              Вы не поверите, но… https://en.wikipedia.org/wiki/Boxing_styles_and_technique. И именно 4 больших типажа. :D

                                                              • +1
                                                                А как вы назовете боксера, которому нравятся боксерские перчатки и шорты, но которому не нравится драться на ринге? Это какой стиль?
                                                                По моему мнению в айти сейчас имеются именно такие люди.
                                                                PS: Чертовы метафоры. Кажется вот ты приводишь идеальное сравнение чтобы все стало понятно, но нет все становиться еще запутаннее.
                                                                • 0
                                                                  Я вас понял… Но это, наверное, другая классификация.
                                                                  Ведь можно пойти в программисты из-за желания мамы / мечты о больших деньгах / случайно / за компанию, но стать хорошим программистом (скажем, линейным) и работать, выполнять задачи…

                                                                  То, что человек не любит программировать — не значит, что он не может делать это хорошо… (А вы считаете, что нет)
                                                                  А плохой программист не обязательно пришёл за деньгами /лаврами / и т.д.
                                                                  Ему вполне может нравиться программирование, но у него не выходит хорошо (и такие тоже есть)

                                                                  p.s. В вашей метафоре — неизвестен стиль боксёра, нужно на ринге смотреть…
                                                                  • 0
                                                                    Я говорю о наболевшем из личного опыта.
                                                                    Приходят ребята на собеседования, с нормальным резюме и в целом не сыпятся на техническом интервью.
                                                                    А потом ты начинаешь с ним работать, и понимаешь, что человек не выполняет и половины объема работы которые мог бы.
                                                                    Начинаешь с ним много общаться, пытаешься выяснить, что не так.
                                                                    И приходишь в итоге к мысли, что человек просто не на своем месте и работа от него требует собственных сверх усилий.
                                                                    По формальным признакам его можно однозначно причислить к одной их категорий автора. Но проблема в том, что ИТ просто не его.
                                                                    Никто или мало кто способен признаться, что n-лет назад он занялся не своим делом.
                                                                    Я бы предпочел никогда не брать таких людей на работу.
                                                                    • 0
                                                                      Никто или мало кто способен признаться, что n-лет назад он занялся не своим делом.
                                                                      А из тех кто способен признаться — дай бог 1% способен решиться и сменить сферу деятельности.
                                                                      • +2
                                                                        Никто или мало кто способен признаться, что n-лет назад он занялся не своим делом.
                                                                        А некоторые даже и не знают, что бывает «своё дело» и просто работают (как-нибудь)…

                                                                        Ваше описание подходит под большинство профессий. И это действительно проблема, но это проблема не it. Это проблема выбора профессии, осознанности, ответственности и т.д.
                                                                        • 0
                                                                          Приходят ребята на собеседования, с нормальным резюме и в целом не сыпятся на техническом интервью.

                                                                          Ну это только всего лишь один из показателей, надо же еще оценивать не только техническую сторону, но и человеческую, ведь из хобби человека можно много чего подчерпнуть о его характере.
                                                                          • 0

                                                                            А кассир в супермаркете — это призвание? Я конечно намеренно утрирую, но мне кажется, что наша отрасль стремительно меняется: раньше в it шли действительно только гики. Сейчас объективно гиков не хватает для удовлетворения потребностей рынка. Спрос рождает предложение. Видимо, старичкам нужно учиться работать и с теми, для кого it — не призвание, а средство заработка.

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

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

                                                                                • 0
                                                                                  Речь не про элитность, а про сложность.
                                                                                  Возможность тестов и приемки ограничена. Слишком много нюансов и вариантов.
                                                                                  Когда вы можете однозначно оценить качество работы численными, формальными параметрами проблем нет.
                                                                                  Грубо говоря если бы у программиста был применим kpi в виде напечатанных символов, разницы с кассиром для которого kpi в виде обслуженные клиентов вполне приемлем, не было бы.
                                                                                  Речь не про элитность, исключительно сложность.
                                                                                  • 0

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

                                                                                    • 0
                                                                                      Большинство реальных ИТ-задач большинство программистов функционально решить в состоянии, пускай и в стиле «write only code».
                                                                                      Ну вот собственно туда и можно набирать «поточников» за три копейки. Но есть много вещей, которые «большинство программистов» функционально решить НЕ в состоянии. Скажем написать хоть какой-нибудь компилятор. Или ядро OS. Или даже банальную библиотеку для декодирования видео в реал-тайм.
                                                                                      • 0
                                                                                        Если нет конкретных требований по памяти, CPU и проч. и проч., то это под силу практически любому желающему за 3 коп., но получится дико плохо и тормозно… Нету же конкретных требований? Компилятор? Какой-нибудь? Почему нет? Все знают _примерно_, как делают компиляторы. Но надо ж все это спроектировать нормально, сделать, чтобы летало и не падало и проч. и проч. В этом же загвоздка, так?
                                                                                  • 0
                                                                                    По-моему, подобные утверждения являются излишней элитизацией «тру-айтишников»
                                                                                    Причём тут «тру-айтишники»? Та же самая ситиуация существует с авиа- и автоконструкторами, модельерами и архитекторами. Всегда, когда один человек клияет на то, что будет с тысячами (а иногда и миллионами, миллардами!) людей — возникает эта проблема.

                                                                                    IT обладает важным отличием: проект двухэтожного особняка для Васи Пупкина никто не будет переделывать в проект комплексной застройки Пекина — а в IT подобное происходит регулярно.
                                                                                    • 0

                                                                                      "авиа- и автоконструкторами" сложность выхода на нормальный уровень дохода несравнима (собственный опыт 10 лет назад и опыт тех кто остался на тек. момент), в ИТ гораздо проще(время/нагрузка) для одного и тогоже человека выйти на нормальный уровень дохода (понятно что кому-то не дано но в среднем разница в доступности ИТ для конструкторов и прикладных математиков сравнима)

                                                                          • 0
                                                                            А как вы назовете боксера, которому нравятся боксерские перчатки и шорты, но которому не нравится драться на ринге? Это какой стиль?


                                                                            Мы не будем называть его боксером.

                                                                            Это будет или «спортивный стиль одежды».
                                                                            Или просто перчатки как сувенир, висящие на стене, как украшение комнаты — «спортивный стиль оформления квартиры»
                                                                  • +1
                                                                    Есть тут еще кто-нибудь, работавший в сфере рекрутинга (помимо автора)? Интересует, к какому типу чаще всего относятся девушки-программисты и насколько часто вам попадались девушки каждого из типов.
                                                                    • +4
                                                                      По моему опыту (17 лет фулл тайм, отсобеседовал под сотню кандидатов), было примерно поровну программисток — линейных, rock star и пассажирок, дельцов было очень мало.
                                                                      • 0

                                                                        На фриоансе их больше

                                                                        • 0

                                                                          Это какая-то совершенно нерелевантная статистика (безотносительно к полу), если только вы все это время не собеседовали кандидатов целенаправленно на должности для rock stars. Их должны быть считанные единицы (просто по определению), а основной поток — линейные/пассажиры.

                                                                          • 0
                                                                            Последние 10 лет собеседую на позиции, где надо понимать, как работают внутренности процессора, платформы и операционки, и уметь быстро находить причины ухудшения производительности в больших и незнакомых проектах.
                                                                            • –2
                                                                              основной поток — линейные/пассажиры.


                                                                              ;)
                                                                              Вовсе нет.

                                                                              Основной поток — процентов 80% называется «страшный шлак».
                                                                              Но, что удивительно, этот шлак где-то работал программистом до этого и где то будет работать, когда не пройдет мое собеседование.

                                                                              Из оставшихся:

                                                                              Линейных много больше всех.
                                                                              Пассажиров примерно сопоставимо по количеству по сравнению с количеством дельцов и рок-звезд
                                                                              • +1
                                                                                Лихо вы людей не прошедших ваше собеседование назвали. Как можно судить о возможностях человека не поработав с ним. Есть люди которые тупо не умеют проходить собеседования, а есть те кто их пройдет но работать будет хуже, чем никак.
                                                                                • +2
                                                                                  Вполне.
                                                                                  Я вот собеседовал админов: достойная по городу зарплата, одно из требований стояло «администрирование Linux, командная строка, не GUI»

                                                                                  Как назвать того, кто приходит на такую вакансию и не знает зачем одновременно с IP-адресом самого компьютера в настройках ОС нужно задавать еще и IP-адрес шлюза.

                                                                                  И таких было процентов 80%.

                                                                                  Вы думаете их следовало бы принять на работу, полгода выяснять квалификацию?

                                                                                  Шлак он и есть шлак. Его сразу видно.
                                                                                  • 0

                                                                                    Вы же не написали в вакансии "администрирование IP-сетей" :)

                                                                                    • 0
                                                                                      Ну там было написано еще «удаленное администрирование Linux»
                                                                                    • –2
                                                                                      > Как назвать того, кто приходит на такую вакансию и не знает зачем одновременно с IP-адресом самого компьютера в настройках ОС нужно задавать еще и IP-адрес шлюза.

                                                                                      И правда, зачем в одноранговой сети его задавать?
                                                                                  • +3

                                                                                    "Страшного шлака" — далеко не 80%, если смотреть среди всех программистов, а не только среди безработных.


                                                                                    Есть такой эффект: чем хуже программист программирует — тем меньше он работает и тем чаще он ходит по собеседованиям. :-)

                                                                                    • +1
                                                                                      … и тем лучше он их проходит =)
                                                                                      • +2
                                                                                        Не завидуйте. Таких берут или из желания сэкономить.

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

                                                                                        Например, ровно также как и пройдет «собеседование» с вами плохой специалист по шпаклевке помещений, которого вы наймете для ремонта своей квартиры. Не потому что вы дурак. Просто вы специалист в другой сфере.
                                                                                        • +2
                                                                                          … и тем лучше он их проходит =)
                                                                                          Мой опыт этого не подтверждает. Мои знакомые по собеседованиям ходят редко, раз в несколько лет, проходят десяток интервью, получают 3-4-5 офферов и выбирают среди них. В тоже же время на разных сайтах (да и хотя бы на Хабре — люди, посетившие буквально сотни компаний перед тем, как найти работу). Вот они и обеспечивают «90% шлака» на собеседованиях.

                                                                                          Так-то в среднем в отрасли вменяемых людей больше, чем невменяемых — но на собеседованиях, увы, наоборот.

                                                                                          Та же самая, что и с фильтров на кухне: так-то водопроводная вода не то, шоб уж совсем грязная, но прямо возле сетки фильтра — там жуткая муть. Так и было задумано, в общем-то, в обоих случаях — и в случае с фильтром и в случае с собеседованиями…
                                                                                          • 0
                                                                                            Соглашусь. На собеседования приходит нерелевантная выборка из всех программистов.
                                                                                            • 0

                                                                                              Нерелевантная чему, по каким критериям? :)

                                                                                              • 0

                                                                                                Нерелевантная всем программистам. По уровню скиллов.

                                                                                                • 0

                                                                                                  Большая часть уже хорошо устроилась и не ходит.

                                                                                        • –1
                                                                                          людей нельзя называть шлаком, независимо от уровня их квалификации.
                                                                                    • +2

                                                                                      Практически 95% попадут в первые две категории, две другие останутся почти пустыми.

                                                                                      • +1
                                                                                        Для пассажирок в крупных корпорациях очень питательная среда, так что их я видел достаточно. И кстати линейные и тем более rock stars которые развились потом в пассажирок — очень полезны.
                                                                                        • 0
                                                                                          Видел пассажиров и в компаниях где программистов всего 4. И не ИТ-шников порядка 100.
                                                                                    • +2
                                                                                      Шикарная классификация. И не только программистов, ко всем айтишникам подойдет.
                                                                                      • +11
                                                                                        Всё это уже было в «Как пасти котов» (Ханк Рейнвотер). Причем там классификация более полная.
                                                                                        • +6

                                                                                          Считайте что это — тезисное краткое изложение Дж. Ханка Рейнвотера для тех, кому лень искать книжку :)

                                                                                        • 0
                                                                                          Прочитал про «пассажира» — сразу вспомнился Луо Йонгхао и его компания Smartisan.
                                                                                          Сам в бизнесе и технологиях разбирается явно не очень, переоценивает свою продукцию.
                                                                                          Зато как шоумен и представитель — просто огонь. Много ли мы знаем руководителей китайских небольших компаний? Да их там не сосчитать. А вот Йонгхао — многие знают. И про то, как он побеждал холодильники. И про то, как он для презентации смартфона арендовал крупнейший в Китае выставочный центр. И про то, как в кафе сосисками торговал, попутно продавая курсы английского языка и получая миллиардные инвестиции непонятно откуда. В общем, герой прогрессивной молодёжи.
                                                                                          • +1
                                                                                            Пожалуй, самый известный «пассажир» — Стив Джобс.
                                                                                            Пассажир и делец.
                                                                                            • 0
                                                                                              Скорее Илон Маск.
                                                                                              У детища Стива Джобса хоть прибыли сумашедшие и давным давно все окупилось.
                                                                                              Илон Маск — за счет инвесторов в основном существует.
                                                                                              • +5
                                                                                                Во-первых Илон Маск совсем не умеет говорить и выступать — посмотрите его вживую — он косноязычен.
                                                                                                Во-вторых он сооснователь PayPal. Я не знаю каков был его вклад, но PayPal определённо успешен.
                                                                                                В-третьих, тот факт, что он занимается сейчас бизнесами, в которых очень трудно получить прибыль, не значит, что он типичный болтун-харизматик. Конечно, он не сам разрабатывает ракеты, автомобили и батареи, но нельзя не признавать за его компаниями высоких технических достижений, которые были бы невозможны без грамотного менеджмента.
                                                                                                • +1
                                                                                                  Это чисто ораторское искусство, без относительно того пассажир ты иль нет.

                                                                                                  Если Маску дают такие деньги — значит, он достаточно хорошо умеет болтать с инвесторами.

                                                                                                  После PayPal у него больше ничего не окупалось.
                                                                                                  PayPal используется как раз как «пассажирская» замануха, да.
                                                                                                  • 0
                                                                                                    Конечно, он не сам разрабатывает ракеты, автомобили и батареи

                                                                                                    Где-то я слышал, что в SpaceX именно он — главный инженер и именно за ним последнее слово в больших инженерных вопросах. Если правда, то он именно rock star по данной классификации, может быть с небольшим смещением в пассажира.

                                                                                                  • 0
                                                                                                    Стив Джобс ведь совсем не программист и никогда им не был.
                                                                                                    • 0
                                                                                                      Он дизайнер. И имхо хороший дизайнер!
                                                                                                • –4
                                                                                                  Очень сомнительная у вас классификация и не очень полезная. Предпочтения или пофигизм к фруктам в офисе, уровень ответственности, коммуникабельности, какие вопросы на собеседовании ему не понравятся и т.п. никак не коррелирует с уровнем знаний программиста и стремлением к развитию. Это всё из разных категорий. И всё это, как мне показалось, у вас на фоне пренебрежительного отношения к людям. По моим наблюдениям, если человек употребляет слово «говнокод» по отношению к чужой работе в своей речи то скорее всего он окажется заносчивым идиотом
                                                                                                  • +8
                                                                                                    А что если там действительно говнокод?
                                                                                                    • +3
                                                                                                      Слово «говнокод» все понимают очень по разному. Строгое определение не найти в словаре Даля. Наверняка можно сказать одно: оно состоит из слов «говно» и «код». Последний раз, когда я общался с человеком, много рассуждающим о «говнокоде», так получилось, что я заказывал у него часть работ по проекту. Когда он мне прислал результат, его код обвалился сразу же при запуске. После моих замечаний и исправления первое же тестирование первого юзеркейса закончилось с ошибкой. Так было на каждом шагу работы с ним. Когда мы закончили через гораздо больше дней, чем я ожидал, я спросил его, считает ли он свой код «говнокодом»? Обиделся, видимо не считает. И это случай когда эти оба слова можно было бы применить к выполненной работе объективно. Когда люди рассуждают о чужом работающем коде, мне судить трудно. Конечно есть какие-то вещи, которые в любом коде делать не стоит, потому что это приведет к проблемам при работе с ним/ при отладке, но вот если человек тычет пальцем в чужой код со словами «говнокод» впечатления у меня об этом человеке неприятные. Я за то, чтобы использовать другие слова вместо этого. Когда человек рассуждает о вообще каком-то абстрактном коде, которого еще нет, или о другом программисте словом «говнокодит» для меня человек выглядит еще неприятнее
                                                                                                      • +6

                                                                                                        Я вас очень уважаю, но пожалуйста почитайте что такое технический долг. И не путайте его с функциональностью продукта. Спасибо.

                                                                                                        • +4
                                                                                                          Я вас тоже очень уважаю, но почему то слышится мне в вашем высказывании снисходительная интонация. Может быть мне показалось, простите. Я знаю, что такое технический долг. Но речь шла о смысле термина «говнокод» и его толковании, и я думаю, по смыслу составляющих его слов, им можно охарактеризовать и работоспособность продукта
                                                                                                          • +3

                                                                                                            Смысл термина говнокод, как я его имею в виду — код, который ухудшает поддерживаемость продукта, как я уже говорил. Работоспособность продукта можно характеризовать, не используя постфикс "код", если на то пошло :)

                                                                                                            • +8
                                                                                                              Хорошо, я теперь понимаю, что вы имели в виду и вы гораздо более приятный человек в общении, чем мне показалось после прочтения вашей статьи, извините
                                                                                                              • +13
                                                                                                                Извините, что вмешиваюсь, но это, похоже, образцовый трэд ведения дискуссии на хабре )
                                                                                                                • –1

                                                                                                                  Все в порядке, не переживайте. Очень рад что удалось избежать конфликта и недопонимания.

                                                                                                                • 0
                                                                                                                  Забавно, но в моей практике говнокод писали как раз rock stars. Зная в совершенстве какой-либо язык программирования, они создавали впечатляющие штуки, используя самые хитроумные и эффективные конструкции, какие только могли придумать. Проблема была в том, что в результате получался абсолютно непонятный и неподдерживаемый код.

                                                                                                                  И да, из всех перечисленных в статье достоинств и недостатков rock stars следует вполне очевидный вывод — командная работа не для них.
                                                                                                            • +2
                                                                                                              Приведу пример, с которым знаком лично:
                                                                                                              модель данных реализованная на контролах типа TextBox на скрытых формах. Причём приложение многопоточное (по ТЗ до 10000 уникальных потоков) с отдельным экземпляром этой модели на каждый поток.
                                                                                                              Надо ли говорить, как оно работало?
                                                                                                              • 0
                                                                                                                Да что говорить, это очень богатое поле для примеров
                                                                                                                • 0
                                                                                                                  у меня, как к человека знакомого с Data Modeling, фраза «Модель данных реализованная на контролах» вызывает какие-то странные эмоции в голове
                                                                                                                  • 0
                                                                                                                    это вы не мне, наверное :)
                                                                                                                    • 0
                                                                                                                      Я вам больше скажу, у любого более-менее адекватного программиста эта фраза вызывает «эмоции». Уже сколько лет прошло с того дня. Я лично тот продукт переписал с нуля на другом стеке, а всё-равно забыть не могу.
                                                                                                                  • 0
                                                                                                                    на C++ Builder 6 делали?
                                                                                                                • 0
                                                                                                                  Случай из моей практики — обратился заказчик с просьбой срочно_немедленно_чтобы_сегодня_уже_работало. Объяснил, что в указанные сроки смогу сделать, но будет ряд ограничений, а если потребуется расширять функционал, то всю мою работу придётся переделывать заново. Он согласился, и почти через год снова обратился ко мне. Улыбнуло, когда я в коде увидел //лютые костыли, никогда так не делайте. — Это был говнокод, который с поставленной задачей без сбоев почти год справлялся. А в приведённом примере даже не код, а просто набор символов, я считаю.
                                                                                                              • 0
                                                                                                                Более того, я например и к своей тоже его употребляю, и к чужой, если собеседник относится к этому как и я, непринужденно. Потому что, говнокод это всего-лишь технический долг, и все его пишут. Главное писать его осознанно, а не случайно)
                                                                                                                • +1
                                                                                                                  Если вы с человеком знакомы давно, и в вашем общении вы точно уверены, что говнокод — это технический долг, тут вопросов нет. Но с незнакомыми людьми лучше так не делать, потому что слово спорное, негативное, содержит «говно». Ваше общение может быть затруднено, если вы на его код посмотрите и скажете, вот тут у тебя говнокод, не смотря на то, что вы имеете ввиду технический долг, рискуете быть непонятыми
                                                                                                                  • +1
                                                                                                                    Технический долг — несколько другое в моём понимании. Технический долг — сознательное нарушение явных и неявных правил, соглашений, лучших практик и т. п. ради скорости решения задачи. Говнокод — неподдерживаемый код, написанный в твёрдом убеждении, что это практически идеальное технически решение задачи, что абстракции, декомпозиция, оптимизации, использование готовых библиотек и т. д. — для слабаков. Или другая крайность — оверинженеринг.

                                                                                                                    На самом деле, без знания контекста создания и эксплуатации кода зачастую нельзя сказать говнокод это, технический долг или выстраданная реальной эксплуатацией оптимизация.
                                                                                                                  • +6

                                                                                                                    Вы перепутали причину и следствие. Не человек — делец, потому что ему пофиг на фрукты, а человеку пофиг на фрукты потому что он делец. Да это из разных категорий, однако я объясняю почему делец будет скорее всего не склонен к фруктам в офисе: потому что предпочитает взять деньгами.


                                                                                                                    Говнокод в данном случае — не применительно к какой-либо конкретной работе, а как обстоятельство и собирательный образ некачественно, спешно выполненной работы.

                                                                                                                    • 0
                                                                                                                      Это вообще не причина и не следствие. Человеку могут нравиться фрукты в офисе и он может быть равнодушен к ним и он при этом политкорректен, дружелюбен, не тяжел, хотя бывает грубоват и склонен к занудным формальностям. Материалист". Или он не грубоват и не склонен к занудным формальностям. Или не материалист. При это работает исключительно по контрактам и фрилансит. Не объединяется той совокупностью свойств то, что вы объединяете категорией «делец»

                                                                                                                      А говнокод у всех свой. По- разному все его интерпретируют
                                                                                                                      • +3
                                                                                                                        Отношение к слову «говнокод» у всех одинаковое, категорически не приемлемое, однако в силу некоторы