Ваш успех как программиста зависит только от вас

http://thecodist.com/article/your_progress_as_a_programmer_is_all_up_to_you
  • Перевод
Я прочитал комментарий к статье, в котором молодой программист пишет, что он не хочет работать там, где более старших по возрасту программистов, оперирующих устаревшими инструментами, освобождают от обязанностей, вместо того, чтобы переподготавливать.

Этот парень не имел в виду ничего плохого, но всё же вывел меня из себя. Во-первых, если программист старше по возрасту, это еще не значит, что он пользуется устаревшими программами (и если кто-то молодой, это не значит, что он пользуется новейшими продуктами в области программирования). Вот что я вынес из этого комментария: заниматься своим образованием и изучать новейшие подходы является вашей ответственностью, и никак не вашего работодателя.

Я был программистом в течение 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-код. Они хвастались, что этот инструмент лучший в мире, и что им не нужно знать что-либо еще. Я могу легко представить, как однажды большинство их уволят, и они будут гадать, почему же они потеряли свою работу. Технологии вряд ли пропадут, а вот твоя работа – возможно; ты можешь ничего не делать, кроме отвратительного технического обеспечения, ты можешь стать лишним, и тебя выставят за дверь. Сегодня кроме тебя самого никто не поможет тебе стать снова полезным. Ты можешь дождаться, пока будет слишком поздно, и тогда сокрушительная сила прогресса расплющит твою карьеру.

Так что не откладывай на завтра, узнавай о чем-то новом или, еще лучше, учись чему-то новому. Будь начеку, ты можешь заметить, что будущее подступает к тебе. И вот когда оно вдруг объявится, ты будешь наготове. До сих пор я то и дело посвящал часть своего времени новым продуктам, и это привело к тому, что после трех десятилетий я до сих пор занимаюсь программированием и до сих пор узнаю что-то новое.

Итак, смотри в оба и не думай, что кто-то поможет тебе идти в ногу со временем. Как сказал однажды бейсбольный питчер Сэтчел Пейдж: «Не оборачивайся назад. Что-то может нагнать тебя». В программировании тебе нужно смотреть только вперед, потому что единственное, что позади тебя — это та самая безжалостная сокрушительная сила прогресса.

Achiever

29,00

Компания

Поделиться публикацией

Похожие публикации

