В бесчисленных священных войнах где пролито и еще будет пролито множество крови и коммитов все и каждый ищет святой Грааль — идеальную практику, эталон к которому необходимо стремиться.
Многие люди заболевают перфекционизмом — зацикленностью на поиске святого Грааля в чем-либо чем они занимаются. Пока пациенты ищут святой Грааль другие — менее подвержены воздействию перфекционизма разработчики пишут код и зарабатывают деньги.
Можно бесконечно долго сидеть и изобретать совершенную архитектуру или несколько часов придумывать идеальное название для метода или функции, но вам платят не за пустые размышления и не за глупо потраченное время, а за результат.Всегда необходимо видеть реальную причину. Вы пишите код не для того, чтобы прокачаться, стать программистом 80 уровня и получить артефакт «клавиатура дракона», но потому, что вы зарабатываете деньги. Клиентам вообще наплевать как и что там будет работать внутри, главное их требование — правильная работа бизнес-конвейера.
Желание признания других разработчиков и боязнь непризнания — еще одна причина возникновения перфекционизма. Вам нужно понимать, что программистов имена которых у всех на слуху — единицы, ну может несколько десятков, еще 20% программистов можно назвать хорошими специалистами, а остальные — копрокодеры. Копрокодеры они не от того, что пишут плохой код, а от того, что они больны неуверенностью в себе. В конце концов разработка ПО — это такая же работа как и любая другая. Программисты — не особенные люди, если программиста ударить — появится шишка, а если сильнее — пойдет кровь. Продукт и смысл любой работы — получении прибыли за какие-то свои действия.
Работа = деньги
OpenSource и все-такое — это побочные явления профессии программиста, которые в конце-концов направлены опять-таки на заработок денег. кто-то посвящает этому все время и живет на дотациях заинтересованных спонсоров, кто-то планирует позже сделать платную версию проекта, а кто-то просто делится тем, что ему не жалко, чтобы сообщество поддержало его изобретение и помогло сделать его лучше. OpenSource — это не какая-то добродетель а некий взаимовыгодный обмен мозгами.
Выходя из утверждения работа = деньги можно прийти к выводу, что чем больше денег ты зарабатываешь тем лучше, однако это не всегда так. Кому-то важнее деньги, а кому-то комфорт. Каждый выбирает свое. Лично я заинтересован в работе над интересными проектами в дружной атмосфере, но это не значит, что я готов работать за копейки. Каждому труду есть цена и каждый человек за свой труд должен получать адекватный проделанной работе кусок пирога. Много денег не бывает и много никто не заплатит, разве что дурак какой-то. Работодатель должен платить в соответствии с производительностью рабочего. Чем лучше ты программист — тем больше у тебя производительность и тем больше ты получаешь. Арифметика простая, хороший программист — это такой, который больше зарабатывает, а не тот, который следует всем практикам Мартина Фаулера, покрывает код на 200% спеками и тестами и находит время поддерживать несколько open-source проектов.
Желание стать совершенным программистом в край глупо. Правильное желание — иметь отличную в плане коллектива и проектов работу с достойной твоего вклада оплатой.
Если тебя не тошнит от работы и ты чувствуешь, что получаешь ровно столько, сколько заслуживаешь, поздравляю! Ты нашел золотой Грааль!
— Мое субъективное мнение.