Обновить

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

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

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

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

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

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

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

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

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

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

То, что один программист может быть в десятки раз продуктивнее другого – это не гипербола, а суровая реальность, с которой вынуждены мириться работодатели.
Теги:информатикапрограммированиеобразование
Хабы: Чулан
Рейтинг +9
Количество просмотров 364 Добавить в закладки 7
Комментарии
Комментарии 13

Похожие публикации

Лучшие публикации за сутки