Программировать - значит все время ставить себе цели и достигать их. Достигнув, испытывать острое, ни с чем не сравнимое чувство победы - «я сделала это»! Вот еще совсем недавно не получалось, а теперь получается. Чувство победы окрыляет. Это победа над самой собой, и потому это ценно вдвойне.
Программировать - значит постоянно находиться в поиске новых решений. Решать уравнения со всеми неизвестными, при этом точно знать, что решений бесконечное множество, и только от тебя зависит какое решение сегодня найдешь ты.
Программировать - значит следовать четким правилам. Здесь не может быть - «а вдруг?»,
здесь нет места - «а может так не получится?», здесь все четко и понятно. А если непонятно, то все равно четко. Просто ты чего-то не знаешь, еще не разобрался в этом. Решение найдется, просто ты должен знать правила.
Но одновременно программировать - это значит уметь экспериментировать, смотреть в будущее, вперед и только вперед! Это сфера, которая все время движется вперед, и ты постоянно должен быть on edge - на краю передовых технологий.
Программировать - значит постоянно развиваться, тренировать свой мозг, получать новые знания. Что ни день, то новая библиотека или новые примочки языка - ты учишься, еще учишься, снова учишься, и всегда есть что-то новое. Главное - не уставать учиться.
При этом программировать - значит знать, что ты никогда не будешь идеален. Ты всегда будешь чего-то не знать, и это нормально. Нужно уметь уважать себя за то, что ты уже умеешь, и не корить за то, что чего-то не знаешь. Знать свои сильные и слабые стороны, уметь пользоваться ими. Всегда будет кто-то, кто впереди, кто в чем-то разбирается лучше тебя. Когда ты новичок - все вокруг разбираются лучше тебя ВО ВСЕМ, и это может либо угнетать, либо подстегивать и заставлять трудиться еще упорнее - в зависимости от твоего к этому отношения.
Программировать - значит постоянно видеть свой рост и прогресс. Код, написанный полгода (или год, или квартал, или даже месяц!) назад - он совсем другой. Если ты растешь над собой, то каждый раз, открывая свой старый код, ты чувствуешь что-то вроде возмущения и удивления: «Кто это все писал??? Неужели я? Что за...?». И понятно, что сейчас ты сделал бы намного круче, и, возможно, ты садишься за рефакторинг кода. А может вообще пишешь все заново. Но при этом, ты точно знаешь, что если все будет хорошо, то через полгода, еще раз открыв этот переписанный код, ты снова увидишь, что он далеко не идеален, ты будешь возмущен/удивлен/недоволен и снова захочется все исправить...
Программировать - это бродить в лабиринте. Когда ты новичок, ты бродишь в темноте на ощупь. Но постепенно, по ходу следования, ты находишь фонарик, обзаводишься инструментами, складываешь обрывки карты и понимаешь, что выходов много - все зависит от того, какую дорогу ты выберешь. Потом тебе хочется найти кратчайший путь, самый быстрый и четкий. А позже ты начинаешь наслаждаться своей дорогой и даже думаешь, как бы сделать свой путь наиболее живописным, не сильно удлинив его при этом...
P.S. На данном этапе программированием я занимаюсь меньше полугода. Есть вероятность (и она достаточно велика!), что через какое-то время я вернусь к этой записи, буду возмущенно спрашивать - «кто это написал???», и мне сильно захочется все исправить. Но пока так.