Найти в Дзене
Валерий Марченко

Что общего между программистом и писателем?

Рэй Бредбери, всемирно известный писатель-фантаст, когда-то рассказывал о том, как он писал свои рассказы. Обычно на каждый рассказ у него уходила неделя работы. Причем первоначальный вариант он писал в первые два дня, а затем каждый день переделывал и переписывал уже вроде бы готовое произведение. И так в воскресенье получал итоговую версию, которую было не стыдно показать редактору.

Так вот, у программиста работа чаще всего выглядит также. Сначала пишем сырую версию какого-то программного решения, после чего начинаем раз за разом переписывать. И так до тех пор, пока итог не устроит по заданным параметрам или же пока не кончатся ресурсы (время и/или деньги).

Конечно же бывает по разному. Кто-то пытается сразу писать "чистовик". Кто-то наоборот, публикует еще сырой вариант и собирает обратную связь. Причем неважно, говорим мы про программиста или писателя.

Попытка сразу продумать все до мелочей и сделать без необходимости переписывать обычно приводит к тому, что тратится неоправданно много времени на подготовку. И в итоге все равно окажется, что что-то забыли или не учли.

Желание побыстрее показать результат и публикация сырого варианта чаще всего приводит к недовольству читателей или пользователей. Правда в этом случае еще есть надежда, что автор учтет свои ошибки и исправит их в новой версии. Но можно по дороге к совершенству растерять своих потенциальных клиентов.

Так что с одной стороны и писатель и программист "обречены" на то, чтобы безжалостно выбрасывать уже сделанную работу, заменяя на более удачные решения. И это иногда расстраивает. А с другой редко в какой еще профессии есть возможность работать, игнорируя пословицу "Семь раз отмерь и один раз отрежь". Все таки какому-нибудь плотнику куда сложнее взять и выкинуть уже сделанную мебель со словами "ай, я же тут забыл пару деталей добавить".

Так что я часто люблю повторять: быть программистом одновременно и очень просто и очень сложно. Просто, потому что правильно выстроенная работа позволяет много ошибаться без последствий. А сложно, потому что ты постоянно ошибаешься и приходится свои ошибки постоянно признавать и исправлять. Что чаще всего довольно непросто делать. Ведь людям свойственно считать себя умными и безошибочными. И опытный программист, как и опытный писатель, отлично знает, насколько "непогрешимость" и "безошибочность" - глупый самообман. Мы ТОЧНО знаем, что все люди косячат и это нормально.