Тему этой заметки мне подсказала дискуссия на «Базарной площади» сайта. В форуме «Старики - программисты» возник спор по поводу того, является ли программирование уделом лиц исключительно молодых (как известно, в большинстве объявлений с предложениями работы, указывается ограничение по возрасту в 35-45 лет) или нет. Многие из участников форума утверждали, что пик умственной активности человека находится с районе 25 -30 лет, а дальше начинается необратимый распад клеток головного мозга, который приводит к неспособности заниматься программированием так же хорошо, как это делает молодежь. Те же, кого как и меня, причислили к «старикам», приводили доводы, о преимуществе опыта, примеры долголетия ученых, литераторов, деятелей искусства и т.п. А возрастные ограничения связывали с тем, что большинство владельцев software’ных фирм слишком молоды для того, чтобы комфортно чувствовать себя, командуя лицами, которые значительно старше их, а так же, что молодых легче заставить работать за маленькую зарплату. Общая точка зрения так и не была выработана, что говорит о сложности вопроса.
Прежде, чем мы попытаемся проанализировать данную ситуацию, попробуем найти причины самой проблемы. Действительно, ведь ничего подобного не наблюдается в большинстве видов профессиональной человеческой деятельности, исключая может быть спорт (да и то со многими оговорками), балет, военную службу и ряд достаточно экзотических профессий. Почему же тогда в таком, казалось бы обыденном деле, возникли возникли проблемы, связанные с возрастом работника? Ведь ни скорости реакции боксера, способности переносить тяготы военной службы солдата, гибкости суставов балерины или силы мышц штангиста, от программиста не требуется!
Что же тогда может служить объективной причиной, влияюшей на ухудшение профессиональной пригодности программиста? Очевидно, что только какие то объективные процессы, связанные с работой головного мозга.
В качестве таковых можно выделить:
-
снижение способности к обучению (ухудшение памяти) и, связанную с ней неспособность работать с новыми технологиями;
-
ухудшение способности анализировать процессы, которые программист моделирует;
-
общее ухудшение работоспособности, связанное с большей возрастной утомляемостью.
В качестве доводов, поддерживающих эту теорию, обычно приводят результаты физиологических исследований, подтверждающие возрастное снижение количества клеток коры головного мозга, измерения скорости реакций, проходящих в ней и прочее.
Конечно, физиология вещь объективная. Правда, пока никто еще не доказал прямой связи количества нейронов коры головного мозга с интеллектом и памятью. Действительно, общепризнанные гении обладали мозгом как больше, так и значительно меньше по размеру, чем имеет среднестатистический человек. Но даже если и принять эти утверждения в качестве отправной точки для наших рассуждений, то тогда нам придется признать, что и для представителей всех специальностей, связанных с серьезной умственной деятельностью, необходимо установить подобные ограничения. Например, не принимать на работу врачей, учителей, музыкантов после 35 лет. Не печатать книг и научных работ лиц после 45. Отправить на пенсию оптом всю Государственную думу и заодно правительство с его главой, а так же и Президента в придачу, как безнадежных стариков, и так далее. Ведь и их работа в первую очередь связана с деятельностью того же органа, в котором протекают все те же объективные процессы, а уж последствия ошибок - не сравнимы с ошибками, вызванными созданием самого продвинутого программного продукта!
Предположим тогда, что программирование связано с каким то особым, невероятной силы напряжением ума, которое могут выдерживать только молодые люди. Или, что программист должен для успешной работы обладать особой мощи интеллектом, который представителям других специальностей не требуется. Или феноменальной памятью, как известный мальчик из анекдота, и потому аналогии здесь не проходят.
Но опять таки практический опыт показывает, что это не так. И ученые, и инженеры, и врачи, и артисты, и даже водопроводчики, окончив 3-5 месячные курсы, а то и самостоятельно обучившись по книгам, легко становятся программистами. Зато наукой случаев обратной трансформации в столь короткие сроки пока не зарегистрировано.
Вернемся, однако, к объективным процессам и проблемами, которые они могут вызывать. Единственоое, что действительно серьезно отличает профессиональную деятельность программиста от работы других представителей инженерных или творческих специальностей, так это необходимость «переваривать» и запоминать большие количества информации. Причем, как информации, связанной с инструментарием (новые языки программирования, операционные системы и т.д.), так и с предметной областью, в которой приходится работать. Хотя последнее для кодера (человека, занимающегося созданием программного кода на основе готового алгоритма) не так уж и важно.
Но опять таки не понятно, почему объективное возрастное ухудшение памяти так катастрофически может мешать работе? Ведь не мешает это деятельности музыканта, заучивающего наизусть многочасовые концерты, или артиста исполняющего монологи или арии. Не мешает ухудшение памяти ученому, который держит в голове десятки научных статей и книг и постоянно следит за новостями науки. А ведь мы только что убедились, что их деятельность в интеллектуальном плане не проще деятельности программиста.
Вы скажете, что в первом случае происходит запоминание на основе накопленного опыта, по аналогии. Но я не думаю, что кто то будет всерьез утверждать, будто имеются принципиальные отличия, которые существуют между языками программирования, делающие процесс их изучения «по аналогии» невозможным. Мало того, смею уверить вас, что человек, изучивший десяток языков программирования, освоит одиннадцатый быстрее, что тот, кто знает только один или два. Не говорю уже про опыт работы, и навыки решения практических задач, который никакой мозг не в состоянии получить без «набивания шишик» на своей голове и без которого того же программиста на работу берут крайне неохотно.
Кстати, мне пока не доводилось встречаться с ограничениями на возраст для программистов в объявлениях зарубежных работодателей. Но возможно, что за рубежом механизм естественного старения оказывает на нас меньшее влияние?
Таким образом, нам остается признать, одно. Нет и не может быть никаких объективных причин, которые бы говорили о том, что качество работы программиста серьезно ухудшается с возрастом, а все ограничения связаны только с чисто субъективными особенностями Российского бизнеса.
- О проекте "Россия: экспорт мозгов"
Обсудить материал можно в форуме.