"О Русском программисте замолвите слово..."
Как получаются хорошие вещи
Во время творческого процесса вы упражняетесь в деле вселенских масштабов – создании чего-то нового, доселе не виданного. Делать что-то для других – дар. Немногие на земле обладают привилегией зарабатывать на создании вещей. Если вы их создаете для себя - вы и разработчик, и заказчик. Но если вы творите для других, вы не получаете дар, вы сами дарите.
Большинство людей не умеют дарить подарки, даже себе, поскольку мы не всегда знаем, как сделать счастливыми себя, не то, что других. У каждого из нас за всю жизнь наверняка скопилась куча ненужных подарков от людей, которые были безразличны, невнимательны, лицемерны, скупы, вульгарны, не имели ни вкуса, ни талантов, либо просто не знали нас достаточно хорошо, чтобы подарить нам что-то приятное. Плохие программы – это плохой подарок. Все причины плохих подарков в равной степени относятся к плохим программам.
Все хорошее в этом мире создается людьми со щедрым складом ума. Они всегда думают о тех, для кого творят. Они искренне стараются сделать что-то, что удовлетворит потребности других. Они стремятся потратить время и силы на совершенствование своих мыслей и навыков с тем, чтобы в конечном итоге создать и подарить этому миру что-то хорошее. Они рассматривают свою работу как высшую степень благородства, олицетворяющую их собственные идеалы качества и искусства.
Хорошие программисты, дизайнеры, архитекторы и просто творцы в любой области - прежде всего, люди думающие. Они настолько одержимы созиданием, что готовы изучить любую дисциплину, прочесть любую книгу, выслушать любого человека и развить любой навык, чтобы совершенствовать свое умение создавать стоящие вещи. Для них не существует границ науки, зоны ответственности, собственной должности, когда речь идет об идее, способствующей им в создании чего-то хорошего.
Думающий программист:
-- это плохо для проектов, все остальные члены которых не думающие. Это диссиденство, и последующая ссылка в Сибирь;
-- это хорошо для проектов, в которых все программисты думающие. Это творческий подход, реализация того что должно быть, а не того о чем мечтал заказчик в нежном возрасте. Это возможность сделать проект быстрее, выше и сильнее.
Не думающий программист:
-- это хорошо для тоталитарных проектов, для конвейеров или для подобных строгих вещей. Он делает то что ему сказали, и соблюдает букву спецификации практически до последнего слова. Если же буква не соблюдается, то она не соблюдается вообще. Кода для этого -- нет. И ничего не нужно переделывать. Это радость постановщику и менеджеру, и бессонные ночи для заказчика, когда он понимает что ему дают именно то, что он подписал... А не то что будет работать.
-- это плохо для проектов, в которых каждый пишет подчиняясь общему духу, создает вещи, которые красивы сами по себе, просты, функциональны и надежны, в которых каждый элемент (блок, модуль) рассчитан на многократное использование... Это наказание для тимлидов, которым нужно по два часа описывать буквально по точкам, что и куда поставить.
Из сборника "Мудрость Инета"