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


ТОП-10 качеств программиста. Мнение лучших работодателей | GeekBrains

Личностные качества хорошего разработчика глазами ведущих IT-компаний.

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

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

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

Рекомендуется брать поправку на личные особенности при выборе работы. Например, интроверту, скорее всего, будет комфортнее работать удаленно. А экстраверту - в open space-офисе.

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

Автор: Михаил Климов

Тем, кто хочет стать программистом, рекомендуем профессию «Веб-разработчик».

geekbrains.ru

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

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

Интеллект

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

Любопытство

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

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

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

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

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

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

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

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

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

Лень

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

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

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

moeobrazovanie.ru

14 качеств хорошего программиста - читайте на Tipler.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример вопроса для интервью: Поделитесь впечатляющим опытом команды.

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

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

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

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

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

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

tipler.ru

Какие личностные качества нужны разработчику? / Хабр

Начинающий программист Ewa Mitulska-Wójcik описала в недавней публикации на Медиуме свои мысли о необходимых разработчикам личных качествах. Публикуем перевод этой заметки и небольшой комментарий в самом конце.

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

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

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

  1. Делиться возникшими проблемами с другими ребятами в команде.
  2. Отчитываться о деталях прогресса в системе управления проектами, вроде Jira.
  3. Выражаться ёмко и конкретно, насколько возможно, когда этого требует ситуация.
  4. Уметь слушать и быстро реагировать
  5. Чётко объяснять все потребности, сомнения, риски и прогресс проекта в понятной остальным членам команды, менеджеру или клиенту форме.
  6. Объяснять технические проблемы так, чтобы вас понимали клиенты и члены команды, не связанные с технической частью.
  7. Полное профессиональное владение английским. Знать больше одного иностранного языка — всегда плюс. Я за испанский ;)
  8. Открыто высказываться о проблемах, заниматься поиском решений до появления конфликтов.
  9. Приводить состоятельные аргументы в пользу предложенных вами технических решений
  10. Дотошно относиться к коду, документации, отчетам и тикетам.
  11. Быть готовым к общению с другими программистами на форумах, в блогах и на конференциях. Делиться своими знаниями и не бояться выступать с микрофоном перед большой аудиторией.

Это только несколько ситуаций, когда коммуникативные навыки имеют решающее значение.

"Много будешь знать — скоро состаришься" — это не про разработчиков. Желание всё знать — самое реактивное топливо для новых изобретений и саморазвития. Экспериментаторство помогает видеть картину в целом и находить новые решения.

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

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

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

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

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

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

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

Быть хорошим стратегом — значит замечать подводные камни до момента столкновения с ними.

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

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

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

Со временем некоторые фреймворки и языки становятся более популярными, а вы можете увеличить заработок, зная какие языки, фреймворки и библиотеки более востребованы.

Быть открытым новым идеям также означает быть терпимым и проявлять уважение и инициативу. Не будьте хейтером React'а только потому, что не знаете его и работали на Angular последние несколько лет. Отрывайтесь иногда от монитора и ходите на конференции, митапы. Общайтесь с другими разработчиками в реальности и оффлайн. Оставайтесь голодными! Оставайтесь безрассудными!

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

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

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

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

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

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

А каким хотите стать вы? С каким типом разработчика идентифицируете себя вы? Насколько вы уверены, что движетесь в правильном направлении как новичок? Если вы работаете годами программистом, чего вы достигли?

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

(Перевод Наталии Басс)

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

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

Многие программисты стали программистами именно потому, что не хотят много общаться с людьми, не хотят публично выступать, не хотят вдаваться в бизнес-вопросы. Они нашли для себя такую профессию, где эти качества и желания не являются настолько критичными, как в некоторых других профессиях. И это успех: человек нашел свое дело. Это не плохо, это не "неудачники-интроверты", это просто их природа и особенность. Некоторые не любят такие качества в себе и хотят измениться: супер, в статьях вроде этой есть хорошие советы для них. Другие же не хотят меняться, и они ничего никому не должны. Это не делает их плохими программистами. Хороший менеджер умеет работать со всеми и строить такую среду, где каждый сможет работать без страданий. Или же открыто объяснит, что это невозможно, и человеку, возможно, стоит найти более подходящую для него работу. Не потому что "ты нам не подходишь", а потому, что "мы тебе не подходим".

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

