ru
ru en

Какими качествами должен обладать инженер-разработчик?

В условиях, когда электроэнергетическая отрасль стремительно развивается, для многих компаний, разрабатывающих инновационное оборудование, чрезвычайно остро встает вопрос подбора ключевых кадров – инженеров-разработчиков. Какими качествами должен обладать такой специалист? Как эти качества идентифицировать в кандидате в ходе собеседования? Ответам на эти вопросы посвящена данная публикация.

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

  • Автоматизация. Развитие компьютерно-технологических систем производства. Фундамент процесса производства составляют высокие технологии, наукоемкие и ресурсосберегающие. Инновации стали неотъемлемым атрибутом нашего времени.
  • Информатизация. Огромные потоки информации проходят через Всемирную паутину. Интернет проникает в каждый дом. Аналитическая компания Netcraft в сентябре 2014 опубликовала отчет, согласно которому количество работающих сайтов в сети перевалило за миллиард.
  • Главенствующая роль интеллекта. В постиндустриальном обществе на сферу услуг приходится больше половины ВВП. Главным производственным ресурсом становятся знания и информация. Работники интеллектуального труда из «винтиков в системе» превращаются в независимых высокопрофессиональных специалистов.

Увеличение на рынке работников интеллектуальной сферы по сравнению с представителями сферы физического труда мы можем наблюдать в реалиях нашей жизни. Как отмечает Питер Ф. Друкер, один из ведущих теоретиков по проблемам управления, именно от производительности работников умственного труда «будет зависеть будущее процветание – более того, само существование, – развитых стран» [1].

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

При этом возникают следующие вопросы:

  • Способен ли будущий сотрудник решать задачи по разработке новых продуктов?

  • Может ли сотрудник справляться с монотонной однообразной работой без осязаемого результата своего труда, или он будет более эффективен при работе с «железом», которое более осязаемо и материально?

  • Готов ли получать инструкции от более опытных коллег и руководителей и следовать им?

  • Если кандидат – студент, только окончивший вуз, какова вероятность того, что профессию он выбрал исходя из своих психологических задатков?

  • Какими качествами или их задатками должен быть наделен кандидат, чтобы быть успешным и производительным работником?

Ответить на эти вопросы возможно, в этом нам поможет метод сравнения. Если взять для рассмотрения ситуацию приема на работу кандидата на вакансию разработчика, то нам необходимо сравнить качества, присущие этому кандидату, с неким эталоном, «идеалом», если хотите. Но, так как идеальных людей не бывает, это всегда будет степенью соответствия. Принятие решения о приеме кандидата на работу будет в этом случае готовностью принять определенную степень соответствия «идеалу».

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

Каковы качества успешного разработчика?

Высокий уровень интеллекта является неотъемлемой характеристикой работников умственного труда. Вы не встретите разработчика с низким уровнем интеллекта, это взаимоисключающие качества. Точно так же, как психологом не может работать человек, не умеющий общаться и устанавливать контакт с разными типами и категориями людей. Высокий IQ – качество, характеризующее работника умственного труда в целом. Мы не могли не упомянуть об этом. Однако есть качества, а точнее их сочетание, отличающее успешного разработчика от других работников умственного труда:

  • Творческий подход к решению производственных задач. В контексте данного качества можно привести пример инженера-программиста. Ф. Брукс, ученый в области теории вычислительных систем и разработчик OS/360 в IBM, в своем бестселлере «Мифический человеко-месяц» писал [2]: «Программист, подобно поэту, работает почти непосредственно с чистой мыслью», т.е. создает из нулей и единиц невероятные по своей сложности и красоте архитектурные системы. Можно с уверенностью утверждать, что даже если задание будет четко пошагово определено, два разных человека выполнят его по-разному, не говоря уже о программистах, способных закодировать одну и ту же программу совершенно отличными способами. Без творческого подхода не представляется возможным быть эффективным, когда суровые будни разработчиков ПО представляют собой исправление ошибок в новой версии продукта, что может повлечь за собой появление новых ошибок в уже, казалось, работающих модулях. Сопровождение подобных продуктов превращается в процесс созидания над кодом и поиск ответа на вопрос, что такое бы сделать, чтобы все работало. В программировании есть место и для искусства. Смысл в том, что у кода также есть своя «красота и чистота», и для понимающих людей в программировании есть место эстетическому наслаждению. С. Архипенков, эксперт в управлении разработкой ПО, на мой взгляд, очень точно подметил в своей книге «Руководство командой разработчиков программного обеспечения» [3], что программирование не является искусством или наукой. Это ремесло, т.е. требующая специальных навыков работа по созданию чего-либо ручным способом. Безусловно, путь к мастерству лежит через опыт. Невозможно научиться программированию, читая книги. Так же, как невозможно стать психологом, не общаясь с людьми. Производительность программиста связана с творчеством, а, следовательно, и с вдохновением. И чем сложнее вы ставите задачу, тем сильнее программист должен аккумулировать свои творческие резервы и притягивать вдохновение. Успешные писатели выявили определенные закономерности в процессе привлечения неуловимого вдохновения.
  • Способность к постоянному обучению. Исследовательская работа, а также освоение новых принципов и подходов в работе становятся неотъемлемым атрибутом успешного разработчика.
  • Абстрактность мышления. Разработчики работают на более высоком уровне абстракций, чем поэт, художник и композитор. У программиста нет читателя или слушателя, который мог бы домыслить замысел создателя. Абстракции присутствуют на всех уровнях разработки, и этих уровней может быть множество.
  • Системное мышление. Невозможно удержать в голове многочисленные взаимосвязи абстракций на всех уровнях без высокоразвитого системного мышления.
  • Усидчивость. С упорством и сосредоточенностью разработчик может часами анализировать варианты абстракций и их динамическое взаимодействие.
Сохраненное изображение 2015-4-28_9-27-35.81
Рис. 1. Отличительные качества инженера-разработчика

Как выявить обозначенные качества у кандидата?

Творческий подход, абстрактность и системность мышления выявляются во время интервью с помощью так называемого «кейс-метода» (case-study) [4], который впервые был применен в Гарвардской бизнес-школе в 20-х годах XX века при подготовке менеджеров и с тех пор успешно применяется не только при обучении, но и при оценке знаний и умений.

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

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

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

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

Кейс-метод хотя и потребует от интервьюера значительной подготовки при создании «кейса», но даст в итоге понимание, насколько соответствует кандидат уровню необходимых качеств. В конце концов, кейс-метод – интересная игра, в том числе и для кандидата.

Если кейс-метод не дал вам информации о таком качестве как стремление к постоянному обучению, в этом случае вам помогут вопросы о том, какую литературу читает кандидат, как относится к последним новостям из профессиональной области.

Усидчивость также можно проверить с помощью кейс-метода, в котором будет описана ситуация монотонной повторяющейся работы без видимых результатов на протяжении длительного времени. Помогут вопросы следующего типа: «Что вы обычно делаете, чтобы вернуть себе желание продолжать работу над проектом, от которого уже устали?». Даже у студентов без опыта работы была такая ситуация, например, при подготовке диплома. Ответы о способах, с помощью которых кандидат справляется с исследовательской монотонной работой, даст вам представление об уровне его усидчивости.

Вы можете задать вопрос: неужели достаточно поставить оценку по 10-ти бальной шкале напротив каждого из пяти качеств по степени выраженности и на основе этого принимать решение о приеме на работу?

Для первичной оценки кандидата на собеседовании этого вполне достаточно. Вашей задачей на собеседовании не является подготовка психологического портрета личности. Оставьте эту работу психологам и специальным консультантам. Однако, HR-менеджеры и другие специалисты, проводящие собеседование, а также люди, работающие с разработчиками, руководящие целыми отделами, могут посчитать подобную оценку недостаточной. Как практикующий психолог, я соглашусь, что подобной оценки недостаточно. Это лишь первичное отсеивание кандидатур. После того как вы выбрали нескольких обладателей нужных пяти качеств, необходимо сделать более глубокий анализ, понять человека немного глубже, оценить, насколько близка работа разработчика его внутреннему складу личности, не убежит ли он от вас через полгода, разочаровавшись в предложенной работе из-за несоответствия обязанностей его типу личности. Эти вопросы мы более детально рассмотрим в будущих публикациях нашей рубрики.

Список литературы

  1. П. Друкер, “Задачи менеджмента в XXI веке”, М., “Вильямс”, 2002.
  2. Брукс Фредерик, “Мифический человеко-месяц, или Как создаются программные комплексы”, Пер. с англ., СПб., Символ-Плюс, 1999.
  3. С. Архипенков, “Руководство командой разработчиков программного обеспечения”, 2008.
  4. Л.В. Лежнина, “Кейс-метод в обучении педагогов-психологов: научно методический аспект”, Журнал «Наука и школа», №5 за 2008 год.