Автор Джейк Хоффнер

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

Страстный

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

Сосредоточьтесь - следите за мячом

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

Быстрый самообучающийся

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

Эксперт (под) домена

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

Командный игрок

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

Решение проблем

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

Мастер

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

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