Ваш успех как программиста зависит только от вас
Я прочитал комментарий к статье, в котором молодой программист пишет, что он не хочет работать там, где более старших по возрасту программистов, оперирующих устаревшими инструментами, освобождают от обязанностей, вместо того, чтобы переподготавливать.
Этот парень не имел в виду ничего плохого, но всё же вывел меня из себя. Во-первых, если программист старше по возрасту, это еще не значит, что он пользуется устаревшими программами (и если кто-то молодой, это не значит, что он пользуется новейшими продуктами в области программирования). Вот что я вынес из этого комментария: заниматься своим образованиям и изучать новейшие подходы является вашей ответственностью, и никак не вашего работодателя.
Я был программистом в течение 32 лет, и я всегда пытался быть на шаг впереди всесокрушающей технологической силы. Я знал много людей, бакалавров наук в сфере информатики, которые после школы не научились ничего новому и, в конечном счёте, попали в ранг «устаревших». Я изучал химию целых 6 лет, но когда я занял должность программиста, я вдруг понял, что мне необходимо знать, что происходит за рамками моей работы, меня одолевало желание постоянно учиться новому и испробовать все виды программирования. Конечно, в то время всё было гораздо медленнее, и даже чтение было непростой задачей (отсутствие Интернета — тебе приходилось читать с простой бумаги!).
На третий год я понял, что микрокомпьютеры станут нашим будущим, тогда я внедрился в группу, которая работала с ними. Как только я туда попал, я прочел о новом языке программирования C и убедил своего руководителя, что его стоит приобрести. Оказалось, зная С, я мог написать мое первое приложение на этом языке, вместо Паскаля.
Позже я прочел об ООП – и оно заинтересовало меня. Я добавил парочку объектов к С, дабы извлечь для себя кое-какие преимущества. В итоге, когда появился C++, я уже был готов воспользоваться и его преимуществами.
После моего временного присоединения к Apple, когда он стал невыносим, я подумал, что мне нужно продолжать работать с сетью, и тогда я пошел работать в консалтинговую фирму, которая пользовалась WebObjects от компании NeXT, написанными на каком-то странном языке под названием Objective-C. Как только появилась платформа Java J2EE, я убедил компанию начать работать с этой технологией, и завершил свой первый проект. Так уж совпало, что тот проект, был осуществлен в компании, которая сейчас является материнской компанией моего работодателя, и это был их первый завершенный Java–проект.
Вот что случается, когда ты уделяешь внимание тому, что творится в индустрии, вместо того, чтобы делать упор лишь на том, над чем ты работаешь. Ты никогда не знаешь, что будет следующим бумом, но ты всегда можешь быть в курсе всего, даже если ты не можешь попробовать всего.
Я иногда вспоминаю одного моего коллегу, в середине 2000-х он был лидером по C++. Однажды я посоветовал ему использовать браузер Firefox, так как он испытывал некоторые трудности с Internet Explorer. Он взглянул на меня так, будто я полный идиот: он и понятия не имел, что кроме Internet Explorer’а существует другие браузеры. Даже тогда он не проявил интереса воспользоваться им, т.к. это не изменило бы его работу. Я не понимаю такого отношения. Ты никогда не знаешь, откуда к нам придет очередная важная новинка и при этом отказываешься признавать, что мир меняется, и так будет всегда.
Мои друзья, получившие степени бакалавров наук и в итоге потерявшие свою работу, когда базовый компьютер ушел в отставку, и они поняли, что не могут больше работать в качестве программистов, жаловались, что им нужно время, чтобы научиться чему-то новому. Но как только ты понимаешь, что твои знания устарели – уже слишком поздно. Несбыточная мечта полагать, что твой работодатель переподготовит тебя. В наше время работодатели могут бросить тебя, твою работу, твои проекты или даже компанию без какого-либо предупреждения, и тогда тебе придется искать новую работу. Ожидать, что вместо этого они переобучат тебя? Этого никогда не случится. Если ты рабочий на автомобильном конвейере, да, это еще возможно, но у программиста таких шансов нет.
Ты должен быть в курсе всего, пробовать новые вещи, даже если они кажутся незначительными. Учиться всему полезно, поскольку, чем больше технологий программирования и инструментов ты испробуешь, тем легче тебе будет работать с остальными. Ты можешь научиться полезным вещам. Изучение никогда не может быть бесполезным. Не имеет значения, пишешь ли ты проекты c открытым исходным кодом, вызываешься что-то закодировать или работаешь дома над чем-то, чего никто никогда не увидит. Это тренирует твой мозг принимать новые вещи. Даже знание того, что происходит в мире программирования, может помочь тебе ответить на все вопросы, которые может задать будущий работодатель.
Когда я впервые услышал о Ajax (спустя пару месяцев как был придуман термин), я писал веб-приложение. Я тут же воспользовался этим подходом. И снова я закончил тем, что обучал своих товарищей по команде новой примочке. К сожалению, это напугало архитектурную команду: они думали, что я купил какую-то новую технологию, не получив одобрения, и гадали, поддержат ли ее. Никто из них о ней и слыхом не слыхивал (поскольку они не уделяли этому внимания), и когда я сказал им, что это всего лишь Javascript, они с трудом успокоились. В мои обязанности входило быть в курсе новых продуктов, но такое отношение не могло не раздражать меня.
Когда впервые вышел iPhone еще без средств разработки, я уже тогда подумал, что он представляет будущее. Удивительно, но мои познания Objective-C снова пригодились!
Сегодня быть в курсе новинок иногда кажется смехотворной работой. Люди, работающие над веб-приложениями в Javascript, имеют под рукой постоянный поток очередных «взрывных» новинок на каждую неделю; ты не можешь научиться всему достаточно быстро, поскольку старое постоянно сменяется новым. Я не работаю в этой сфере (только iOS), но я всё также стараюсь быть в курсе, ведь ты никогда не знаешь, как пойдут дела или когда ты успешно завершишь свой проект.
Те несколько занятий, которые мне предоставляли работодатели, обычно были бесполезными, так как я уже знал более новые технологии, либо они предлагали технологии, которые были неважны для моего будущего. Но ты никогда не знаешь, что может тебе пригодиться в необозримом будущем.
В аспирантуре, изучая химию, я научился языку программирования APL. Я не использовал его ни для чего другого, как для запуска, но с его помощью я построил базу для моего первого продукта Trapeze. Я забыл об Objective-C после 1999 года, но сегодня это мой основной язык. Ты никогда не знаешь о взаимосвязях, которые могут быть полезны в будущем.
Больше всего меня раздражает, когда программисты игнорируют всё, что находится за рамками их рабочего места. Я как-то работал с ребятами, которые пользовались инструментом 4GL, который генерировал RPG-код. Они хвастались, что этот инструмент лучший в мире, и что им не нужно знать что-либо еще. Я могу легко представить, как однажды большинство их уволят, и они будут гадать, почему же они потеряли свою работу. Технологии вряд ли пропадут, а вот твоя работа – возможно; ты можешь ничего не делать, кроме отвратительного технического обеспечения, ты можешь стать лишним, и тебя выставят за дверь. Сегодня кроме тебя самого никто не поможет тебе стать снова полезным. Ты можешь дождаться, пока будет слишком поздно, и тогда сокрушительная сила прогресса расплющит твою карьеру.
Так что не откладывай на завтра, узнавай о чем-то новом или, еще лучше, учись чему-то новому. Будь начеку, ты можешь заметить, что будущее подступает к тебе. И вот когда оно вдруг объявится, ты будешь наготове. До сих пор я то и дело посвящал часть своего времени новым продуктам, и это привело к тому, что после трех десятилетий я до сих пор занимаюсь программированием и до сих пор узнаю что-то новое.
Итак, смотри в оба и не думай, что кто-то поможет тебе идти в ногу со временем. Как сказал однажды бейсбольный питчер Сэтчел Пейдж: «Не оборачивайся назад. Что-то может нагнать тебя». В программировании тебе нужно смотреть только вперед, потому что единственное, что позади тебя — это та самая безжалостная сокрушительная сила прогресса.
Автор: cigulev