Комментарии 27
    +2
    и даже чтение было непростой задачей (отсутствие Интернета — тебе приходилось читать с простой бумаги!)

    Все равно читаю с бумаги. Таинство, магия и красота книги влечет больше, доставляет больше удовольствия. Даже считаю, что лучше читать бумагу.
      +2
      Согласен, но я больше не люблю монитор, потому что глаза сильней устают, чем от бумаги. Но покупать бумажные книги, которые хотел бы прочесть и печатать на принтере все статьи с комментариями, довольно накладно. Проблему решил покупкой PocketBook 612 Pro,
        +5
        Да и поздно, временами, читать, когда оно на бумаге в обложке появилось
          0
          Не поздно если книга есть, а ты еще это не знаешь. Технологии появляются быстрее чем мы успеваем их освоить.
            0
            В целом да, но в конкретных случаях очень часто нет: оправданно ли сейчас читать книгу по MVC3?
        0
        Я думаю автор прежде всего имел в виду ограниченность доступа к информации и ее малое количество. Все же сейчас в интернете можно найти куда больше информации, чем тогда в книгах.
          0
          Порой в книгах — я нахожу гораздо больше, чем во всяких интернетах
            0
            Думаю, сейчас можно считать, что книги практически являются подмножеством Интернета.
              0
              ну, я бы не был столь категоричен, это ваше мнение)
        +7
        На середине статьи я уже было подумал, что к концу мне расскажут про свои размышления по поводу будущего, но нет. Статья именно про то, как Andrew Wulf чувствовал веяние технологий и умудрялся конвертировать своё умение в полезный результат. Честь ему и хвала!
        А что делать тем, у кого плоховато с чувством прекрасного? Просто взять, изучить все сегодняшние языки и фреймворки, и дополнять свои знания, когда выходит что-то новое? Лично у меня не осталось бы времени на работу при таких условиях. А из того что я могу позволить себе в 2012 году был только Python, а в 2013 JS и поверхностно Objective-C. Есть такое ощущение, что плетусь в хвосте, догоняя технологическую машину, не представляю что же там у неё в локомотиве! Что же мне делать и какие выводы сделать после прочтения данной публикации?
          +4
          Это просто поучительная история о том что нужно развиваться, а не стоять на месте и никто кроме вас об этом не позаботится.

          > Есть такое ощущение, что плетусь в хвосте, догоняя технологическую машину, не представляю что же там у неё в локомотиве!

          У вас такое ощущение даже относительно основной технологии, с которой работаете или в общем про технологии?
            +1
            В школе я хотел делать компьютерные игрушки, потому что люблю картинки. Научился чему-то только к 10 классу. Потом высшее образование убедило, что это никому не надо (что оказалось глубочайшим заблуждением) и научило меня C++, на которм я и работаю, но игрушки не делаю, а торчу в консоли. В связи с этим чувствую глубокую апатию, мечтаю уйти в веб, где, говорят, бывают эти мои картинки.
            Как я должен относиться к текущей технологии? Положительно, но радости она мне не приносит.
            Да, С++ всегда найдёт себе место, и, да, я пробую другие языки и технологии. Сейчас в своё свободное время изучаю Node.js потому что кто-то нашёл это модным, а PHP старым.
            Но у меня совершенно нет такого чутья тренда и успехов внедрения, как у автора статьи, а как развить данные качества ответа не нашлось.
              +1
              Когда я начинал с нуля, я просто зашел на фриланс биржу и смотрел кто требуется, а как только хоть немного разбирался в технологии сразу брал не сложные заказы, возможно вам стоит попробывать похожий подход для перезагрузки своей карьеры, начните с того, что посмотрите вакансии игрового направления мейла или компании Алавар. Или вообще возьмите и сделайте свою игру!
                0
                Да, я задумываюсь об этом. Именно эти мысли позволили мне коснуться изучения objective-c, но «что поистине стоит в локомотиве, и как будет выглядеть передовая разработка завтра» вот тот вопрос, ответ на который, лично я хотел увидеть в конце подобной статьи. Но, как всегда в этой жизни, ни у кого нет готовых ответов =)
                +1
                А что мешает перейти в gamedev? Серьёзные gamedev проекты как раз на плюсах и пишут. За трендом гнаться не нужно — нужно проявлять любознательность и пробовать разные интересные штуки.
              –2
              Освоить Haskell!
              Его популярность растет медленно, но стабильно. ;-)
                +5
                Популярность среди разработчиков или среди работодателей/менеджеров проектов?
                0
                WOT — c++ and python
                EVE online — c++ and python

                Может, не все так плохо с вашей мечтой? ;)
                +5
                Всегда есть баланс между тем чтобы копать вглубь и тем чтобы идти вширь — и то и другое сделать не получится — точнее, если получится то только этим и будешь заниматься. Реально нужные и те, и другие и третьи. Первые — те кто копает вглубь, специализируется в рамках одной технологической платформы и развивается с ней — этих нужно больше всего. Вторые — кто рассматривает всё новое и говорит другим что чего стоит и какие подводные камни имеет, делает пилотные проекты на новых технологиях — таких нужно меньше. Третьи — кто копает и вширь и вглубь — их задача разобраться в новом и понять что с чем совместимо и где реально зарыта собака — таких нужно ещё меньше, но всё равно они нужны.
                  +1
                  Когда же настанет момент, когда текст с подобным содержанием будет не переводом, а изложением мыслей русского разработчика?
                    +3
                    А почему так негативно о русских? Сомневаюсь, что Вы услышите что-либо подобное из уст русского человека. Менталитет у нас другой. Нам не хочется говорить об очевидном, а пост блещет истиной от капитана очевидность. У многих русских инженеров итак уже тяга ко всему новому. Стоило появиться Rasberry PI и диву даешься сколько было заказов из России этой штуковины. Нам не надо напоминать или учить что надо совершенствоваться, мы итак это делаем — жизнь вынуждает.
                      +1
                      Да нет, не негативно. Просто поделился наблюдением: подобных текстов русских авторов — не найти.
                      И поставлю под сомнение очевидность описанных истин. Да, они простые, но оглядываясь назад на все проведённые в последние пару лет собеседования разработчиков — нет, не очевидные это истины :-(
                    0
                    Полностью согласен с автором, независимо от того, перевод ли это или нет!
                    Уже давно придерживаюсь подобного поведения в мире программирования, и это дает плоды! Я могу свободно поговорить с Web-программистом на его языке, хотя сам скорее системщик, быстро начать писать на Ruby, например, потому что в свое время бегло его изучил, и так далее. Не ограничивайте свой кругозор, друзья!
                      0
                      Хочу поспорить с автором, я не верю, что опытный программист может оказаться за бортом. Да, технологии могут уйти вперёд, взрослый программист может не успевать за скоростным поездом новых изобретений, но у него всегда остаётся как минимум три варианта.
                      Расскажу о них на своём примере. Мне 35 лет, после школы я ещё очень долго писал программа на Pascal и на Delphi, не желая изучать новые модные программы типа PHP, HTML, C#.

                      Первый выход: Выучить новую технологию. Если вы специалист своего дела — изучение новой технологии это несложная задача, была бы мотивация и вдохновение. Например, на изучение языка РНР в 1999 году у меня ушло 3 минуты + 2 месяца. За три минуты, увидев код моего друга, я получил озарение — как это на самом деле всё работает, и потом неудержимо 2 месяца изучал его вдоль и поперёк. Также произошло с C# после Delphi.

                      Второй выход: Найти фирму, которая работает с технологиями, в которых вы ас. Такие всегда есть, кое-где до сих пор требуются знатоки Фортрана (я работаю сейчас на АЭС и мне пришлось разбираться в этом языке).

                      Третий выход. Стать преподавателем. В школах и унивесритетах, да и на любых других курсах всегда востребован весь спектр технологий. Если ты не хочешь или не можешь дальше быть профессиональным спортсменом/программистом — становись тренером. Я выбрал именно этот путь, организовав в интернете видеокурсы по изучению C# для начинающих www.VideoSharp.info, желающих много, мне есть что рассказать, я чувствую себя восстребованным, хотя тут больше удовольствия, чем дохода.

                      +2
                      Эх, за каждым предложением чувствуется чужой язык. Не по-русски получилось, хотя сама статья довольно интересная.
                        +1
                        В аспирантуре, изучая химию, я научился языку программирования APL. Я не использовал его ни для чего другого, как для запуска

                        In graduate school studying chemistry I learned APL. I never used it for anything other than play

                        Гоогле транслате детектед

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое