Какие программы ты написал, которыми пользуешься сам?

Именно этот вопрос я задам, когда захочу найти единомышленника.

Что ты написал за годы программирования? Кучу проектов по работе? Что написал для себя? Какие из своих программ ты сам используешь?

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

Нет, код в этих программах будет замечательный. Только самой программой невозможно будет пользоваться без боли. Все сталкивались с такими программами. Чистота кода не коррелирует с удобством использования. “Зачем вообще думать об удобстве пользователей? Мне за это не платят.”

Иногда программист пишет что-то для себя, но пишет только “в стол”. Проекты ради баловства и экспериментов с технологией. В итоге этими программами не пользуется никто, даже создатель. Эти программы так навечно и остаются черновиками. Их качество и ценность тоже невысока. Подобных проектов много в opensource.

Лучшим приложением программиста будет та программа, которая решает его личную боль. Эта программа несёт ценность лично для него, облегчает его жизнь настолько, что он её с охотой использует. Такая программа эволюционирует со временем — вносятся доработки, исправляются баги. Иногда даже вырастают в нечто большее и становятся коммерческими.

Программу, которая приносит реальную пользу, хочется улучшать и дорабатывать. Если у программиста есть такие программы, он превзошёл 99% других программистов, потому что он использует свою силу по назначению — улучшает свою жизнь программированием.

Такое мышление мне очень нравится, я сам люблю писать программы для себя. Я в восторге, когда у меня получается написать что-то полезное. Если же я часто использую свою программу, то я постоянно получаю пользу от того, что однажды написал её. С каждым днём эта польза растёт. С каждым улучшением мне становится приятнее работать с ней.

Я возвращаюсь к программе снова и снова, улучшаю её по чуть-чуть. Я поливаю саженец, вырываю сорняки, саженец вырастает и становится прекрасным деревом. Со временем у меня появляется сад, который радует меня.