Настоящие программисты получают удовольствие от программирования.

habr.com

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

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

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

Учи код!

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

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

Пройди бесплатный тест. Узнай в какой сфере тебя ждет финансовый успех.

Лимит времени: 0

0 из 16 заданий окончено

Вопросы:

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16

Информация

Cколько ты сможешь заработать. Станешь ли ты трейдером или востребованным копирайтером.

Вы уже проходили тест ранее. Вы не можете запустить его снова.

Тест загружается...

Вы должны войти или зарегистрироваться для того, чтобы начать тест.

Вы должны закончить следующие тесты, чтобы начать этот:

Время вышло

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

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

    Если вас устроит меньший более гарантированный доход с большим количеством ваших усилий, то рекомендуем почитать о способах заработка без вложений – //earn24.ru/kak-zarabotat-v-internete-bez-vlozenij-novichku/

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  1. С ответом
  2. С отметкой о просмотре

3. Умение общаться. Тактичность в общении, правильная речь и умение поддержать беседу в любой обстановке – прямые признаки высокого интеллектуального развития. Если вы хотите нанять на работу “немого” программиста, которого считаете толковым, знайте, он таковым не будет.

4. Скрытые знания. Отличный вопрос для собеседования – “Не могли бы вы рассказать подробнее о своих личных проектах, которыми вы занимались в свободное время, не включив их в резюме?”. Если имея исчерпывающее резюме, человек не может ничего ответить, это говорит о том, что у него нет заинтересованности в выбранной профессии.

5. Широкая специализация. Любой среднестатистический программист на собеседовании, чтобы впечатлить вас, будет перечислять с дюжину различных технологий, которыми он владеет, например, SQL, Hibernate, Spring, EJB, Java и так далее. Хороший кодер должен владеть несколькими базовыми языками программирования, а также несколькими высокоуровневыми – Python, Lisp, Perl, Forth.

6. Официальная квалификация. Наличие различных сертификатов и аттестатов, безусловно, положительный признак, ведь они указывают на наличие у человека определенного набора знаний, но гарантировать качество выполнения работы они не могут. Возрастные показатели тоже значения не имеют – специалист может быть производительным как в 40, так и в 20 лет.

Итак, давайте подведем итоги, составив краткий список хороших и плохих качеств программиста:

Положительные качества и признаки  программиста:

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

 Отрицательные качества и признаки программиста:

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

А какие вопросы вы первым делом задаете незнакомым фрилансерам и программистам в частности?

earn24.ru

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

Программирование

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

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

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

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

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

 

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

 

 ПРОГРаММИСТ

  

Качества, которые помогут быть успешным в этой профессии

 (профессионально важные качества):

 Способности, умения:

·         высокий уровень развития логического мышления

·         гибкость и динамичность мышления

·         способность анализировать ситуацию (аналитические способности)

·         хороший уровень развития долговременной и оперативной  (кратковременной) логической памяти

·         память на условные обозначения (знаки, символы, планы, схемы, графики)

·         высокий уровень развития концентрации, объема, распределения и переключения внимания

·         способность грамотно выражать свои мысли

·         развитое воображение

·         тактильная чувствительность (чувствительность пальцев)

·         устойчивость кистей рук (низкий тремор)

·         внимание к деталям

·          способность к созданию образа по словесному описанию

·         развитое абстрактное мышление

·         креативные способности

·         переносимость статических физических нагрузок

·         умение быстро ориентироваться в окружающей обстановке

·         умственная работоспособность

·         склонность к исследовательской деятельности

·         умение предвидеть результат

·         высокий уровень развития технических способностей

·         хороший уровень развития математических способностей

 

Личностные качества, интересы и склонности:

·         внимательность

·         аккуратность

·         терпеливость

·         самостоятельность

·         настойчивость и упорство

·         целеустремленность

