Многие вещи в мире подчиняются закономерностям. Подобно книге «7 навыков высокоэффективных людей», у отличных программистов также есть семь основных качеств. Некоторые из этих качеств врождённые, то есть таланты, но некоторые приобретаются через обучение, прогресс, накопление и обобщение в повседневной работе программиста. Каждый программист хочет знать, является ли он отличным программистом, поэтому обратитесь к следующим 7 пунктам и проверьте, соответствуете ли вы стандартам отличного программиста.
1. Нравится помогать другим, заботиться о программистах, которые менее квалифицированы, чем вы
Программисты обычно вспыльчивы и часто спорят с клиентами, коллегами и даже начальством по вопросам программирования. Отличные программисты умеют поставить себя на место других, понять невежество клиента, некомпетентность младшего программиста и беспомощность начальника. Они всегда с максимальным терпением помогают другим, помогают коллегам и помогают новым сотрудникам, чтобы те могли быстро расти.
2. Страстно увлечены программированием
Многие программисты работают в этой сфере только для того, чтобы заработать деньги. Если бы существовала более выгодная профессия, они без колебаний бросили бы работу программиста. Отличные программисты любят программирование и получают удовольствие от погружения в проблемы в коде. Они чувствуют, что умение управлять компьютерами, чтобы помогать людям и самим себе решать реальные задачи, — это волшебная способность. Когда они сталкиваются с неразрешимыми проблемами, они теряют аппетит и не могут спать.
3. Настоящий мастер умело использует инструменты
Отличные программисты знают, как выполнять задачи более эффективно и решать проблемы более результативно. Столкнувшись с проблемой, они не увязают в деталях и умеют использовать внешние инструменты для решения своих задач, особенно хорошо владеют поисковыми системами. Начинающие программисты используют для поиска решений только Baidu и Baidu Knows, тогда как опытные/отличные программисты используют Google и такие сайты, как Stack Overflow или форумы MSDN, чтобы находить более качественные ответы.
4. Прагматичность и гибкость
У многих программистов есть общая черта: они не любят ограничения, не любят правила, не любят отмечаться на входе, не любят писать логи, не любят писать тесты, не любят утренние совещания и так далее. Но отличные программисты готовы следовать правилам. Они знают, что индивидуальный героизм присущ программистам, но разработка формального проекта — это командная работа, а там, где есть коллектив, должна быть дисциплина. Однако отличные программисты не жёстки и не догматичны; они постоянно корректируют свою стратегию в зависимости от изменений среды и развития ситуации, чтобы правила лучше служили работе.
5. Интересуются не только техническими знаниями, но и нетехническими знаниями
Некомпетентные программисты любят зубрить в последнюю минуту и учиться только тогда, когда это необходимо. Отличные программисты по собственной инициативе изучают различные соответствующие знания и открыто относятся ко всем источникам знаний, в отличие от некоторых людей, которые самодовольны и не развиваются. Более того, они не ограничиваются техническими знаниями, связанными с карьерой; они также изучают любые знания, которые находят интересными, например навыки общения.
6. Умение вовремя отпустить
В софтверных компаниях Китая есть распространённая проблема: они любят нагромождать функции, всё время мечтая создать большое, универсальное, всеобъемлющее программное обеспечение, которое работает везде. Но в действительности такое ПО обычно терпит неудачу, и многие проекты бросают на полпути. Отличные программисты знают, когда и как нужно отпустить. Когда сроки поджимают, людей не хватает, а требования неясны, они решительно определяют, какие функции следует отложить, а какие нужно выпустить в первую очередь.
7. Наличие предпринимательского духа
Многие программисты любят считать себя наёмными работниками, воспринимают себя как сотрудников и работают с психологией наёмного работника. Отличные программисты считают себя владельцами предприятия; они знают, что интересы компании тесно связаны с их собственными. Более того, отличные программисты представляют, что если бы они начали собственное дело, какие знания им понадобились бы и каких навыков им не хватает. Только поставив себя на место владельца, можно по-настоящему понять, какие навыки нужны для управления предприятием.
Источник: http://www.vaikan.com/traits-of-good-programmer/