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

Вот здесь мне задали вопрос о том, что важнее для программиста: ум или усидчивость.

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

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

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

Итак, какие личные качества и какое их соотношение вы считаете наиболее оптимальными для успешного программиста?

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Целеустремлённость, коммуникабельность, креативность, стрессоустойчивость, клиентоориентированность, нацеленность на результат ну и так далее по списку.

Максимка здравствуй, давно не виделись :)
Это твой личный список целей?)

Без обид, если что. Я по-приятельски подтролливаю.

Коментар порушує правила спільноти і видалений модераторами.

что важнее для программиста: ум или усидчивость
Что важнее для грузчика: правая или левая рука?

Уметь разговаривать на языке заказчика

Что важнее в велосипеде: переднее или заднее колесо?

Слабоумие и отвага!

хто сильніше слон чи лев?
п.с.
комунікабельність

Как уже правильно написали — УМ это понятие абстрактное. Это в компах может стоять разное количество «мозгов», разное «железо» и легко понять кто «умнее». А насчет людей — да, бывают умственно отсталые, но вот что бы кто-то родился вдвое умнее чем остальные — в такое я не верю. Даже гении не сразу рождаются умными — они скорее результат одностороннего развития обычного человека, когда гениальность в одном достигается в ущерб остальному.
Теперь УСИДЧИВОСТЬ — полезное и, безусловно, необходимое программисту качество. Сюда же можно добавить НАСТОЙЧИВОСТЬ в достижении цели. Иногда на работе приходится тупо перебирать варианты, запускать по 100500 раз и без УПОРСТВА тут не обойтись. Человек вполне может стать программистом только на одних этих качествах. Как отличник — «зубрилка». Сел, зазубрил и пишешь по примерам. Если не получается — перебираешь варианты пока не получится.
Но это уровень джуна.
Что бы не остаться джуном, как минимум необходимо добавить ВНИМАТЕЛЬНОСТЬ и АККУРАТНОСТЬ. Большинство глупых ошибок — именно из-за их отсутствия и стремления джунов «писать 1000 строчек кода в минуту».
Понятно, что никакое развитие в ИТ невозможно без способности к САМООБУЧЕНИЮ. Она с одной стороны требует ОРГАНИЗОВАННОСТИ (дисциплина, тайм-менеджмент, умение себя заставить), а с другой ОБУЧАЕМОСТИ (признания того, что знаешь недостаточно и готовности искать и воспринимать знания и перенимать чужой опыт). Т.е. нужно учиться всю жизнь и из разных источников («учится можно у прохожего») и при этом понимать что тебе все еще есть чему учиться.
Ну а настоящим специалистом невозможно стать без ЛЮБОЗНАТЕЛЬНОСТИ. Т.е без желания вникнуть в детали, разобраться досконально как и что работает. Любой инженер в детстве должен был разобрать по винтикам хоть одну игрушку. Это основа процесса созидания: что бы придумать свое новое, надо сначала разобрать 100500 чужих изобретений.
И, наконец, что бы стать мастером — нужно ТВОРЧЕСТВО и ОДЕРЖИМОСТЬ им. Нужно желание создавать что-то свое только ради чувства достижения. В этом отличие между работой и призванием. Творить не потому, что начальник приказал, а потому что самому очень хочется.
Иногда это вызывает конфликты с работой — поэтому ПРАГМАТИЗМ и рациональный подход то же необходимы (иначе денег не будет).

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

я сказал, окей, он совсем простой, я сделаю это бесплатно, но что он ответил хорошие слова — «мне не надо бесплатно, мне нужно качествено»

прошу прощение за офтоп, но ваше основное конкурентное преимущество по сравнению с остальнымы — ввиде готовности работать за еду, выглядит спорным,

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

To lisander: зачем же вы так отзываетесь? кстати если у вас так и не получилось, можете например посмотреть на ветки других пользователей и как они решают этот вопрос,

в вашем случае это не удивительно что не получилось... простите если обидел

Главное качество для программиста (и не только) — умение устраиваться на работу, которое состоит из умения попасть на собеседование и умения притвориться умным на нем. Если этих умений нет, остальные ничего не значат.

для вашего бага можно было бы обойтись и юнит-тестами, разве не так?

или на худой конец функциональными? какое у вас покрытие юнит тестами кода? если более 70% то странно.

На самом деле аккуратность весьма важна. Я так недавно забыл поставить «! » перед именем метода в условии. Итого: баг, который исправился в секунду, но обошелся в время потраченное тестировщиком, чтоб его найти, затем мной, чтоб в процессе отладки найти источник бага, а потом еще раз тестировщиком, чтоб баг перепроверить.
Не все так просто, как кажется.

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

Аккуратность количество багов не снижает ни капли. Разве что глупых опечаток, которые сразу же компиляторами отсеиваются.

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

Самое главное качество в прогере — это чтобы у него кв. была недалеко от работы,

чтобы после очередного тим-билдинга не надо было в такси РЫГАТЬ!

2 lisander: не рассматриваются по той простой причине, что каждый такой случай индивидуальный, и говорить что-то в обще в рамках этой дискуссии, по-моему, бессмысленно...

«Понятно, что варианты людей с психическими расстройствами не рассматриваются. »

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

Ум вряд ли можно отнести к личным качествам. Личные качетсва — это усидчивость, порядочность, склочность и т.д...:)
Что касается квалификации программиста, то свое мнение я изложил здесь: twitter.com/...tatus/252671932
Из личных качеств я, кроме тех, которые важны безотносительно профессии (порядочность, ответственность и т.д.), выделил бы настойчивость.

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

ну уж столько об этом писали. вот из сегодняшнего реддита: What makes a good programmer?
примерно на ту же тему — Норвиг, Грэм, Сполски, etc etc.

а вообще что-то скучновато стало, не? все про личные качества, да куда ехать, да как на подоконнике строиться. хоть бы кто техническую статью написал. The Need For A Mentor And The Need For Mentoring, типа.

Хотел написать, что если это была ирония и я не понял, то извините.

Лояльность по отношению к руководству.

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

З.Ы. если с вашей стороны это была и я ее не понял, то извиняюсь.

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

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

Так что нужно говорить не об уме, а конкретном наборе способностей, востребованном конкретной профессией.

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

Обязательное присутствие на всех публичных мероприятиях

А это еще зачем нужно?

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

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

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

Хотя и с greench согласен. Не любящий свою работу програмист немногого стоит.

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

З.Ы. написал сумбурно, но думаю основная мысль понятна.

Нету четко определенных качеств, которые должны иметь все.

Люди разные. Главное чтобы в команде недостатки одного покрывались достоинствами другого и vise versa.

Підписатись на коментарі