Качества необходимые программисту. Программист « В помощь выпускникам « Полезная информация. Обучение на программиста

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

Интеллект

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

Любопытство

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

Абстрактное мышление

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

Внимательность

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

Умение сдерживать своего внутреннего идеалиста

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

Умение сосредотачиваться

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

Лень

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9. Лень

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Умение общаться

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

Умение слушать

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

Командная работа

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

Лидерство

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

Наставничество

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

Гибкость

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

Креативность

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

Умение вести переговоры

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

Умение делать презентации

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

Целеустремленность

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

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

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

Всё зависит от особенностей работы в конкретной компании

Игорь Селецкий, CEO & Founder в Cloud Linux Inc.:
Все люди разные и программисты в том числе. Одни могут летать в облаках, другие будут “цепляться” к деталям - и те и другие важны, пусть и для различных позиций, задач и даже компаний.
А так, главное, чтобы человек был хороший.
Я могу назвать качества, которые значимы для работников в моей компании. Но ведь это не важно. Есть другие компании, где эти качества не играют никакой роли или, наоборот, очень мешают.
У нас вся работа удалённая, поэтому необходимо, чтоб программисты могли сами следить за своим временем и умели работать сами по себе. А люди, которым обязательно нужен тесный контакт (“face to face”) у нас не приживаются. Но это наша специфика. У большинства компаний наверняка наоборот. Но это всё “качества” нужные отдельным компаниям, позициям, а не программистам в общем.

“Работа программиста - это решение задач”

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

Дмитрий Ейбоженко, Development Team Lead в Яндекс:

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

Аналитический склад ума, упорство и умение работать в команде

Иван Луковников, вице-президент по разработке и облачным технологиям в Acronis:

В первую очередь, хороший разработчик должен обладать аналитическим складом ума. Даже самые сложные задачи программирования имеют логическое решение. В идеале, программист должен получать удовольствие от решения таких задач; особенно, если все решено просто и красиво.
Второе качество - это, конечно, упорство. Чтобы по-настоящему изучить основы компьютерных наук, необходимо достаточно много времени. Придется потратить тысячи часов, программируя и решая подчас головоломные задачи. Разумеется, если вы любите свое дело, вам это будет не так сложно. Но, тем не менее, потребуется много терпения и большая целеустремленность, чтобы достичь на этом пути настоящих успехов.
Третье качество - умение работать в команде. Написание кода в - большинстве случаев вещь коллективная. Современному разработчику необходимо постоянно контактировать с коллегами, работать синхронно, легко читать чужой код и работать с ним.

Хорошая концентрация, усидчивость и алгоритмизированный подход

Александр Решетков, ИТ-директор компании Softline:

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

Хороший программист умеет презентовать свои идеи и общаться с людьми

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

Александр Горный, директор по информационным технологиям Mail.Ru Group:

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

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

Наиболее ценные качества программиста по мнению работодателей:

  1. Умение решать задачи
  2. Аналитический склад ума
  3. Упорство
  4. Умение работать в команде
  5. Хорошая концентрация
  6. Усидчивость
  7. Алгоритмизированный подход
  8. Ответственность
  9. Коммуникабельность
  10. Инициативность

Нужно понимать, что эти качества крайне желательны, но не обязательны. Здесь всё зависит от компании и специфики должности. Ларри Уолл, создатель Perl, сказал: “Многие знакомы с достоинствами программиста. Их всего три, и, разумеется, это: лень, нетерпеливость и гордыня .” Объясняется это просто: ленивый человек, скорее всего, найдет наиболее эффективный способ решения задачи. Поэтому, если вы обнаружили у себя несоответствие с вышеперечисленными пунктами, то не теряйте энтузиазма. Найдите “позитивное” применение своим особенностям.

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

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

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

Я выделил 14 качеств, которые помогут отобрать правильного претендента.

1. Хорошие технические навыки

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

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

2. Готовность учиться

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

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

3. Устранение ошибок

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

Например, при интервью Вы можете спросить: как Вы отслеживаете и исправляете ошибки в своем коде?

4. Идеальная рабочая среда

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

Можно спросить: Опишите Вашу идеальную рабочую среду.

5. Умение решать проблемы

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

Хороший вопрос при интервью: как бы Вы создали (можно предложить разобрать очень комплексный проект с использованием новых технологий)?

6. Страсть к работе

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

Хороший вопрос для интервью: Чем Вы увлекаетесь?

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

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

Вопрос при интервью: Опишите случай, когда Вы находились под сильным давлением, и Ваш проект не работал по причинам ошибок в коде. Что Вы делали в этой ситуации?

8. Коммуникационные навыки

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

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

9. Бизнес видение

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

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

10. Способность планировать

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

Пример для интервью: Объясните свой подход к новому проекту. Что Вы делаете в первую очередь?

11. Терпение к ошибкам

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

Пример вопроса для собеседования: Вам приходилось когда-нибудь проводить много часов за кодом и прийти к выводу, что Вы их потратили в пустую? Что Вы делали в этой ситуации?

12. Навыки командной работы

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

13. Готовность к исследованию

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

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

14. Уважение сроков

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

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то