Ступени мастерства
Saturday, 5 March 2005 10:48![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Поначалу, до своего профессионального рождения, программист только осторожно ходит вокруг компьютеров. Любуется ими, смотрит на яркие краски, слушает звуки и вдыхает ароматы. Играет в игры, лазит по интернету и набирает тексты.
Потом он осваивает свой первый язык и с восторгом принимается программировать. Ему нравится сам процесс, всё у него получается, всё замечательно. Объективно (хотя сам он этого, как правило, не замечает) его программы глючат, плохо выглядят, да и просто никому не нужны. Его это не беспокоит.
Набравшись опыта, почитав несколько умных книг по предмету, освоив ещё парочку языков и сред разработки, программист понимает, насколько он далёк от совершенства. Это его не останавливает (я говорю здесь о программисте по призванию, а не о случайном человеке). Он начинает прилежно учиться, скрупулёзно выстраивать архитектуру системы и взаимодействие потоков управления, по пикселу вылизывать пользовательский интерфейс. Программы становятся вполне качественными, зачастую полезными, но пишутся очень долго, в мучениях, зачастую (если над душой не стоит сердитый заказчик) так и не доводятся до конца - одни на середине, другие в самом начале, третьи и вовсе остаются только в замыслах.
Постепенно программист набивает руку (и морду ;) , нарабатывает навыки, рисует карту типичных граблей. Он по-прежнему считает себя далёким от совершенства, по-прежнему видит десятки промахов в своих творениях... Но - парадокс! - окружающие уже довольны результатами. Потому что объективно программист пишет в меру быстро и достаточно качественно. Вполне на уровне распространённых офисных и почтовых приложений. На этом этапе программист не страдает от нехватки заказов и, как правило, денег. Но по-прежнему перед его носом маячит морковка - мечта о совершенстве, и несколько замыслов грандиозных проектов, на которые никогда не хватает времени, чтобы даже начать их как следует.
В какой-то момент программист вдруг замечает, что, хотя совершенство всё так же недостижимо манит издали, а великие творения всё так же не реализованы, но вокруг как-то не остаётся коллег его масштаба и способностей. Всё больше ученики с предыдущих, уже пройденных им уровней. Его всё чаще называют гуру. Нет, он знает мастеров недостижимо лучших, чем он сам, но преимущественно виртуально - все они живут где-то далеко, в других странах и городах. Он бы удивился, узнав, что некоторые из тайно почитаемых им талантов точно так же почитают его самого.
Дальше? Дальше несколько путей. Либо программист умирает от старости, так и не успев сотворить лучшую программу своей жизни. Либо его начинают настолько ценить за заслуги, что он наконец-то избавляется от необходимости работать по чужим заказам и начинает вести собственное революционное направление. Тогда, через некоторое время, мы обычно наблюдаем появление вымечтанного шедевра, заметно меняющего всю IT-индустрию.
Чем дольше я пишу свои рассказы, тем больше убеждаюсь, что в литературном творчестве дела обстоят ровно так же.
Потом он осваивает свой первый язык и с восторгом принимается программировать. Ему нравится сам процесс, всё у него получается, всё замечательно. Объективно (хотя сам он этого, как правило, не замечает) его программы глючат, плохо выглядят, да и просто никому не нужны. Его это не беспокоит.
Набравшись опыта, почитав несколько умных книг по предмету, освоив ещё парочку языков и сред разработки, программист понимает, насколько он далёк от совершенства. Это его не останавливает (я говорю здесь о программисте по призванию, а не о случайном человеке). Он начинает прилежно учиться, скрупулёзно выстраивать архитектуру системы и взаимодействие потоков управления, по пикселу вылизывать пользовательский интерфейс. Программы становятся вполне качественными, зачастую полезными, но пишутся очень долго, в мучениях, зачастую (если над душой не стоит сердитый заказчик) так и не доводятся до конца - одни на середине, другие в самом начале, третьи и вовсе остаются только в замыслах.
Постепенно программист набивает руку (и морду ;) , нарабатывает навыки, рисует карту типичных граблей. Он по-прежнему считает себя далёким от совершенства, по-прежнему видит десятки промахов в своих творениях... Но - парадокс! - окружающие уже довольны результатами. Потому что объективно программист пишет в меру быстро и достаточно качественно. Вполне на уровне распространённых офисных и почтовых приложений. На этом этапе программист не страдает от нехватки заказов и, как правило, денег. Но по-прежнему перед его носом маячит морковка - мечта о совершенстве, и несколько замыслов грандиозных проектов, на которые никогда не хватает времени, чтобы даже начать их как следует.
В какой-то момент программист вдруг замечает, что, хотя совершенство всё так же недостижимо манит издали, а великие творения всё так же не реализованы, но вокруг как-то не остаётся коллег его масштаба и способностей. Всё больше ученики с предыдущих, уже пройденных им уровней. Его всё чаще называют гуру. Нет, он знает мастеров недостижимо лучших, чем он сам, но преимущественно виртуально - все они живут где-то далеко, в других странах и городах. Он бы удивился, узнав, что некоторые из тайно почитаемых им талантов точно так же почитают его самого.
Дальше? Дальше несколько путей. Либо программист умирает от старости, так и не успев сотворить лучшую программу своей жизни. Либо его начинают настолько ценить за заслуги, что он наконец-то избавляется от необходимости работать по чужим заказам и начинает вести собственное революционное направление. Тогда, через некоторое время, мы обычно наблюдаем появление вымечтанного шедевра, заметно меняющего всю IT-индустрию.
Чем дольше я пишу свои рассказы, тем больше убеждаюсь, что в литературном творчестве дела обстоят ровно так же.