«Нужно также всегда быть готовым отказаться от результатов… которые… могут оказаться бесполезными или концептуально неудачными...»
Да, очень знакомо. Порой удалёнными из репозитория могут быть сотни и тысячи строк кода. С этим поначалу трудно смириться, особенно если код твой.
А для меня скорее актуально: «Нужно быть готовым не отказываться от результатов нескольких месяцев работы, если код не получился идеальным, но нормально работает». Бывает иногда такое: «Что-то этот проект на руби прилично тормозит. Надо выучить Python и переписать всё.»
Если работает то и ладно. Но хороший код должен быть расширяемым. Не зря javadev так любят XML-конфиги и прочее. Я уже сталкивался с переписыванием небольших систем, не рассчитанных на расширяемость.
Можно было бы заострить внимание на умении вовремя остановиться в стремлении к гармонии и красоте, это похоже на умении принести их в жертву, но все же не идентично
«Профессионализм — это способность осознать меру своей некомпетентности»
Иными словами — программист должен быть самокритичен. Делая что-то так или не иначе, он должен 10 раз спросить себя а правильно ли это? и соотв. 10 раз перепроверить.
Вобщем если учитывать что «Если код не протестирован, то он не работает» то «Программист должен уметь проверять то что он делает и думает а не быть слишком уверенным в правильности своего мышления и кодинга»
Для окружающих это опасно еще тем что он «зазнается»… начинает думать что ему должны платить больше и больше просто за то, что он тут есть… и т.д. и т.п.
И как результат — действительно, становится менее эффективным.
Интересно, присуще ли это всем программистам или только нашим соотечественникам?
Ибо знаю не один пример из числа немецких коллег, где программист вкалывает уже лет 5-7 в одном и том же проекте и не считает себя богом
у нас же думают… если год-два на одной позиции (или в одной компании) — значит засиделся…
Еще у программиста не должно быть желания опробовать все свои новые идеи (освоить новый язык, поиграться с новой библиотекой) на коммерческом продукте. Я бы это назвал умеренным консерватизмом.
О личных качествах программиста