Жизненный цикл профессии программиста. Часть 2

    Навеяно последними спорами на Хабре "Программирование — отстой" vs "Программирование — не отстой".

    Год назад я готовил материалы по очень близкой теме, однако вижу, что тема до сих пор не потеряла актуальность, а потому попробую ещё углубить тему «программирование <> отстой», несколько с другой стороны.

    Рекомендую предварительно прочитать статью Михаила Донского "жизненный цикл профессии программиста", который даёт более чем 60-летнюю ретроспективу профессии программиста и показывает некоторые особенности (по большей части психологические) современного поколения программистов.

    Ну а теперь, собственно, тезисы:

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

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

    3. Разные специализации внутри профессии программиста находятся на разных этапах. Сравните, напрамер, направления, связанные с веб-программированием, для которых всё ещё характерно бурное экстенсивное развитие, и разработку информационных систем («программист 1С» — блестящий пример, приводимый некоторыми в комментариях). Статья Alex Papadimoulis — как раз о таких системах: кто найдёт challenge в 1С? У кого язык повернётся программирование в 1С назвать «sexy»? (Об этом же и у Донского: «С течением времени программирование из тонкого ремесла, иногда восходящего к искусству, становилось ремеслом все более и более рутинным»)

    4. Помните притчу про трех слепых мудрецов, которые пытались описать слона? Также и здесь: разная точка зрения на профессию программиста (вообще, "… говорить о профессии программиста вообще можно, но она столь же не конкретна, как и профессия строителя" — там же) зависит от положения наблюдателя: зависит от специализации, см. предыдущий тезис про специализации.

    5. Разные мнения на тему «программирование != отстой» зависят также от других параметров: должность (сравните мнение программиста, ведущего программиста и CIO), время работы в отрасли, опыт работы по смежным специальностям.

    6. Ещё одна грань. Я видел замечания, что вынесение настроек программы в отдельный файл и концентрация на алгоритмах — вот удел настоящего программиста, который (боже упаси!) не должен настраивать поля формы и делать такого рода рутину. Такая чрезмерная специализация вредна (шаманство настройщиков, которые не зная алгоритма, пытаются «с бубном» получить требуемый эффект), противоречит сложившейся практике (есть и исключения, но не массового характера), ведёт к попытке создания универсальных конструкторов (MS Excel, MS Access, SAP — это всё примеры «просто настрой нужные поля»)

    7. Чрезмерное увлечение изучением всё новых и новых модных или более современных языков (с одной стороны оправдываемое требованием ускорения разработки, с другой, заказчиками в первую очередь, — критикуемое за плохую поддержку существующих проектов, когда одни и те же бизнес-правила переписываются на всё более модных языках) характерно для более молодого специалиста, чем для опытных разработчиков. Это период "Красного рыцаря", отличительная черта мужской психологии средних лет, когда покоряется один язык программирования за другим, позднее приходит период большей психологической зрелости. Все через это проходят, это необходимый этап становления.
    Однако с сожалением я вижу, что есть значительное количество проектов/программных продуктов, которые действительно редко проходят этап зрелости, вечно мигрируя с одного языка на другой, находясь в вечной «бете» — и это идёт уже на уровне социума в целом.

    8. Практически в любой профессии есть следующие ступени: новичок, осваивающий готовые методики под присмотром учителей, специалист, умеющий комбинировать и применять нужные инструменты, и мастер, работы которого приближаются к грани искусства. На любой ступени действует правило «80% рутины + 20% творчества», не надо думать, что работа мастера не включает в себя ежедневного упорного труда, бесконечного терпения в кропотливой скучной («boring») работе. Кто-то, как Дмитрий Котеров, нашёл дзен в программировании, кто-то философски подметает улицу или работает в котельной кочегаром.

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

    Подробнее
    Реклама

    Комментарии 29

      +4
      Такие статьи хорошо помогают понять где ты находишься сейчас и где ты будешь завтра. Ведь в основном мы мечемся от технологии к технологии за выбором лучшего, быстрого, не замечая, что не в этом суть. Смешно конечно читать Донского, особенно по С++. История повторяется, каждый раз когда появляется технология новее, «староверы» смотрят искоса. Как же мы можем жаловаться на сложность работы, если Донской говорит, что С++ для новичков :)
        +3
        По моему статья все таки не о технологиях и не о метании между ними, а о чем-то более высоком, так сказать. :)

        Я как раз на этапе, когда программизм стал рутиной… ох нехороший этап я вам скажу
          +2
          на этом этапе надо научиться находить для себя те ~20% задач, которые становятся отдушиной от рутины. При решении которых реально горят глаза, тогда и рутинные задачи воспринимаются легче. Находить не обязательно в проекте над которым работаешь постоянно
            +1
            Вот вот! Этим я сейчас и занимаюсь. Только от основной работы все таки зависимость. Надо сказать, то что работа стала рутиной — отличный стимул развиваться и двигаться дальше. Как говорится, все что ни делается — все к лучшему. Главное этот этап преодолеть.
        +1
        Очень интересная заметка!

        Хочется добавить, что в профессия программиста отличается от многих профессий.
        Во-первых, знания устраивают значительно быстрее, чем где-либо. Конечно, принципы остаются неизменными. Однако, для того, чтобы быть «мастером» необходимо следить за новинками.

        Во-вторых, программист может оттачивать своё мастерство не только на работе, но и дома. Если программирование — не только профессия, но и хобби, то можно заниматься интересными проектами в свободное от основной работы время.
        Мне, например, очень интересно копаться в Rails после 8 часов вечера.
          +12
          Профессия парикмахера — отличается от многих профессий.
          Во-первых знания устаревают значительно быстрее, чем где-либо. Новые препараты, материалы, тенденции моды. Чтобы быть профессионалом, необходимо следить за новинками, посещать мастер-классы и тренинги…
          Во-вторых, парикмахер может оттачивать свое мастерство не только на работе, но и дома, на подругах и знакомых.
            –1
            Вы правы. А ещё какие профессии?
              +1
              музыканты ;)?
              если серьезно то все кто любит свою работу, находит ей применение и вне работы
              только программисты любят высказывания на подобие чуть ли не _фашистских_ плана про арийцев и чистую расу, мы сами боги и т.п. (информация к размышлению)
                –1
                мы не бги, мы «интелектуальная элита страны» (с)
                +1
                Все. Абсолютно все. Зависит от человека. И программист может ненавидеть свое дело, еле-еле высиживать 8 часов в своем офисе, писать на каком-нибудь «мертвом» языке и ничем не интересоваться.
                А может и дворник постоянно следить за новыми моделями метел (ведь на самом деле, сейчас куча интересных девасов, заменяющих метлы), устраивать конференции, оттачивать мастерство дома, благо дома пыли не меньше.
                Так что прежде всего это зависит от человека, и лишь потом от профессии.
              +5
              По-моему, если человек работает не только на работе, но и занимается тем же самым дома (не обязательно программированием — чем угодно), то он очень быстро сгорает. Любимое дело как раз таки и превращается в рутину.

              Лично я в последние полгода по приходу домой буквально заставляю себя взять какую-нибудь книжку и просто почитать. Никаких новостей, очередных экспериментов, скриптов и т.д. Компьютер — только для просмотра почты, музыки, фильмов и иногда игрушек. При этом работоспособность в рабочее время очень заметно повышается.
                +1
                тоже правильный подход. по-моему, в жизни программиста должны быть оба периода
                  +3
                  Я дома даже инет отрубил))) Комп врубаю только по большой необходимости.
                  Прихожу — и читаю книги. Или к друзьям в гости, или в кинотеатр\театр. Да просто прогулятся по парку лучше…
                  Телевизора у меня тоже нет.
                    +1
                    Ну, интернет отрубать — это слишком радикально ) Нужно же скачивать последние веяния музыкальной и кино индустрии… эээ… с целью пародирования, естественно ))
                –1
                Читал я статьи Дмитрия Котерова, в большей степени похожи на статьи новичка для новичков.
                +2
                Хотел написать что-то длинное и вдумчивое, но… передумал. Незачем. Каждому свое, честное слово — и программист одинэсник не поймет программиста-алгоритмиста, а проблемы программиста, который пишет под микроконтроллеры непонятны джависту. Нет, программирование — не отстой, просто быть на bleeding edge развития технологий (что совершенно не подразумевает «использовать самые современные языки и тэ пэ») к сожалению доступно (возможно) не всем.
                  +1
                  а мне нравится быть _красным рыцарем_, ведь разве не так постигается истина?:)
                    0
                    и мне тоже нравится.
                      0
                      Если вы понимаете оборотную сторону медали и готовы принимаеть её как плату — то почему бы и нет?
                  • НЛО прилетело и опубликовало эту надпись здесь
                      +2
                      Спасибо за ссылку на статью Михаила Донского. Она великолепна.
                      Пробудила давно забытые чувства. Читая такую статью, понимаешь, каким надо быть программистом.

                      Что касается темы, то программирование никогда не было отстоем. И вряд ли будет. Место для романтики и искусства всегда остается. Если и не в промышленных масштабах, то хотя бы в пределах каких-то домашних изысканий.
                      Если вспомнить примеры Донского. То вот он говорил о водителях. Если честно (тут я, правда, плохо осведомлен), сомневаюсь, что быть извозчиком было когда-либо искусством. Возможно, это было почетно, когда люди переходили с лошадей на автомобили, но уж, простите, не искусством. А вот само создание автомобилей возможно. И тут можно так же взглянуть на современное автомобилестроение. От искусства ни следа, лишь бизнес. Однако все еще создаются поистине чудесные экземпляры, ничего не имеющие общего с серийным производством.
                      Так и в программировании.
                      На мой взгляд.
                        –1
                        Хм… мне больше нравится подбор вкладов на Банки.ру, более настраиваемый поиск, да и список банков куда обширнее.
                          +4
                          Сорри… не в тот топик сообщение закинуто
                            –2
                            Эхх, покарали за невнимательность и карму в минус)) Хех))
                            0
                            По моему, эта тема сильно пересекается с понятием проект.

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

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

                            И вот он час — проект закончен! Технологии работают. Ваши знания нашли применение. Ваши алгоритмы в деле (будь то алгоритм обработки форм в 1С-ке, алгоритм работы микроконтроллеров или еще чего там: )!

                            И вот пора к новым вершинам — решать другие задачи и по возможности другими средствами.
                              +2
                              А кто вообще сказал, что все это искусство надо всем?
                              Программисту-штамповщику, как рабочему на заводе, вовсе не нужно придумывать алгоритмы и решать хитрые задачи — нужно сделать эту заготовку и отдать ее в сборку без всякой выдумки.
                              Теперь глобальных проблем в программировании гораздо меньше и творцов — программистов-математиков уже просто не нужно столько.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                  0
                                  Вот здесь можно почитать изложение довольно забавного взгляда на весь Хабрхабр как таковой…

                                  novalski.blog.ru/

                                  Нестандартно, хотя и мрачновато, да и незаконченно ещё…

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

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