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

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

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

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

Кто такой программист?


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

Название профессии произошло от древнегреческого πρό и γραμμα (пред и запись соответственно). Другими словами, если переводить название профессии программиста буквально, то мы получим "предписание", из чего становится понятно, что этот специалист предписывает как должно быть. Несмотря на то что профессия молодая, первую программу решения уравнения Бернулли в 1843 году написала Ада Лавлейс, между прочим, дочь знаменитого поэта Джорджа Байрона, графиня и математик. Ей и присвоено почетное звание «первый программист», хотя профессия преимущественно мужская. Сегодня программисты известны во всем мире и часто занимают на страницах прессы не меньшее место, чем, скажем, звезды кино. Кто не знает имена Стива Джобса, Майкла Цукерберга, Сергея Брина, Евгения Касперского или одного из самых богатых людей мира Билла Гейтса?

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

Отметим, что профессия программиста неоднородна. Внутри профессии существует несколько узких специализаций:

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

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

Какими личностными качествами должен обладать программист?


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

  • способность к самообучению;
  • терпеливость;
  • выдержка;
  • коммуникабельность;
  • инициативность;
  • самостоятельность;
  • креативность;
  • ответственность;
  • упорство.

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

Преимущества профессии программиста

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

Второе несомненное преимущество - высокая оплата труда. Даже начинающий программист может рассчитывать на зарплату около 30-40 тысяч рублей. Если же говорить о зарплате высококвалифицированного программиста, то яркий пример таких именитых программистов, как Павел Дуров и Илья Сегалович свидетельствует о том, что доход специалистов в сфере IT может исчисляться миллионами (если не миллиардами).

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

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

Недостатки профессии программиста


Разработка программного продукта предполагает высокую степень рутинности и монотонности: одна единственная ошибка, допущенная при создании программного кода, может обернуться многодневными поисками "проблемного сектора", а это просмотр (иногда многократный) огромного количества программного кода и тщательное обдумывание способов исправления ошибки. И это, пожалуй, самый большой недостаток профессии программиста .

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

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

Где можно получить профессию программиста?

Российский институт профессионального образования "ИПО" - проводит набор учащихся на получение Обучение в ИПО - это удобное и быстрое получение дистанционного образования. 200+ курсов обучения. 8000+ выпускников из 200 городов. Сжатые сроки оформления документов и обучение экстерном, беспроцентная рассрочка от института и индивидуальные скидки. Обращайтесь!

Чтобы получить профессию программиста необходимо пройти обучение в ВУЗе на базе которого осуществляет подготовка по таким специальностям, как "Программное обеспечение вычислительной техники и автоматизированных систем", "Прикладная математика и информатика" или "Математическое обеспечение и администрирование информационных систем". Сразу предупреждаем, что поступить на эти специальности сложно: конкурс очень высокий, и осуществить свою мечту могут только самые достойные и талантливые.

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

  • Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики;
  • Московский государственный технологический университет им. Баумана;
  • Санкт-Петербургский государственный политехнический университет;
  • Московский физико-технический институт (МФТИ);
  • Московский государственный университет имени М.В. Ломоносова.

Подробности Обновлено: 26.01.2020 13:53

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

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

История профессии

Сейчас считается преимущественно мужской, но первым человеком, создавшим компьютерную программу, была женщина – Ада Лавлейс. Случилось это в 30-хх годах ХХ в, когда Чарлз Бэббидж создал прообраз современного компьютера. Сконструированная им аналитическая машина могла выполнять только элементарные арифметически действия, она была огромной и внешне мало напоминала современный компьютер.

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

Особенности профессии

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

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

Существует много направлений в программировании и основные из них:

  • Программист 1С
  • ERP программист
  • Системный программист
  • Веб-программист

Нередко программисты занимаются фрилансом или работают удаленно.

Обязанности

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

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

К обязанностям программиста относится:

  • создание и внедрение автоматизационных методов программирования,
  • алгоритмических языков.

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

Важные качества

Программист – это человек, который склонен к самообучению.

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

Хорошему специалисту нужны:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9. Лень

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Необходимые профессиональные умения и знания

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

Другой вопрос, что нужно знать чтобы поступить на программиста. Здесь невозможно за 2–5 лет вырасти в профессионала, если подойти к профильному образованию с минимальным набором школьных знаний. Желая опередить соперников, со старта карьеры получить преимущество, каждый программист (будущий) должен приступать к освоению профессии с отличной базой:

  • по математике (здесь же – логика, теория вероятности);
  • физике;
  • информатике;
  • английскому, русскому.

Что должен знать программист для работы на перспективу (карьера, зарплата, репутация)? Нужно глубокое понимание архитектуры программной среды, где предстоит работать, принципов кодирования, знание простейших методов создания программ.

Знать нужно очень много: стандарты программирования, концепцию проектирования задач, методологию тестирования ресурсов. Чем глубже студент погружается в основы математики (анализ, графы), тем сильнее его позиции, шире арсенал применяемых инструментов.

Дополнительные навыки делающие конкурентоспособным на рынке труда

Какие навыки помогут быстрее завоевать рынок престижных вакансий?

  • Умение работать в команде для IT-специалиста – 50% успеха его становления на любом поле (разные архитектуры сетей, языки программирования).
  • Усидчивость, упорство, неумение сдаваться.
  • Аналитический склад ума + критическое мышление позволят отмести априори неисполнимые задачи. Умение экономить время заказчика – самый важный плюс профессионала.
  • Аргоритмизированный подход (системность характера) поможет добиться успеха быстрее.
  • Особенность профессии – работа в условном отрыве от социума – определяет некоторые привычки программиста, которые в будущем могут снизить его эффективность. Потому навыки позитивного общения и умение презентовать свои идеи, привычка быть в курсе популярных алгоритмов, сервисов тоже являются полезными навыками.

Что должен знать новичок

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

  • навыков написания программ на 2–3 популярных языках (оптимальными для начинающего специалиста считаются Python, JavaScript, HTML);
  • знания и понимания алгоритмов, баз данных, паттернов программирования;
  • изучения фреймворков (программная среда под разные операционные платформы – Windows, iOS).

Всем нужен английский язык и понимание принципов логики. Многое определяет выбранное направление работы. Веб-программисту важно умение писать программы и понимание архитектуры разных платформ. Системным программистам необходимо освоить API ОС.

Необходимые знания для поступления

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

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

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

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

Игорь Селецкий, 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, сказал: “Многие знакомы с достоинствами программиста. Их всего три, и, разумеется, это: лень, нетерпеливость и гордыня .” Объясняется это просто: ленивый человек, скорее всего, найдет наиболее эффективный способ решения задачи. Поэтому, если вы обнаружили у себя несоответствие с вышеперечисленными пунктами, то не теряйте энтузиазма. Найдите “позитивное” применение своим особенностям.