Привет, хабровчане!

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

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

Я пришёл к выводу что это из-за того, что задача поставлена неточно, соотвественно, результат выполнения такой задачи трудно предсказуем и практически всегда расходится с ожидаемым. За всю историю человек ставил и себе и другим людям миллионы разнообразных задач и только ничтожно малая их часть была выполнена в точности. Отсюда и довольно слабое развитие человеческой цивилизации за многотысячелетнюю историю.

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

Это и подтверждает прошлый 20й век. Не случайно гигансткий цивилизационный скачек связан именно с развитием ЭВМ, когда задачи стали выполняться в точности так, как этого хотел автор и результат соответствовал ожиданиям. Без ЭВМ не был бы возможен полет в космос, развитие науки, медицины и других отраслей, позволяющий сейчас существовать 7 млрд человек на нашей планете.

Хотелось бы высказаться ещё по поводу искусственного интеллекта. Лично я считаю развитие данной технологии далеко не основной, которая внесёт вклад в прогресс. Конечно, моделирование человеческого поведения на машине полезно в какой-то степени в изучении психологии человека. Но это, по большому счету, уход точности выполнения поставленной задачи, когда машина начнёт импровизировать и выдавать результат, который отклоняется от ожидаемого. Поэтому мы никуда не уйдём от классической ЭВМ, точно выполняющей задачи по заданным алгоритмам.

На этом у меня все. Оставляю пищу для размышлений и с удовольствием почитаю ваши мысли на этот счёт в комментариях.