·         ответственность

·         старательность, исполнительность

·         склонность к интеллектуальным видам деятельности

·         умение самостоятельно принимать решения

·         независимость (наличие собственного мнения)

·         самодостаточность (ориентация на собственные силы, уверенность в себе)

·         усидчивость

·         способность заниматься длительное время кропотливой, монотонной работой

·         умение работать в команде

·         наблюдательность

·          

Качества, препятствующие эффективности профессиональной деятельности:

·         невнимательность, рассеянность

·         нетерпеливость

·         низкий уровень  логического и абстрактного мышления

·         ригидность мыслительных процессов

·         сильно развитая близорукость

 

В каких областях может работать программист?

·         вычислительные и Научно-исследовательские центры (институты)  

·         предприятия и организации различного профиля

·         система банков

·         образовательные учреждения (школы, колледжи, ВУЗы)

·         IT – компании

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

·         органы управления

·         промышленное производство

 

Содержание работы программиста:

·         разработка программного обеспечения

·         разработка операционной системы, интерфейса, работа с сетями

·         работа с глобальными сетями

·         разработка технологии решения задач по обработке информации, определение схемы и алгоритма обработки данных, выбор языка программирования для описания составленных алгоритмов

·         определение информации, подлежащей обработке на компьютере, ее объема, структуры, схемы  ввода

·         определение возможности использования готовых программ

·         адаптация имеющихся программ под особенности конкретного предприятия (отладка разработанных программ, определение возможности использования готовых программ, разработан­ных другими организациями)

·         нахождение и устранение различных ошибок, которые возможно, содержатся в программе

·         разработка инструкции по работе с компьютерными программами,  разработка и оформление технической документации

·         сопровождение внедренных программ и программных средств

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

 

Чем профессия привлекательна?

·         высокий социальный престиж про­фессии

·         возможность реализации творческих способнос­тей

·         большая степень свободы и независимости в работе

·         «интернациональность» профессии

 «Подводные камни»:

·         малоподвижный характер работы

·         «рваный» рабочий ритм

·         риск снижения уровня социальных контактов и связей

 

Возможные профессиональные заболевания:

·         сердечно­сосудистые

·         глазные

·         заболевания опорно-двигательного аппарата

·         гиподинамия и другие нарушения, вызванные малоподвижным образом жизни

·         нервные рас­стройства

 

Противопоказания по здоровью:

·         нервно–психические расстройства

·         нарушение цветоразличения

·         выраженные заболевания глаз

·         расстройства координации движений

  

Карьерные перспективы связаны с административными должностями менеджера группы или проекта, администратора сети.

Профилирующие предметы школьной программы и  до­полнительного образования:

программирование и информатика, математика, английский язык,

ddut.ru

О личных качествах программиста / Хабр

В продолжение Об информатике вообще, и О знаниях и умениях программиста.

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

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

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

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

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

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

Самостоятельность и дисциплина Некоторые программисты перестают действовать, когда встречаются с трудностью, выходящей за пределы их компетенции и начинают ждать, когда руководитель разрешит возникшую проблему и внесёт поправки к заданию. Многие программисты любят работать по чётко поставленному заданию и стараются не отклонятся от него, а просто делать в точности то, что в нём написано. И всё это правильно. Самостоятельность, о которой идёт речь, не должна выходить за рамки поставленных задач, но она должна быть! Необходима активность в плане поиска более простых и оптимальных решений, обходных путей, анализа возникающих проблем и их самостоятельного преодоления либо своевременного отчета о них своему руководителю. Необходима постоянная работа по самообразованию и самоконтролю. Также важна культура труда. Опасно перерабатывать и вредно лениться. Нужно уметь делать выбор в пользу наиболее приоритетной задачи, а не самой интересной. Дисциплина и распорядок дня играют важную роль в работе программиста.

Каждое из перечисленных качеств, развитое надлежащим образом, может усилить вашу мощность как программиста примерно в 2-3 раза.

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

habr.com


Цельнозерновые злаковые
Жиры
Овощи
Фрукты
Напитки
Физическая активность