До боли знакомо! Как становятся программистами-консерваторами? Консерваторов в Java-мире довольно много. Как ими становятся? Вот работаешь ты, сталкиваешься в процессе работы с какой-то проблемой. Решаешь её первым пришедшим на ум костыльным образом – издержки твоего решения большие, но с одной стороны - ничего лучше придумать ты не смог, а с другой - тебе это сходит с рук, потому что либо не нашлось рядом эксперта, знающего лучшее решение, либо вообще язык и платформа другого решения на тот момент (!) и предложить-то не могли – и заказчик закрыл на это глаза, смирившись с потерями. Потом ты поддерживаешь этот код – т.е. видишь его сотни раз, привыкаешь – он уже становится хоть и статистической, но – нормой… Когда ты снова с такой же проблемой сталкиваешься – снова решаешь так же и это уже тебя почти не напрягает – навык закрепляется, потом это вообще начинаешь делать уже «на автомате». И постепенно это становится для тебя уже не проблемой – те издержки, которые ты и остальные участники проекта несут от того, что проблема решена не идеально, все вылезающие из-за этого проблемы – с читабельностью, с гибкостью к изменениям, с хрупкостью и непредсказуемостью поведения системы и т.д. ты просто считаешь нормальными издержками – чуть ли не издержками самой своей профессии - в стиле: «Да, тяжело, но можно и нужно с этим жить – давайте думать – как?» Быстро начинаешь заключать, что «за это нам и платят», раздражение тех, кто с этим сталкивается впервые, воспринимаешь как признак неопытности, что они «пороху не нюхали», в грязи не извалялись и говоришь им, что «без труда не вытянешь и рыбку из пруда» – и т.д. В общем, «Надо Федя, надо!…» Если ты ещё и тренер – то ты начинаешь транслировать это всем, кто у тебя учится. А потом случайно узнаёшь, что появляется ЛУЧШЕЕ решение этой проблемы. Но ты уже привык врать себе, для тебя это как бы не проблема вовсе – это, понимаешь ли, твой опыт, ты им гордишься, а тут – на тебе! Какая-то паршивая модненькая новиночка - синтаксический сахар или метод какой-то популярной библиотечки - обесценивает твой такими трудами и болью приобретённый «опыт»! Тут уж прицепишься, пороешься и найдёшь в ней какое-то несовершенство и будешь с видом разгодавшего мировой заговор конспиролога всех выводить на чистую воду – «а в бочке мёда-то ложка дёгтя имеется!». Но по факту эта ложка дёгтя попадается только тебе – да и то лишь потому, что ты её специально выискивал... И со временем ты и сам понимаешь, что больше не нужно так костылить. Но ты самоидентифицировался с этим, сросся и – не можешь уже без этого... И новое поколение над тобой даже тихо посмеивается – «вот старпёр! Таких элементарных вещей не знает, а ещё чему-то пытается учить», но в глаза этого, конечно, не скажут – постесняются – пусть врёт сам себе и дальше, а то ещё, глядишь, разозлится и чего-нибудь отчебучит – особенно если он препод и на экзамене тебе всё припомнит, ну или ещё хуже – если это начальство… Один из YouTube-авторитетов, С.Немчинский, сам снял про себя разоблачительный ролик, критикуя весьма облегчающий жизнь инструмент для Java-разработчиков - Lombok, который вместе с Spring Boot'ом, Spring Cloud'ом и Vavr'ом даёт мне, например, возможность чувствовать себя более или менее нормально, когда я имею дело с Java-проектами: https://youtu.be/tkoFx3fDwz8 Я, конечно, не хочу сказать, что Lombok безгрешен - для сравнения можно посмотреть действительно конструктивную критику этого инструмента от уважаемого тов. Thorben'а Janssen'а, который нашёл действительно актуальный кейс: https://youtu.be/j_hEdLPDczI . Есть и другие соображения, которые мне высказывал, например, Володя Ситников из орг-комитета JUG.Ru, когда мы с ним его обсуждали на "Joker'е 2019", но ни один действительно весомый аргумент в ролике Немчинского не прозвучал, что в комментариях масса народу (в т.ч. ваш покорный слуга) ему и показала. Да и не в самом С.Немчинском, в общем-то, дело - я привожу его ролик как образец, поскольку он просто очень чётко попадает в образ консерватора и реально ему соответствует. Лично я его не знаю, но с такими, как он, сталкиваюсь весьма регулярно, знаю, так сказать, этот типаж, так что для меня он - своего рода символ консервативизма в Java-мире - характерный, типичный. Вопрос не в том, как относиться к Lombok'у или иному инструменту - вопрос в том, как, несмотря на возраст, сохранить свежесть ума и шире смотреть на вещи, постоянно верифицируя своё понимание реальности - тем более, если ты кого-то берёшься учить. Не справишься - станешь консерватором. Со всеми вытекающими, да ещё и других, может быть, тормозить в профессиональном развитии будешь...

Теги других блогов: программисты Java консерваторы