Устаревание знаний.

Я уже плевался в эту сторону, но плюну еще раз.

Что я очень не люблю в программировании, что знания устаревают со страшной силой.

Эдак лет 15 я программирую (из них 10 — за денюжку).

Результат:
Basic (потрачено года 3) — DEAD
Pascal (года 2) — DEAD
Delphi (года 1.5) — DEAD
DOS (лет 5) — DEAD
PalmOS (лет 6) — DEAD

Не помершее, но очень сильно вытершееся из головы благодаря наслоениям чего-то нового:
ColdFusion, ASP.NET, SQL (пол года), Perl (пол года), Assembler 68K, Assembler ARM, Java

В целом список можно продолжать до тех пор пока не останется языки, технологии и операционки под которые программируется ну скажем последние 3-4 года.

Рекламная вставка: Пейте подсолнечное масло, для уменьшения склероза.

P.S. Видео которое подкинул Sergey Perepechin смотреть ОБЯЗАТЕЛЬНО!!!!!

27 комментариев to “Устаревание знаний.”

  1. axe:

    Да, временами, неловко писать в резюме тот же ColdFusion или, например, PowerBuilder.
    Кто их помнит сейчас?
    Хотя на них в 2000-м году разрабатывали обалденные вещи для WEB и костылей требовалось гораздо меньше, чем сейчас, порой, для ASP.NET и JSP

    • Victor Ronin:

      Даже, не сравнивая технологии. Даже, если они остались живы. Даже после этого, то что я в 2000 году, что-то делал на ColdFusion, сейчас писать не актуально, так как в памяти осталось только, то, что функциональность вставлялась в виде тегов…

  2. Вот поэтому я не люблю кретинов, ищущих себе на работу специалистов «с отличными знаниями технологии ХХХ».

    А вы не парьтесь особо, опыт не пропьешь 🙂

    • Victor Ronin:

      С точки зрения программистов, действительно неприятно когда ищут человека который обязательно должен знать технологию X (которую можно на самом деле за 3 дня выучить).

      С точки зрения менеджера и владельца — например на руках проект под Linux на Perl’е c framework Spiffy и все эта радость для какого-нибудь SOA проекта. А приходит гениальный товарищ, который занимался написанием драйверов под Windows на C++.

      Вопрос — брать или не брать?

      Естественно, даже при всей его гениальности — его вряд ли захотят взять, все таки уйдет достаточно приличное время, до тех пор пока товарищ, разбрется в Linux’е, Perle, Spiffy, SOA… Платить ему за 2-3 месяца, причем когда проект горит — для большинства компаний уж очень накладно.

      • Стоп, стоп.

        Такая ситуация возникать не должна. Даже у незаменимого гения должен быть кто-то, кто хоть как-то, но доделает задачи после его непредвиденного и внезапного ухода… куда-нибудь. И об этом (о подстраховке и дублировании обязанностей) должен заботиться руководитель проекта, а PM считать сроки и риски, как я понимаю.

        Или это затеяли лохи 🙂

        • Victor Ronin:

          Наверно, бестолково объяснил.
          Никто не уходил. Просто идет проект и на нем нужно пополнение.
          Даже проект не супер-пупер спешный, но скажем через пол года релиз.

          В такой ситуации не сможет компания позволить нанять совсем неплофильного специалиста и переучивать его.

          • В такой ситуации, да, даже знающему близкие области чтобы въехать понадобится минимум три месяца, это смысла не имеет.

            Но я некоторым образом сомневаюсь, что гипотетические знающие-то-же-самое спецы помогут в данной ситуации.

            Им придется въезжать в идеологию конкретного проекта. Те же месяцы.

            Я к тому, что полгода — это срок для проекта. Ну, не для всего проекта, а для проекта внутри большого проекта — выпустить прототип, к примеру, или подсистему некую, или адаптировать к другому серваку.

            Это значит — еще на берегу догововариваться, планировать и набирать команду. А потом, или доплывет корабль, или потонет. В море команду не пополнить; даже если кто спрыгнет, придется меньшим составом обходиться..

            • Victor Ronin:

              >В такой ситуации, да, даже знающему близкие области чтобы въехать >понадобится минимум три месяца, это смысла не имеет.

              Это не так. Если человек знаком с технологиями и использованными framework’ам и проект не размера титаника, то человек освоиться гооораздо быстрее чем за 3 месяца.

              В это же время человек незнакомый с конкретными технологиями потратит время на разобраться с технологиями + разобраться с проектом.

              >В море команду не пополнить; даже если кто спрыгнет, придется меньшим >составом обходиться

              Мне не нравиться сравнение проектов в IT с альпинизмом или морскими путешествиями. То, что я вижу, что бизнес гораздо более мобилен (люди приходят и уходят), чем в том же морском пушествие.

              В этом смысле мне нравиться agile. Он гораздо больше расчитан под то,
              что что-нибудь пойдет не так как расчитано и что изменения — это нормальная
              часть процесса.

              • >Это не так. Если человек знаком с технологиями и использованными framework’ам и проект не размера титаника, то человек освоиться гооораздо быстрее чем за 3 месяца.
                Я же и говорю — если знаком с близкими технологиями 🙂 А не с используемыми.

                Время, оно летит быстро. Я, скажем, лет пять как время от времени что-то делаю на J2SE. Прототипы, куски кода, доработка. Ничего не делал на J2EE. И совсем не гарантирую, что за три месяца начну на том же уровне что-то делать на J2EE. Три месяца — это тьфу, ноль.

                Вы можете сказать — возраст, проблемы там, не может человек по 15 часов сидеть погруженным в технологии… Молодой сможет, типа.

                Не-а. Есть уровень освоения любой технологии, доходя до которого, возникают вопросы, на которые нет ответов ни в книгах, ни в документации, и остается только методом тыка подбирать эффективные решения каких-то задачек (альтернативный вариант — стать участником разработки, например, MySQL — кому это надо? жрать нечего будет).

                До этого уровня за три месяца никто не дойдет.

                >То, что я вижу, что бизнес гораздо более мобилен (люди приходят и уходят), чем в том же морском пушествие.
                Это касается кодеров и тестировщиков. Не более.

                Уход/смена кого-то из определяющих идеологию — задница.

                • Victor Ronin:

                  Частично я согласен, а частично я не согласен.

                  То, что вы описываете — имен уход/смена определяющего идеологию и тянущего проект. Это действительно — таки задница и за 3 месяца замена не появиться.

                  Но, замена и дополнение человека не супер ключевого — вполне потребует меньше 3 месяцев.

                  Опять же, ведь не обязательно в крайности лезть — либо самый главный программист, которые единственный все знает или все умеет или тупой кодер, набивающий из тетрадки умного программиста код.

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

  3. sergey:

    кстати может быть и не все dead, например сейчас зарплаты perl программеров выше чем php. Так как язык прошел свою популярность, но остались системы и проекты которые нужно дальше развивать, а новый перл программеров почти нету.

    да и кто знает где это пригодиться, я не программер, зарабатываю на жизнь администрированием цисок, но еще в институте выучил ради интереса дельфи, потом как начал с линуксами разбираться выучил перл. и не считаю, что это зря.

    Перл мне офигенно помогает в работе, очень много рутины я автоматизировал именно через перл, криво косо 🙂 но тем не менее это все работает. Сейчас делаю один проект и там нужно настроить около 200 железок, Написал на перле скрипт который парсит экселевский файл с настройками для каждой железки и создает конфиги, а на дельфи написал программу котора позволяе выбрать нужный конфиг и по com порту заливает его на циску. В итоге я теперь пишу конфиги в экселе, отсылаю файл заказчику а его монтажники сами настраивают циски через мою программу.

    Сейчас just for fun делаю один стартап, пишу его на php/kohana ( чтобы потом было легче найти человека на поддержку проекта). так изучение php у меня заняло около недели, так как язык очень похож на перл.( может коммерческую разработку я и не потяну по качесву кода, но для моих нужд хватает)

    Резюмируя, я хочу сказать, что нельзя говорить что вы убили на дельфи полтора года, вы ведь не только изучали синтаксис языка, а изучили новые алгоритмы, расширили кругозор.

    • Victor Ronin:

      Я разобью на несколько частей вашу мысль

      а) Зарплаты по старым технологиям могут быть высокие, так как специалистов владеющих ими мало.

      Да, так оно и есть, до тех пор пока технология не становится мертвой. И работать на этой технологии, чтобы получить немного лишних долларов — не самый лучший метод, так как в какой-то момент (достаточно скоро) технология умрет совсем и поэтому это достаточно сомнительное вложение денег.

      Кстати, Perl — прекрасно здравствующий язык, просто не на пике своей популярности.

      б) Нельзя назвать полностью убийством времени, так как остаются какие-то останочные знания.

      Да, они остаються, но откровенно немного. Ну скажем 10%. Получается, что 5 лет работы на мертвой технологии X — эквиваленты 6 месяцам работы с чем-то актуальным.

      К тому же, первый извученный язык/технология/операционка — имеет очень большую ценность, так как разбираешься с тем как вообще программировать, алгоритмы, типовые решения. Второй — менее важен, так как добрых 50% перекрывается с первым, десятый — уже фактически не приносит никакой прибыли.

      Поэтому когда умирает (в мире или в голове) 5 и 6 изученный язык/технология, то после него сухого остатка остается еще меньше, чем 10%.

  4. Наше время прогресса: одни умирают, другие рождаются. В этом нет ничего страшного. Проблема только в том, что можно не успеть осваивать все знания.

  5. Приходится постоянно учиться чтобы хоть как то успевать за всем новым, что появляется. ТАков нынешний век.

  6. А что тут сделаешь? У меня ситуация почти один в один. Приходиться поспевать. Проблем то не очень. Что главное в нашем деле? Алгоритмическое мышление. А куда оно денеться? Всега при себе. Языки тоже не очень меняються… Какой проблем? За месяц с любой технологией можно разобраться.

    • Victor Ronin:

      Да в целом я согласен. Так оно и есть.
      Просто, по сравнению с другими специальностями — эта часть очень ярко выражена.

  7. Ну почему же вы считаете это все умершим?
    Да, технологии умерли, однако опыт остался. А опыт — и есть самое ценное.

    • Victor Ronin:

      Опыт = знания технологии + общие знания
      Так вот, то что вы называете опыт, который остался — это общие знания. Общих знаний в результате остается достаточно немного.
      Точнее даже так, для первой изученной технологии/языка — общих знаний остается много, а вот в каждой последующей технологии — все меньше и меньше.

  8. не зря мне бейсик,паскаль и дельфи не нравились никогда 🙂
    Про ДОС вообще отдельная тема. Линуксы рулить начинают в этом отношении.

    Например в данном моменте пишу прогу для балансировочного станка на линуксе.
    И пусть кто скажет что я не прав.

  9. Нельзя говорить вобще про изучение чего либо что это было зря. Так мозг развивается. Вы зато поняли общие принципы программирования. И теперь зато эти языки как орешки щелкаете.

    • Victor Ronin:

      Согласить, говорить, что было зря — это черезчур.
      Скорее я говорю, что объективная и субъективная стоимость изучения многих вещей
      а) Быстро падает
      б) Может быть мала изначально.

  10. Вот это кент я понимаю. На линуксе он пишет… Толи я от жизни отстал… Толи програмирование так рвануло вперед. Жутко становиться. Так недолго начать на Виндовс ХР писать… И где таких лечат?

  11. Vovix:

    Пожизненное самообучение на уровне апдейтов или даже апгрейдов — это не только нормально, но и хорошо. Всему свое время, ни одна работа не должна быть сделана дважды. Ты программист, тебе к этому не привыкать, подсознательно ты приготовился даже к сценарию автоматизации всего программирования в мире с помощью ИИ. И я к этому готов с 18 лет. Вот кому не завидую, так это уволенным детройтским РАБочим. В свои 18 они предполагали совсем другой сценарий и вряд ли представляли себе, что во вторую полусотню лет им необходимо будет начинать вторую карьеру чуть ли не с нуля, при испаряющейся на глазах корпоративной пенсии. Хотя Тоффлер писал о таких вещах еще тридцать лет назад, но мало кто его слушал. Так что наше положение отнюдь не хуже всех, нечего тут жаловаться.

    • Victor Ronin:

      Скажем так, то что я написал — это скорее констатация факта, чем жалоба.

      >Ты программист, тебе к этому не привыкать, подсознательно ты приготовился даже к >сценарию автоматизации всего программирования в мире с помощью ИИ.

      Мне эта фраза напомнила фильм Джентельмены удачи. Там было что-то типа. «Вы — джентельмены удачи. Украл, выпил — в тюрьму, украл, выпил — в тюрьму. Романтика!»

      А если серьезно, то просто я это говорил в сравнении с профессиями не требующих по крайней мере upgrad’ов. Причем не хуже оплачиваемых и не менее интересных.

  12. Sergey Perepechin:

    Кстати, есть уматное видео, на тему того, что все развивается очень быстро и половина информации которую студент учил на 1-ом курсе, будет DEAD уже на 3 курсе обучения: http://www.youtube.com/watch?v=Mmz5qYbKsvM

    • Victor Ronin:

      Отличное видеоо… просто отличное.
      Закину в конец статьи.

      Вот об этом я как раз и говорил… а то все говоря — ничего не устаревает и база остается.
      С той скоростью как все меняется, то все за 10 лет только и остается тооооненькая база от того, что зналось 10 лет назад.

  13. Мне фильм тоже понравился. Есть о чем задуматься.
    А насчет профессии… Ты сам такую выбрал. При желании можно поменять и не раз. Главное, есть голова на плечах.