Практически всех нас с детства учат, что все нужно делать максимально хорошо.
Учиться на одни пятерки, быть лучшим из детей в своем творческом кружке. Хвалят тоже только за пятерки (если у вас было не так – я очень рад за вас, одной психологической травмой у вас меньше), повышенную стипендию платят только за пятерки, отправляют бесплатно в лагерь от универа лучшего студента (или друзей старосты, конечно) и т. д.
Мотивационные примеры нам из каждого утюга вещают тоже о самых лучших из лучших из лучших. Спортсмены мирового уровня, миллиардеры-трудоголики-перфекционисты, известные на весь космос актеры. Все они самоотверженно трудились, выжимали все 100% (кое-кто и 146 смог) и добились выдающихся результатов, значит и тебе нужно так же.
Не буду тут спорить о том, что не каждому быть миллиардером или олимпийским чемпионом.
Хочу рассмотреть, как это влияет на работу в ИТ.
В ИТ молодой пламяокий айтишник, начитавшись книг про SOLID, Линуса Торвальдса и Павла Дурова, сел писать код.
Ммммм…. Нет, сел он не писать, а раздумывать над тем, как же написать, чтобы оно было максимально круто, элегантно, расширяемо, поддерживаемо, респектово (другие же программисты посмотрят). Пока он сидит в раздумьях, фича всё никак не релизится. У конкурентов вылезла хоть какая-то кривая-косая, а пламяокий всё размышляет.
Наконец он придумал крутейшую архитектуру, написал код и релизнул фичу. Оказалось, фичей не пользуются, потому что уже привыкли это юзать у конкурентов, а ваш поезд уже ушел.
Интересный факт. Английский вариант поговорки "Лучшее – враг хорошего" это "Done is better than perfect". Он довольно наглядно демонстрирует то, о чем я хочу сказать.
Конечно, справедливо возразить, что это крайний случай, что такое бывает редко, что если наговнокодить быстренько, то потом сложно развивать и поддерживать стабильность такого проекта и т. д. Да, всё это так. Однако я клоню к тому, что надо смотреть на ситуацию. Делать хорошо и основательно там, где требуется долгосрочная большая работа, а там, где проект поживет месяц без изменений и выкинется в мусорку - можно бы и поступиться святейшими паттернами Банды Четырех и вот этим вот всем прочим.
Когда пламя в моих глазах потухло, и я стал смотреть более спокойно на компромиссные решения, я решил больше ориентироваться на принцип Парето «20% усилий дают 80% результата, а остальные 80% усилий — лишь 20% результата».
Выделил из работы те 20% усилий, которые принесут основной результат, сделал их, а дальше смотрю, нужно ли вообще продолжать что-то делать. Если нужно дотачивать до идеала – не проблема, дорабатываю оставшиеся 80%. Однако, если при трезвом взгляде окажется, что и так хорошо, что можно больше пользы (зачастую и прибыли) принести в другом месте, то зачем впаливать вчетверо больше усилий в незначительный профит?
Итог
Немножко притушите пыл идеализма, смотрите на работу и профит от неё критически. Помните, бизнес вам платит и хвалит не когда вы максимально идеальный код написали, а когда от вашей работы пришло больше денежек в копилочку. Кто это понял, тому и в его копилочку тоже побольше достанется.