«Образование в сфере компьютерных технологий точно так же не сделает из вас отличного программиста, как изучение кистей и красок не сделает вас прекрасным художником» Eric Raymond
Одна из самых распространенных проблем в ИТ – нехватка квалифицированных специалистов. С ней сталкиваются абсолютно все. Так и наши клиенты, которые имеют в своём штате ИТ-специалистов, часто задают вопросы: «А как вы отбираете, а как выращиваете своих специалистов?».
Поэтому в статье решили поделиться своими «секретами» подбора, накопленными более чем за 10-летний опыт работы компании. Надеемся, что они будут полезны и Вам.
Особенности рынка 1С
К сожалению, многие работодатели знают только одну профессию — Программист 1С. Это может показаться удивительным, но далеко не все специалисты по 1С являются программистами. И первое, что вам необходимо понять: какой именно специалист в сфере 1С вам нужен. Тех специалистов, которых подбираем, которые подбираются у клиента, мы бы поделили на три категории:
- Программисты 1С – это, соответственно, специалисты, которые программируют на 1С
- Аналитики (консультанты) – это специалисты, которые:
— собирают требования клиентов
— сопоставляют их с практиками построения бизнес-процессов в той или иной области
— на основании первого и второго интерпретируют требования к ИТ-системе и транслируют их клиенту
— получают согласованные с клиентом требования, которые берутся в работу и передаются программисту
3. Руководители проектов, руководители подразделений – это специалисты с управленческим навыком, которые управляют программистами и аналитиками. Их задача, используя и применяя навыки первых и вторых, достигать необходимого результата. Это, например, сопровождение информационной системы или какое-то проектное изменение, которое должно обеспечивать смену бизнес-процесса из состояния А в состояние Б.
Конечно можно выделить ещё «50 оттенков» специалистов, мы же считаем, что основных их три. При этом мы сегодня не будем говорить про руководителей, потому что это отдельная категория, которая требует отдельного обсуждения. Мы поговорим про то, что как раз полезно для них: как подбирать программистов и аналитиков.
В своей работе мы делим сотрудников на программистов и аналитиков. И людей подбираем таким же образом. Но довольно часто встречаются специалисты, которые совмещают в себе функции и аналитика, и программиста. В ИТ-среде их называют «котопёс». Такой вариант также имеет место быть.
Где искать ИТ-специалиста?
Так, например, в компаниях по разработке мобильных приложений не держат штатного специалиста по разработке этих приложений. Они заказывают услуги у компаний, которые занимаются профессиональной разработкой мобильных приложений. И, как следствие, разработчики довольно профессиональны, так как они росли в профессиональной среде.
У специалистов 1С всё немного по-другому. Мы считаем, что они проходят свой путь через три варианта развития карьеры или три места приложения своих усилий:
- Франчайзи. Это компании – партнёры 1С, которые в большей своей части занимаются франчайзингом и обслуживанием небольших клиентов. Такой рынок характеризуется относительно простыми задачами и, соответственно, небольшими суммами оплаты за эти работы. При этом у специалистов нет возможности развития, так как нет сложных задач и нет ресурсов на их развитие. Часто работы франчайзи выполняются в не очень профессиональных командах и, как правило, там вырастают не очень профессиональные специалисты.
- Штатный специалист. Второй путь развития – это развитие через ИТ-подразделение конкретных компаний. В таких компаниях бывает всего один или два специалиста и над ними нет никого, кто занимался бы профессионально их управлением и развитием. Как следствие, часто вырастают «кустарные» специалисты, которые не проходят технологичную школу. Это своего рода «Кулибины» – чему научились, тому научились. У них могут быть хорошие предпосылки к дальнейшему росту, но отсутствие достаточного объёма профессионального общения приводит к тому, что качество этих специалистов (качество того, как они пишут код; качество того, как они решают задачи клиентов) оставляет желать лучшего.
- Профессиональные компании. Это компании, которые занимаются крупными проектными внедрениями и крупным корпоративным сопровождением клиентов. Соответственно и специалисты здесь обладают высокими компетенциями.
Получается, что у нас есть четыре варианта специалистов, которых мы можем «отловить»:
- Новички – совсем «зелёные» специалисты, возможно, выпускники ВУЗов
- Специалисты из компаний – франчайзи
- Специалисты из профессиональных компаний
- Штатные специалисты
Какой из этих специалистов подходит вам?
Конечно идеальный вариант – это принимать сотрудников из профессиональных компаний. Но это не всегда оправдано. Во-первых, сотруднику нужно будет адаптироваться к новой корпоративной культуре. Во-вторых, если люди профессионалы и работают в профессиональной компании, то очень редко бывает, что они уходят просто так. И если они уходят, то это связано с чем-то «нездоровым» (например, из-за неприятного прецедента). Поэтому вариант найти профессионала маловероятный. И если вам посчастливилось взять профессионала к себе в команду, то вам действительно повезло.
Лично для нас подходящий вариант – это принимать на работу новичков. Но для компании, которая не специализируется на внедрении крупных проектов, а занимается решением конкретных задач, зачастую нет выработанной технологии роста новичков. Поэтому им сложно вырастить компетентного специалиста. И для них остаётся два варианта: либо это человек, который работал во франчайзи, либо штатный специалист.
Это специалисты, которые:
- обладают базовыми знаниями и навыками (они уже работали в этой сфере)
- желательно имеют опыт работы более 1 года
Когда мы принимаем на работу специалистов с базовыми знаниями и навыками по 1С, то исходим из того, что эти знания довольно-таки легко набираемы. И тут важно понять, а кто перед нами: «гном» или «ребёнок». Отличие «гномов» и «детей» в том, что «дети» вырастут, а «гномы» уже нет. И, когда к нам на собеседование приходит специалист, который в сорок лет обладает базовыми знаниями и навыками, то велика вероятность, что это «гном». И вероятно вам нужен специалист до сорока лет, а может быть и до тридцати. Ведь если до этого возраста человек не состоялся как профессионал, то потом состояться довольно сложно. И чтобы понять, будет ли специалист расти или нет, у нас есть набор тестов, которыми мы проверяем кандидатов.
Как подобрать программиста?
Стандартная задача для программиста: когда есть что-то на входе, и соответственно что-то на выходе. И программисту необходимо разработать алгоритм трансформации входа в выход и описать этот алгоритм. При этом не обязательно даже писать алгоритм на каком-то языке программирования, это может быть псевдоязык программирования. Так как программист в первую очередь должен обладать навыком алгоритмичного мышления, умением писать алгоритмы. А умение писать алгоритмы уже на каком-то языке – вот это как раз осваивается. И чтобы проверить у кандидата его способность к алгоритмичному мышлению, мы предлагаем ему решить задачи. Вот некоторые из них:
- Написать алгоритм разложения натурального числа N на простые множители.
- Написать алгоритм нахождения ближайшей степени двойки к заданному натуральному числу.
На самом деле это очень банальные и простые задачи. Но практика показывает, что даже программисты, позиционирующие себя специалистами, на которых держится вся система компании, не могут их решить. Они просто не могут к ним подступиться. И тут возникает вопрос: а как же они программируют, если они не умеют решать такие задачи. Это очень простой тест, который может дать на проверку HR или руководитель, который не является программистом.
Наш опыт показал: чем быстрее и творчески человек решает эти задачи, тем больше у него перспектив для роста. Если же программист не решает их – сразу его отметайте.
При этом, когда мы даём кандидату задачу, мы оцениваем насколько сильно он увлекается её решением. Программисты – это люди творческие. И если ваш кандидат начинает решать задачу увлечённо, то это говорит о том, что ему интересно её решать, а собственно любое программирование – это и есть задачи. И человек должен с интересом их воспринимать.
Если же кандидат отстранённо решает задачу, то возможно у него потерян внутренний интерес к программированию. Да, у него есть определённые знания и навыки, но из-за отсутствия вовлеченности и восприятия работы исключительно как источник заработка, он может быть менее продуктивным.
Таким образом, при оценке кандидата мы смотрим на два параметра:
- Решил – не решил задачу
- Вовлечён — не вовлечён в решение задач
Бывают специалисты, которые совмещают в себе компетенции программиста, и аналитика. Соответственно их следует проверить на собеседовании и как программиста, и как аналитика.
Как подобрать правильного аналитика?
Аналитик – это человек, который с одной стороны, как и программист решает алгоритмичные задачи, то есть мы также можем давать ему задачи на нахождение алгоритма. Но, с другой стороны, важная составляющая в их работе — логическое мышление, которое мы проверяем с помощью логических задач. И тут мы смотрим насколько вариативно и быстро кандидат пытается решить такую задачу.
Вариантами логических задач могут быть:
- Есть девять монет и весы с двумя чашами. Известно, что фальшивая монета тяжелее. За какое минимальное количество взвешиваний можно однозначно определить фальшивую монету? (примеры решений похожих задач)
- Есть три корзины. В одной корзине чёрные шары, в другой белые шары, в третье корзине и чёрные и белые шары. Все корзины имеют надписи: чёрные, белые, чёрные и белые. Все надписи заведомо ложные. У вас есть возможность подойти к одной из корзин, не глядя достать один шар. Вам нужно, глядя на цвет шара, который вы достали из этой корзины, однозначно сказать, в какой корзине, какие шары. (ответ здесь)
Логические задачи, которые мы даём кандидатам, также довольно простые, но то, как человек их решает, как рассуждает, показывает умение ясно мыслить. А для аналитика – это ключевое качество.
И само собой аналитик в отличие от программиста общается с пользователями, с функциональными директорами в компании, кому-то может и посчастливится с генеральными директорами общаться (когда они получают задачу непосредственно от них). Получается, что аналитики – это люди, которые безусловно должны обладать коммуникативными навыками. Поэтому в процессе собеседования можно оценить насколько ясно человек излагает свои мысли, начиная от того момента, когда он зашёл в кабинет.
Давайте обобщим. Подбирая в компанию аналитика, мы должны обратить внимание на следующие параметры:
- Умение решать логические задачи
- Наличие базовых коммуникативных навыков
- И, возможно, умение решать алгоритмические задачи (если предполагается решение сложных задач в компании)
Опять же повторимся, что такими задачами мы оцениваем базовые знания и навыки кандидата, которые позволяют понять нам, кто перед нами – «гном» или «ребёнок». А дальше, исходя из того, какого рода задачи будет решать специалист, в какой отрасли, какой сложности, вы определяете, какие вопросы можно задать и какие ответы желательно получить.
Для нас же важным является понять предпосылки к росту у кандидата, насколько он развиваем и насколько он будет ещё расти.
Эти технологии и подходы, которые мы описали и используем, проверены уже больше чем десятилетием. И практика показала, что как-только мы начинаем снижать наши требования и принимать на работу людей, которые не решают те задания, которые мы им даём на входе, то потом в процессе работы не получаем от них то, что хотели. Так и у клиентов: если ваши кандидаты, не решают задачи — это плохой знак, и вы скорей всего получите больше проблем, чем решений.
P.S. Если у вас остались вопросы по подбору ИТ-специалиста, то мы всегда на связи и будем рады вам помочь.