Комментарии (20)


  1. VolCh
    04.02.2019 01:54
    +2

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


    1. raamid
      04.02.2019 10:07

      Программисты напишут ИИ, чтобы он разбирался за них в тонкостях человеческой психики ;)


    1. tempick
      04.02.2019 10:07

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


      1. suharik
        04.02.2019 11:58

        Главное — уметь подобрать нужный набор данных для каждого человека, чтобы получить желаемый результат)

        В этом и проблема. Как долго сможет не сойти с ума программист, пишущий код одновременно годный для 7.2 миллиардов операционных систем?


        1. VolCh
          04.02.2019 12:58

          Причём без документации на них.


      1. VolCh
        04.02.2019 12:57

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


        1. tempick
          04.02.2019 13:17

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


  1. padlyuck
    04.02.2019 02:26

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

    Хотелось бы высказаться ещё по поводу искусственного интеллекта. Лично я считаю развитие данной технологии далеко не основной, которая внесёт вклад в прогресс.

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


  1. RafaelRS
    04.02.2019 02:30
    +1

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


  1. Moskus
    04.02.2019 03:50

    Умение «правильно ставить (доносить) задачи» — очень важное, многие руководители обладают им в недостаточной степени, но это ни коим образом не единственное критически важное умение. Более того, это «служебное» умение, которое не ценно само по себе, потому что кроме того, чтобы донести задачу до исполнителей, ее еще нужно сформулировать так, чтобы она, например, не была оторвана от реального мира. А многие программисты во взаимодействии с людьми склонны как раз к последнему, то есть к идеализации технократического подхода и игнорированию человеческого фактора. (Если что, я сам — за технократию, но не как единственную форму управления, а только как элемент системы управления.)


  1. slonpts
    04.02.2019 03:56

    Как раз вчерашняя статья о том, к чему приводит автоматизация принятия решений (а программисты ведь все будут автоматизировать, иначе какие же они программисты) — habr.com/ru/post/438670

    Коротко: злоумышленники находят брешь в системе и начинают ее эксплуатировать. Даже 0.001% ошибок достаточно, чтобы массированная атака привела к очень неприятным последствиям для многих людей. И шансов на исправление практически нет — их слишком мало, чтобы система их заметила.


  1. third112
    04.02.2019 05:23
    +1

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

    А теперь задайте себе вопрос — сколько людей разных профессий из вашего окружения могут вам достаточно точно поставить задачу, чтобы она была выполнена именно так, как хотел постановщик. Я для себя на этот вопрос ответил, что это может сделать только хороший программист, который грамотно, пошагово выстроит точный алгоритм действий и учтёт все возможные нюансы, чтобы задача была выполнена правильно.
    Раскрою секрет, известный всем программистам: очень-очень часто, удручающе часто, прога ведет себя не так, как хотел постановщик :(
    К сожалению, даже очень «хороший программист, который грамотно, пошагово выстроит точный алгоритм действий и учтёт все возможные нюансы» не достигает успеха не то что в моделировании поведения людей, но даже слепых природных сил — предсказание погоды или землятресений.

    Я пришёл к выводу что это из-за того, что задача поставлена неточно, соотвественно, результат выполнения такой задачи трудно предсказуем и практически всегда расходится с ожидаемым. За всю историю человек ставил и себе и другим людям миллионы разнообразных задач и только ничтожно малая их часть была выполнена в точности. Отсюда и довольно слабое развитие человеческой цивилизации за многотысячелетнюю историю.
    Прежде всего: а где мера силы развития цивилизации? (Известны другие цивилизации — с чем сравнить ;) И м.б. есть задачи, которые невозможно точно поставить? Есть, нпр., в математике нечеткая логика…

    Хотелось бы высказаться ещё по поводу искусственного интеллекта. Лично я считаю развитие данной технологии далеко не основной, которая внесёт вклад в прогресс. Конечно, моделирование человеческого поведения на машине полезно в какой-то степени в изучении психологии человека. Но это, по большому счету, уход точности выполнения поставленной задачи, когда машина начнёт импровизировать и выдавать результат, который отклоняется от ожидаемого. Поэтому мы никуда не уйдём от классической ЭВМ, точно выполняющей задачи по заданным алгоритмам.
    Моделирование человеческого поведения на машине не единственная (и м.б. не основная) задача ИИ. Сейчас известно много типов задач, с котрыми машина справляется заметно хуже человека. Поэтому и пытаются разобраться: как человек их решает — т.е. для начала хоть на человеческом уровне бы справиться. Я об этом писал ранее — даже в игрушке человек иногда заметно превосходит машину.


  1. Sirion
    04.02.2019 08:54
    +2

    Пост забавно сочетается с вашим же более ранним комментарием.


    1. ne555
      04.02.2019 09:13
      +1

      С этим?
      Полностью согласен. Чтобы быть руководителем недостаточно быть хорошим программистом. Хороший руководитель больше наверно психолог, чем специалист в своей отрасли. Ему нужно создать команду из разрозненных людей, у каждого из которых свои интересы и взгляды, замотивировать их. А у автора статьи серьезные психологические проблемы и комплексы и эти комплексы он транслирует на своих подчиненных через процедуру код ревью в частности. И самое неприятное, что автор еще бахвалится своими комплексами публично. Автор не просто не может создать команду, он разрушает ее своими методами. Гнать его вшею с этой должности — мой солирный вердикт. Не дорос еще


      1. ne555
        04.02.2019 10:05

        Возможно, автор просто пересмотрел свои взгляды на 180, вообще на «бред величия» похоже.


  1. nicholas_k
    04.02.2019 09:17

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


  1. VaskivskyiYe
    04.02.2019 09:45

    Без ЭВМ… развитие науки ...

    То есть наука, по Вашему мнению, начала развиваться только благодаря ЭВМ? А главное, как же без программистов наука жила?

    Вы никогда не задумывались, что, например, результаты научного исследования далеко не всегда известны заранее? Ужас, приходится работать без «точного алгоритма», т.к. в процессе можно обнаружить что-то неожиданное. Или даже совершить открытие — там вообще всё идёт не по плану обычно.

    Но конечно, «всем нужен план» и он есть именно у Вас.


  1. Rsa97
    04.02.2019 10:05

    Представьте, что вы пишете простейшую программу решения квадратного уравнения, а потом обнаруживаете, что она работает как-то странно. начинаете выяснять в чём дело и обнаруживаете:
    — оператор умножения решил, что умножать всякую мелочь для него несолидно и с числами меньше тысячи работать отказывается;
    — у оператора сложения жизнь сложная и он периодически уходит в запой, а прикрывает его оператор вычитания;
    — оператор деления работает всего первый месяц, и периодически путает числитель и знаменатель;
    — оператор присваивания периодически присваивает 5-10% в свой карман;
    — функция квадратного корня в декрете, её временно подменяет функция кубического корня.
    И т.д., и т.п., и пр…


  1. Ernest88
    04.02.2019 10:06

    Ну не… Программисты зачастую сами не любят управлять людьми. Это разный навык. Есть IQ, логический показатель, который у программиста на высоте, а есть EQ, показатель эмоциональный, уровень общительности и приятности человека в обществе, который нужен для нахождения хорошего контакта с другими людьми.


  1. Zloeuho
    04.02.2019 10:07

    Спасибо! Подняли настроение с утра. Видел ровно такое же рассуждение, только вместо программистов были физики.