Заносчивость в разработке: не спешите осуждать
Как разработчики могут с такой уверенностью ругать других разработчиков и архитекторов?
Каждый специалист — отдельная личность со своим опытом, профессиональным бэкграундом и подходом к работе. Когда от разработчика требуется разбираться в десятках технологий, никто не может ожидать, что все пройдут один и тот же путь их изучения.
Я, например, учусь под конкретные задачи. Настоящая мотивация появляется, когда перед тобой стоит реальная проблема: тогда ты погружаешься в тему, осваиваешь нужные инструменты и находишь решение. Для меня это гораздо эффективнее, чем изучать технологию в отрыве от практики и вскоре забывать половину прочитанного.
Мне странно слышать заносчивые высказывания вроде: «Наш бывший архитектор такого наворотил — я бы ему ничего не доверил». Но ведь это и есть жизнь проекта. Возможно, архитектору стоило бы сказать спасибо за то, что он взял на себя ответственность принимать такие решения. Выбор решения - это отдельная тема. Знаем ли мы, в каких условиях оно принималось? Какие были сроки, требования и ограничения? Возможно, выбирать было практически не из чего. А может быть, это решение несколько лет работало идеально и только теперь, когда изменились обстоятельства, в нём обнаружился недостаток.
Очень легко прийти позже, увидеть изъян и почувствовать себя умнее предшественника. Гораздо сложнее восстановить контекст и честно спросить себя: какое решение я принял бы тогда, располагая теми же знаниями, временем и ресурсами? Ведь сегодня ответ кажется очевидным, хотя в момент выбора очевидным не был.
Мой посыл прост: не стоит считать собственный путь единственно правильным и более ценным, чем пути остальных. Каждый специалист продолжает учиться, и каждый имеет право ошибаться. Более того, два сильных разработчика могут посмотреть на одну и ту же задачу под разными углами и предложить разные, но одинаково обоснованные решения.
Я не агитирую отказаться от критики проектных решений. Но критика должна помогать проекту развиваться, а не служить способом продемонстрировать собственное превосходство.
В заключение скажу, что ваша профессиональная зрелость как технического специалиста проявляется также в способности понимать контекст, уважать чужой путь и делать систему лучше — без высокомерия и обесценивания людей, которые работали над ней до нас.