Из всего, что я делаю или использую сегодня, единственное, что у меня осталось общего с моей первой работой — это написание кода.
Все остальное менялось и изменялось, и изменялось снова.
Если вы все время не продолжаете учиться, читать, совершенствовать свои навыки, то, в конечном счете, этот мерзкий каток позади раздавит вас навсегда. И тут ваша карьера, скорее всего, закончена.
Когда я устроился на мою первую работу, я и понятия не имел, что будет дальше. В 1981 году ничего не предвещало, что все будет меняться гигантскими темпами. Люди все еще писали пакетные приложения на мэйнфреймах, везде были мини-ЭВМ с терминалами и персональные компьютеры были немногим больше, чем игрушками. Мало кто имел компьютер у себя дома, не было никакой электронной почты за пределами крупных компаний и даже это практически не использовалось. И, конечно, не было никакого Интернета. Было лишь несколько языков программирования и большинство из них были созданы в 1950 году.
Было несколько журналов, которые писали о программировании и не было ничего, даже отдаленно напоминающего выставки. У меня даже были друзья, которые получили степень CS(Computer Science) и которые даже не касались ничего из того, что недавно было разработано. Люди могли получить работу программиста даже без опыта или образования, также как и я. Вы либо учились этому самостоятельно, либо, может быть, на работе.
В мой первый день я почти совсем не представлял, что за всем этим стоял громыхающий монстр, который только начинал свой разбег.
Мои первые два года состояли, в основном, в программировании на Fortran с небольшими вставками ассемблера. Я продолжал работать с Basic и различными диалектами ассемблера, и даже баловался с Pascal дома. Я читал все, что можно было найти, только потому, что это было интересно.
Когда я попал в группу, занимавшуюся микрокомпьютерами, темп жизни неожиданно начал ускоряться. После моих усилий в написании “яблочного” приложения”, появился IBM PC и я должен был писать для него в Pascal. Меня попросили проверить комплект портативных Unix-боксов, которые должны были быть направлены потенциальным клиентам для проверки спецификаций F-16. Это было мое первое знакомство с C, которое и привело меня к заказу компилятора C на работу. Никто на работе не слышал о нем. В то же время я кратко ознакомился с Lisa, но при этом, понятия не имел об Object Pascal. Я видел рекламу Mac, но у нас не было ни одного, хотя я бы хотел поработать с одним из них.
Когда я уволился и начал свой стартап(когда-нибудь я об этом расскажу) по созданию программы для электронных таблиц для Mac(Trapeze), мы решили сделать ее на С, хотя Apple, на тот момент, все еще предпочитали Pascal. В последующем, С оказался верным выбором, так как C господствовал в течение длительного времени (и до сих пор является основным для Linux).
Примерно в то же время я прочитал знаменитый номер журнала Byte о Smalltalk и сразу же понял, что за объектами будущее, и что мне нужно немедленно разобраться в них.
Сейчас я действительно начал понимать, что темпы изменений в программировании никогда уже не замедлятся снова. Даже во время конца 80-х, без интернета или электронной почты, скорость с которой появлялось что-то новое вырисовывалась все более явно.
После продажи стартапа и начала консультаций по программированию на Mac, со временем мы начали DeltaGraph (это уже другая история), и я создал несколько расширений С для работы с объектами. C++ все еще не существовало, по крайней мере, юзабельного, но я хотел использовать его преимущества, поэтому я написал несколько банальных расширений, которые позволили мне собрать несколько драйверов вывода, но по-прежнему оставить только один внутренний генератор выхода.
Наконец, в начале 90-х появился C++ и я уже понимал, как проектировать с применением ОО. Конечно, я по-прежнему время от времени кодил на С.
В какой-то момент я прочитал о так называемом “web” и немного поработал с текстовым браузером и задумался над тем, куда все это приведет. В конечном итоге, я работал в Bay Area около года в середине 90-х и помню тот день, когда Netscape вышла в мир. Но даже видя это, в тот момент я совсем не понимал, какие громадныеизменения должны были произойти.
Мысленно возвращаясь в то время, я помню, как читал о новом языке Java и изучал его. К тому времени Интернет уже начал развиваться, он был все еще так примитивен и я не был уверен, куда все это шло, но теперь я знал достаточно, чтобы участвовать. Когда начинаются значительные изменения в мире, вы можете не знать, что будет в дальнейшем, но вы уже должны шагать в ногу с ними.
Я устроился на работу в веб-консалтинговую фирму, которая специализировалась на NeXT WebObjects которые были разработана в некоем извращенном языке, называемом Objective-C. Очевидно, некоторые люди в начале 80-х как и я были очарованы C и Smalltalk, за одним исключением — они сделали настоящий язык из него. Я не только изучил этот новый язык, но нашел другой странный язык — Javascript, который имел мало общего с Java. Добавьте к этому HTML и внезапно у меня появилась совершенно новая платформа для работы.
Примерно в это же время я начал встречаться с людьми, которые тоже рассказывали о других языках программирования. Оглядываясь на времена моей первой работы, я понял, что больше я не смогу знать обо всем, что происходит в программировании. Я должен был научиться сосредотачиваться на определенных моментах, и достаточно уделять внимания другим, чтобы ничего не упустить.
Большой каток начал свое движение.
Во время этой первой волны веб-программирования некоторые из моих друзей, которые получили CS степень, когда я только начал работать, внезапно оказались безрабтными, поскольку люди начали отказываться от мейнфреймов и Cobol, а они ничему не научились за прошедшее время. В отличие от меня, они были сосредоточены только на том, что они узнали и с чем работали на протяжении почти двух десятилетий, и все это вдруг исчезло.
Они были раздавлены.
Когда только появился Java и J2EE (ныне JEE) сначала я просто попробовал поработать с ним, а в конечном результате начал демонстрировать его остальным. Я назвал его «Чуждая Технология». Довольно скоро мы перешли на создании веб-приложений с использованием Java J2EE, именно тем примитивным, каким он был тогда.
Работая в середине 00-х, я прочитал о так называемом AJAX и решил использовать его в паре внутренних приложений, которые я проектировал. Когда я упомянул об этом в команде проектировщиков, они обвинили меня в применении новых технологий! Мне пришлось объяснить, что это был простой Javascript. Они сказали мне, что Javascript умирает, что незачем тратить время на попытки сделать что-то новое с ним. А люди смешные.
Теперь, когда интернет работает на всю катушку и понятие открытого исходного кода стало общеупотребительным, разверзся настоящий ад. Я даже близко не успевал за развитием всего этого. Теперь нужно было выбирать то, в чем вы будете хороши, что-то для интереса и развития и надеяться, что вы по крайней мере знаете названия всего остального. Вся эта ситуация усугубляется и по сей день, и, вообще-то, иногда даже пугает.
Каждую неделю появляется еще один новый язык. Добавьте к этому все фреймворки. HTML5, CSS3 и еще больше сокращений, которые никто не сможет вспомнить все разом. Сегодня программирование является огромным водоворотом новых идей. Некоторые из них поразительны, некоторые имеют огромный потенциал, многие оканчиваются ничем. Но во всем этом море программирования вы должны выбрать правильное направление!
Этот долбанный каток сейчас ускоряется и программисты работают как сумасшедшие, чтобы успевать впереди него. Мне нужно заниматься ROR или писать только приложения на JavaScript? Должен ли я учить Python или Scala? SQL или NоSQL? IOS или Android? Облака или нет? Безумный или сумасшедший, выбери свой яд сам.
Вспоминая три десятилетия работы в режиме успевать-впереди-катка, я не могу поверить, как много изменилось с того момента, когда я писал Fortran на бумаге, потому что у нас было 7 человек за одним терминалом. За это время произошло много изменений, и многие люди вынуждены были стать менеджерами или заняться сетями или продавать гамбургеры.
Что будет в ближайшие 30 лет, как быть? Останутся ли программисты или мы все будем раздавлены? Я не могу вспомнить ни один период в истории, когда так много менялось с такой огромной скоростью в одной отрасли. Уже нет времени передохнуть, не изучая что-то новое на тот случай, если то, что вы знаете сегодня, завтра уже устареет.
Не имеет значения, 20 лет вам или 55, знаете вы что-то или совсем ничего, то, что вы сделаете сегодня, уже не будет актуально через 10-20 лет. Я видел это раз за разом. Одним из моих любимых выражений является «Единственная вещь, которая никогда не меняется, так это возможность изменить себя». Только я думаю, что можно добавить кое-что — изменения продолжают ускоряться.
И скежещущий монстр дышит вам в затылок и топливо у него не кончается.
Примечание: читатель дал мне ссыку на эту статью 2001 года: The Law of Accelerating Returns от Рэя Курцвейла. Хотя, у вас займет около 12 лет, чтобы прочитать ее!
Оригинал — здесь.
Автор: stdotmp