15 качеств, которые отличают хорошего программиста

19413
2

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

1. Сильные технические навыки

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

Пример вопроса на собеседовании: «Опишите свой опыт разработок на других языках программирования».

2. Готовность к обучению

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

Пример вопроса на собеседовании: «Что вы делаете, чтобы ваши навыки оставались актуальными?».

3. Навыки отладки

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

Пример вопроса на собеседовании: «Как вы справляетесь с ошибками в коде?» (+можно выдать программисту тестовое задание по отладке кода).

4. Умение работать в любой обстановке

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

Пример вопроса на собеседовании: «Опишите свои идеальные условия работы».

5. Способность решать возникающие проблемы

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

Пример вопроса на собеседовании: «Как бы вы сделали (предложите решить какую-то совершенно невозможную задачу, применимую к вашей организации)?».

6. Увлечение работой

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

Пример вопроса на собеседовании: «Каковы ваши увлечения?».

7. Стрессоустойчивость

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

Пример вопроса на собеседовании: «Опишите ситуацию, когда вы были под огромным давлением и ваше приложение не работало. Как вы тогда поступили?».

8. Навыки общения с «обычными людьми»

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

Пример вопроса на собеседовании: «Объясните, как работает ваше любимое приложение так, что бы это смог понять обычный человек».

9. Лень

Автор книги «Языки программирования Perl» Ларри Уолл считает, что три главных навыка хорошего программиста это лень, нетерпеливость и гордыня. Лень может звучать как плохая черта для любого сотрудника, но IT-менеджеры говорят, что, если вы хотите найти лучший способ что-то сделать, спросите ленивого человека как. Скорее всего, этот человек найдет самый быстрый и эффективный способ. Разработчики часто находят способы для автоматизации процессов, что экономит компании время и деньги.

Пример вопроса на собеседовании: «Расскажите, как вы экономите свое время за счет автоматизации процессов».

10. Понимание бизнес-процессов

Если ФОКУСироваться только на создании ПО, то очень легко потерять из виду общую картину. Идеальный программист должен понимать, как работает бизнес и выходить за рамки создания приложений. Бизнес-ориентированный программист может предложить идеи для новых приложений, которые впоследствии улучшат работу.

Пример вопроса на собеседовании: «Вы когда-нибудь участвовали в улучшении бизнес процессов компании?».

11. Умение планировать

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

Пример вопроса на собеседовании: «Как вы начинаете работать над новым дизайном? Что вы делаете в первую очередь?».

12. Умение преодолевать неудачи

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

Пример вопроса на собеседовании: «Вы когда-нибудь проводили часы за изучением кода и поисками ошибки?».

13. Умение работать в команде

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

Пример вопроса на собеседовании: «Расскажите о своем опыте командной работы».

14. Готовность к исследованиям

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

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

15. Соблюдение сроков

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

Пример вопроса на собеседовании: «Расскажите, как вы работаете в условиях постоянных дедлайнов».

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

Если вы обладаете всеми этими качествами, то можете также ознакомиться со списком из 25 навыков, обладатели которых которые пользовались наибольшим спросом у работодателей в 2014 году по версии Linkedin.

Оставить комментарий

Комментарии | 2

Поиск