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