Для программиста, только что закончившего свое обучение, в пределах нормы быть идеалистом. Находить «идеальные» имена переменным, «идеальные» имена функциям, строить «идеальную» архитектуру приложений, «идеальные» отношения с клиентами по «идеальному» плану разработки. Мир «идеальности» в программировании очень хрупок и разбивается при первом столкновении с серьезными бизнес-проектами. Для программиста наступает новый этап развития, поиск баланса эффективности своего кода и постоянно изменяющихся требований бизнеса.
Понятие «идеальности» для каждого специалиста индивидуально, но куда более важно понимать, что не существует серьезных проектов, написанных «идеально» даже с точки зрения профессионала, писавшего код. Существуют удачные решения, архитектура, способная выдержать массу изменений, но в любом проекте всегда найдется участок, который можно сделать лучше с той или иной точки зрения.
Данная проблема касается не только технической сферы, но и многих других областей человеческой деятельности – экономики, политики, маркетинга и прочих «идеализируемых» на этапе обучения специальностей. Под термином «идеализация» в данном случае подразумеваются эталонные модели, прививающие неверное понимание реальности будущим специалистам. В этом и кроется основная ценность профессионального опыта и опыта взаимодействия с людьми.
Распространенная ошибка состоит в том, что многие специалисты не выходят за пределы своих «идеализаций», продолжая постоянно стремиться к совершенству в неподходящих для этого ситуациях, теряя при этом оперативность в принятии решений и проявляя закостенелость мышления при необходимости смены вектора развития, что способно значительно увеличить издержки производства продукта, вплоть до завершения проекта.
Примером проявления проблемы идеализации может служить применение шаблонов проектирования, когда программист неспособен корректировать эталон, ощущая при этом свою неправоту, будто нарушая неписанный закон программирования. Определенно, правила хорошего тона существуют и их нужно соблюдать, но при этом опираться на реальное положение дел. Эффективное программирование требует приближения к реальности, а не нахождение в границах эталонного мышления.
Специалисты AZNResearch успели пережить массу профессиональных метаморфоз, включая новое осознание словосочетаний «идеальный код», «подход к разработке», «взаимодействие с клиентом», «маркетинговая политика», приблизивших максимально к пониманию реальных технических и социальных взаимодействий в профильных сферах. По мере роста опыта временной порог вхождения в новые сферы деятельности постоянно снижается, к работе появляется истинный интерес, порожденный понимаем процессов разработки. Мы знаем, что нужно делать, чтобы найти золотую середину.