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