Старое место работы. Все сборы позади. Последний рабочий день. Осталось сдать ноутбук, предварительно подчистив данные на нем. Закрываешь крышку. Все, ты готов к последнему шагу: к пьянке с теперь уже бывшими коллегами и, возможно, друзьями. К тебе смущенно подходит близкий коллега и спрашивает: "ну и куда ты теперь?". И ты объясняешь ему, куда. Попутно помогают тебе раскупорить шампанское или пиво. И вот ты уже наливаешь себе бокал и понимаешь, что завтра ты уже здесь работать не будешь. Тебе грустно, но надо двигаться дальше, ведь это твой выбор...
Ты знаешь, что ты оставил кучу незакрытых задач. Их невозможно все закрыть: все время добавляются новые и новые. У тебя всегда были дедлайны. Ты бы и с радостью сделать все правильно и хорошо, чтобы не стыдно было за свой код. Чтобы можно было гордиться и говорить — это я написал. Но дедлайны и обещания… Они все портили. Приходилось срезать углы и вколачивать костыли буквально кувалдой, чтобы хоть как-то заработало. Но теперь уже это в прошлом. Пусть другие люди разгребают это, я умываю руки. Вперед, к новому коду, к новом команде. Уж там-то все будет по феншую и как надо.
Новое место работы. Тебе дают новенький ноутбук, о которым ты только мечтал. Показывают новое рабочее место и знакомят с командой. Все очень приветливые и приятные люди. Не коллектив, а сказка. Садишься за удобное кресло. Первое задание. Ты в предвкушении. Открываешь крышку ноутбука, читаешь его. Ничего не понятно. Новый язык, новый продукт, все новое. Настраивать окружение надо как минимум день, а то и больше. Сложность зашкаливает. Но ты справляешься и решаешь задачи одну за одной. Все работает как часы, инструменты удобные и мощные. Ты радуешься, что работаешь в команде профессионалов и используешь самые модные и надежные инструменты. Единственный вопрос, который ты себе задаешь: WTF? Почему в других местах все по-другому?
Знакомо такое? И мне тоже нет.
Не бывает идеальных мест, где бы все устраивало. Где был бы идеальный коллектив. Где были бы удобные и стабильные инструменты. Где не было бы дедлайнов. То, что мы имеем — всегда результат компромисса между умелостью команды, грамотным руководством, финансовой составляющей, технической частью и окружения. Это всегда компромисс. Который заслужила команда и проект. В наших силах сделать это лучше или хуже. Если ты умелый программист — то твоя задача сделать проект лучше и решать накопившиеся и будущие проблемы. Если начинающий — чтобы фичи добавлялись и как-то работали. Чем лучше будут присматривать, тем лучше и качественнее работать.
Мир неидеален. И даже в совершенных инструментах есть совершенные ошибки. Ошибки другого уровня. Но ошибки. Чем сложнее продукт, тем больше проблем. Можно уменьшать плотность ошибок, но никогда нельзя их свести к нулю.
Несовершенство преследует нас. Оно — часть окружающего мира. Можно болтаться как известная субстанция, показывать пальцем и говорить — тут говно. Но от этого говно не перестанет быть таким. Мы можем его трансформировать во что-то другое. А можем и приумножить. Мы такие, да.
Все ошибки делаются из-за отсутствия чего-то. Отсутствия времени, старания, знаний, в конце концов. Тебе кажется, что ты умный и сделал крутую штуку. Но найдутся и поумнее тебя и покажут, что можно было бы сделать еще лучше. Что ты — не совершенен. Пора признать очевидное. И идти дальше. И попытаться сделать окружение вокруг чуточку лучше, а потом еще.
А все рассуждения насчет ума и интеллекта ничего не стоят. Что с того, что кто-то мудак и написал мудацкий код? Можно показывать на это пальцем и ругаться. Мир этого не заметит. Лишь мы сами меняем то, что вокруг. Меняем этот мир.
Так какая разница с чего начинать?
Автор: gridem