Почему программисты должны управлять людьми -20



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

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

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

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

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

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

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

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

Вы можете помочь и перевести немного средств на развитие сайта



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

  1. VolCh
    /#19702992 / +2

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

    • raamid
      /#19703948

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

    • tempick
      /#19703950

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

      • suharik
        /#19704606

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

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

        • VolCh
          /#19705130

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

      • VolCh
        /#19705126

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

        • tempick
          /#19705238

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

  2. padlyuck
    /#19703034

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

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

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

  3. RafaelRS
    /#19703038 / +1

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

  4. Moskus
    /#19703100

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

  5. slonpts
    /#19703110

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

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

  6. third112
    /#19703212 / +1

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

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

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

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

  7. Sirion
    /#19703562 / +2

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

    • ne555
      /#19703660 / +1

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

      • ne555
        /#19703916

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

  8. nicholas_k
    /#19703680

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

  9. VaskivskyiYe
    /#19703810

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

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

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

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

  10. Rsa97
    /#19703922

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

  11. Ernest88
    /#19703934

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

  12. Zloeuho
    /#19703946

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