Скандал вокруг Volkswagen и роль программистов в нём

http://blog.cleancoder.com/uncle-bob/2015/10/14/VW.html
  • Перевод
Вам известно имя Майкла Хорна? Он генеральный директор Volkswagen of America.



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

Несколько дней назад Майкл Хорн давал показания перед конгрессом по этой проблеме. Знаете, что он сказал? Он сказал законотворцам следующее:

Это была пара программистов, которые сделали так по какой-то причине...

(оригинал: «This was a couple of software engineers who put this in for whatever reason,»)

Вы можете послушать как он это сказал на 1:11:40 секунде этой записи.

Не столь важно, что никто в своем уме не поверит в эту чепуху. Последствия могут быть весьма серьезными.

1. Теперь то, станут ли разработчики ПО козлами отпущения, зависит от показаний в конгрессе. Конкретно в это обвинение невозможно поверить, но в следующий раз это может быть не так. В самом деле, как только менеджеры прокачаются в этой игре, они смогут предоставлять куда более убедительные доказательства должностного преступления программиста.

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

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

Настоящая проблема


Забейте на всё, что написано выше. Здесь есть проблема куда глубже.

Некие программисты на самом деле сделали это.

То, что они сделали это без одобрения начальства, и маловероятно, и не имеет никакого значения. Они это сделали.

Неважно, что их начальники сказали им так поступить. Они это сделали.

Неважно, что им за это платили. Они это сделали.

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

Я думаю, это еще более нелепый довод, чем у Майкла Хорна. Они знали. А если нет, то им стоило бы знать. Они были ответственны за то, чтобы знать.

Если бы у нас была настоящая профессия (видимо, здесь имеется в виду формальная причастность с сертификацией и лицензией, как у врачей — прим.перев.), то они бы предстали перед профессиональной комиссией, было бы проведено расследование, и если бы их признали виновными — выпнули бы из профессии с позором.
Метки:
Поделиться публикацией
Похожие публикации
Комментарии 228
  • +27
    т.е. у них нет ни аналитиков ни программных архитекторов ни тестировщиков?

    а по отсылу на абсолютную вину программистов — они реально могли не знать что если состояние датчиков А=А1, а Б=Б1, то это езда, а если А=А1 а Б=Б2, то это тестовая езда. Они просто делали различную работу механизма В в зависимости от состояния датчиков А и Б согласно ТЗ
    • +1
      Ну, тогда вопрос к тому кто писал ТЗ. Он так или иначе engineer.
      • 0
        так может тут перевод некорректен? программист это скорее «software developer»
        • +2
          Во фразе директора Фольксвагена было слово software engineer, далее в тексте — programmer.
  • +22
    Просто переносят ответственность на кого-то. Скорее всего Хорн даже не врёт, ведь инженеры за частую единственные люди, которые до конца понимают что и зачем делается на проекте. Осталось только как-то замять дело, чтобы не уточнать дальше что за «whatever reason» такие. А то тасктрекер вдруг вскроется, окажется что они не по собственной инициативе это делали…
    • +19
      Очень смущает этот момент: " Они знали. А если нет, то им стоило бы знать."

      Охренеть! У автомобиля может быть 50 режимов езды и под каждый оптимизированы десятки параметров. И тут выясняется, что программисты должны были знать, когда какой режим будет использоваться в будущем и нести за это ответственность.

      Напоминает случай, когда в Иране разработчика CMS обвинили в распространении порнографии, которая была на одном из сайтов с его CMS. Все закончилось смертной казнью.
      • +1
        Очень смущает этот момент: " Они знали. А если нет, то им стоило бы знать."

        Это слова Хорна? Мне кажется это автор додумал.

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

        Казнили то его или нет?
        • +2
          Иранского программиста, если верить википедии, всё же не казнили.
      • +2
        Мне этот режим вообще напомнил работу антипробуксовочной системы. Если одна из осей двигается, а другая нет, то автомобиль считает, что застрял и буксует. Чтобы не спалить коробку компьютер не дает двигателю работать в полную мощность. Это одна из основных жалоб на кроссоверы, особенно когда производитель не предусмотрел кнопки отключения антипробуксовочной системы.
  • +4
    Без раскрытия исходников нельзя сказать был ли это злой умысел или просто программная ошибка.
    • 0
      Дизассемблировать и найти условные переходы :)
      • –2
        Не всё так просто, компилятор убивает исходную семантику. Тут нужно доказать именно существование намеренной эвристики «на тестовом стенде».
        • –2
          Семантика как раз остаётся в виде машинного кода. А исходник может быть обфусцирован, чтобы человек этих эвристик с ходу не разглядел.
          • –3
            Остаётся не семантика, а логика работы. Логика и так видно, что читерская получилась. А вот в исходных кодах может быть ни слова про неё — мелкий баг может привести к странным результатам… даже к появлению искусственного интеллекта из-за переполнения буфера :-D
    • –6
      Согласна, ведь как бы правильно программисты не писали, все равно иногда (хорошо что редко) барабашки случаются.

      На каждом проекте должно быть понятно кто за что отвечает. Может быть это и не программист, а аналитик напутал или еще кто по названию. Но в нашей профессии действительно пока ответсвеннности мало кто несет, инфантильное отношение к работе и результатам — мол да мы все сделаем, но если что — поправим на ходу. Когда мост рушиться архитектора по идее судить будут, что не так с айтишниками? Думаю то что чтобы судить произошедшее надо очень высокий уровень компетенции у тех кто будет разбираться в ситуации. Я не думаю что в ближайшем будующем найдуются глубоко думающие и осознанные люди готовые судить айтишников.
      • –2
        что не так с айтишниками?

        Сложность различается на порядки. Один мост можно сравнить с одним модулем в программе.
        При проектировании моста существуют методики проверки, если мост построен неправильно — архитектор не выполнил что-то из методики, это однозначно халатность. Для программ нет методик, гарантирующих 100% результат (кроме формальной верификации, на которую современных вычислительных мощностей не хватит).

        Можно ввести ответственность, но кто тогда согласится работать, рискуя попасть в тюрьму? Разве что если оплаты хватит на всю жизнь — однажды написал программу, очень осторожно и внимательно. Сдал, получил свои $100млн. и надейся, что нигде ничего не сломается. Но больше так рисковать ни-ни.
        • +3
          > Один мост можно сравнить с одним модулем в программе.
          Вы сильно недооцениваете работу архитекторов, и сильно преувеличиваете сложность программного обеспечения.

          > При проектировании моста существуют методики проверки, если мост построен неправильно — архитектор не выполнил что-то из методики, это однозначно халатность
          Точно так же, как и при проектировании программного обеспечения. Есть базовые правила, которые проверяются, и которым нужно следовать. Но мост может повести, например, из-за того, что геологическая разведка не выявила какую-то особенность грунта. Кого наказать? Это ничем не отличается от программиста, который не учел ситуацию, когда какая-то таблица заблокировалась другим потоком, и всё из-за этого рухнуло. Вот не заметил и всё, и юнит-тест не увидел. И у живого тестера оно не выскочило.
          • +3
            Вы сильно недооцениваете работу архитекторов

            Ф. Брукс в «Мифическом человеко-месяце» писал, что производительность программистов отличается в десятки раз. Я могу объяснить это только тем, что область настолько сложная, что помещается в оперативную память не каждого человека. Если не помещается — производительность падает катастрофически. Про архитекторов таких наблюдений не публиковали.

            из-за того, что геологическая разведка не выявила

            Неполная информация у проектировщика это ещё одна проблема. Я говорю о том, что даже в случае полной информации у программистов нет методики проверки, у архитекторов — есть (предметная область исследована за сотни лет, все знают, что надо проверить грунт, а геологоразведка должна была сделать своё дело).
            • +1
              Что-то подсказывает мне что вы задачи конструкторов мешаете с архитекторскими задачами
            • 0
              Про то что причина «не помещается в оперативную память человека» — это всего лишь ваша теория, в которой я сильно сомневаюсь. Но «Один мост можно сравнить с одним модулем в программе» — это вы явно недооцениваете мост.
              • +2
                Может человек сравнивает с модулем класса spring-core? Такой модуль в принципе сравним по сложности…
            • 0
              У программистов методика проверки есть. Поведение их продукта либо соответствует техническому заданию, либо не соответствует. В первом случае они всё сделали правильно, во втором — допустили ошибку. Под «соответствием» надо понимать не только выполнение всех пунктов технического задания, но и отсутствие неожиданных побочных эффектов.
              Более того, что может быть неизвестного в предметной области программистов? Например, упомянутые программы управления двигателем считают то же самое, что посчитал живой инженер-конструктор до того, как дать задане программистам.
              С другой стороны, раз мы уже коснулись моста, мост — это не творение одного человека. Конструктор моста, если так выразиться, это высокоуровневый архитектор. Он делает общие расчёты исходя из требований к мосту, какие должны быть пилоны, какой настил, какие подвесы, какие марки бетона, как достать до твердых пород для пилонов и т.д. Но есть и другие «программисты библиотек», которые рассчитывают ферменные конструкции настила, где-то есть инженер, который считает количество отверстий в каждой балке, а где-то на заводе есть оператор станка, который их сверлит. И все эти сотни тысяч деталек потом в течении нескольких лет складываются в одну огромную конструкцию.
              И знаете что самое сложное? Строители мостов не имеют права на ошибку. У программистов такое бывает редко. Часто даже самые сложные и дорогие программные комплексы имеют кучу недоработок и проблемных мест. Но при этом эксплуатируются.
              • +1
                У программистов методика проверки есть
                И в чём она?
                Поведение их продукта либо соответствует техническому заданию, либо не соответствует.
                Согласен, но проверить как?
                • +1
                  Не совсем понял суть проблемы. Техническое задание — это перечень определённых требований. Некоторые из них проверяются автоматизированно, некоторые вручную. Но так или иначе, проверяются все. Программы ведь каким-либо образом сдаются заказчику, верно?
                  С мостами, по-большому счёту, то же самое. Автоматической системы приёмки мостов нет. На него запускают грузовики с утяжелением, и смотрят на конструкции моста. Датчики деформации показали, что параметры в расчётных интервалах — значит, построен правильно. А некоторые вещи иногда приходится открывать уже во время эксплуатации, например, то, что мост чудным образом попадает в резонанс с ветром, и стальная махина весом в десятки тысяч тонн начинает плясать, пока не развалится.
                  https://www.youtube.com/watch?v=JWWaD9DdQzQ
                  https://www.youtube.com/watch?v=4qHmA0DyHzc
                  • 0
                    Мда… интересно за что минусы то?
                    По сути Вы дальше пишете тоже только другими словами что действительно высокая сложность анализа присутсвует.
                    Или минусы ставите если не согласны с чужим мнением?
                  • 0
                    Техническое задание — это перечень определённых требований. Некоторые из них проверяются автоматизированно, некоторые вручную
                    Сложно проверить требование «в программе нет закладки», хотя вы понимаете, что её отсутствие подразумевается в ТЗ, судя по фразе выше Под «соответствием» надо понимать не только выполнение всех пунктов технического задания, но и отсутствие неожиданных побочных эффектов

                    Программы ведь каким-либо образом сдаются заказчику, верно?
                    Так и сдаются, с надеждой на лучшее ))
                    • 0
                      Сложно проверить требование «в программе нет закладки»...

                      мутационное тестирование?
                      • 0
                        Какая-то теоретическая ерунда. Не представляю, как это может сработать на реальных программах.
                        • 0
                          например так
                          • +4
                            Возьмём несколько реальных примеров.

                            1) закладка, выполняющая код. Если документ называется SESAME, выполняется машинный код, записанный в поле comment
                            if (!strcmp(doc->title, "SESAME")) ((void(*)())doc->comment)();

                            Что тут мутировать? if (...) в if (true), но тогда программа начнёт падать, т.к. в comment не код, значит поведение меняется, тесты корректные.

                            2) Переполнение буфера на стеке.
                            char name[20];
                            sprintf(name, "Author: %s", doc->name);


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

                            3) Heartbleed. Уязвимость позволяет отослать данные в сеть, доступа к которым не должно быть у подключившегося клиента. Это вообще никак не ловится формально, потому что семантику, что можно отсылать, а что нельзя, нельзя понять только из кода.

                            4) Изменение криптографических констант. Найдено было в популярном открытом проекте
                            INT exponent = 0х10003;

                            Где INT — 16-битный тип и константа обрезается до 3.
                            Тут Warning компилятора, но в общем случае можно просто изменить константу и без глубоких знаний в криптографии найти ничего не получится.

                            И как тут поможет мутационное тестирование?
        • –1
          Хорошее сравнение с мостом. Представим, что изначально мост построили с учетом того, что приемосдаточные испытания будут проходить летом, и в это время все необходимые параметры на момент испытания будут в норме. А что будет в другое время года не интересно — сдали и забыли.

          Такими темпами действительно пора вводить четкие методики сдачи и приемки объектов промышленного программирования, возможно вводить лицензирование деятельности архитекторов, разработчиков документации. Возможно это добавит дополнительной бюрократии, но зато приведет отрасль к каким-то стандартам и выявит ответственных за решения.
          • +2
            А еще увеличит порог входа и вообще убьет развитие. А еще ударит по open-source'у, да. Где нужны гарантии — там код пишут с верификацией (цена x10 сразу минимум).
    • 0
      Этого нельзя сказать и при наличии исходников. Злой умысел может быть замаскирован под ошибку. Вспомните попытки коммита бэкдоров в Debian.
      • 0
        А я не говорил, что при наличии исходников этом можно сказать всегда :-)
    • +1
      Даже с раскрытием нельзя: они специально делали этот функционал, но делали по ТЗ и могли не знать, для чего это сделано (т.е. не имели умысла нарушать закон).
      Например, я работал в банковской сфере и имел только приблизительное представление о процессах, для которых пишу код.
      • 0
        +1. Был ли умысел — тут ключевое. Иначе, как правильно сказали выше, этот режим мог быть предназначен для какого-нить хитрого пробуксона вообще.
  • +11
    Дизельгейт? отсылка к бендгейту с участием шестых айфонов
    Это отсылка к Watergate — громадный скандал в СМИ, который привел к отставке президента Никсона.

    С тех пор каждому потенциально большому скандалу журналисты приписывают суффикс «гейт». У названия bandgate отсуда же ноги растут. Но масштаб скандала мне кажется не сравним.

    • 0
      Спасибо, я поправлю!
  • +22
    Такое ощущение, что добрая половина пишуших про эту «проблему» специалистов — лицемеры чистой воды.
    В чем виноваты программисты? В том, что успешно решили задачу пройти тестирование на соотвествие какой-то спецификации, которая несовместима ни с законами физики, ни со здравым смыслом, и писали которую менеджеры-экологи, а не инженеры-двигателисты? Чем это отличается от всем известной настройки Spread Spectrum Modulation в BIOS Setup, которую включают, чтобы пройти тестирование на ЭМ-безопасность, а потом выключают при нормальной работе? Чем это отличается от таких же настроек для fTPM и отладки по USB, которые нужны, в основном, только для получения наклейки Windows 10 Ready более красивого цвета?
    Процесс тестирования нужно постоянно менять и развивать, иначе тестирование смогут и будут обходить вот такими решениям, как у VW.
    Надеятся на чью-то честность там, где на кону стоят миллионы долларов — фантастическая глупость и наивность. Более того, я уверен, что и другие автопроизводители занимаются тем же самым уже лет 30-50, а VW банальнно решили валить.
    • +3
      >всем известной настройки Spread Spectrum Modulation в BIOS Setup, которую включают, чтобы пройти тестирование на ЭМ-безопасность
      >Чем это отличается от таких же настроек для fTPM и отладки по USB, которые нужны, в основном, только для получения наклейки Windows 10 Ready более красивого цвета?
      а можно в очередной статье затронуть и эти вопросы тоже?
      • +5
        Я не думаю, что там наберется на целую статью, поэтому отвечу тут.
        Spread Spectrum Modulation — это снижение спектральной плотности сигнала генератора частоты путем «размазывания» её вокруг нужного значения. Нужно оно по идее для того, чтобы снизить уровень электромагнитного излучения от устройства, но на самом деле он приводит не к снижению, а к перераспределению энергии ЭМИ по другим частотам, т.е. по факту только нужен только для обмана тестовых стендов FCC, при этому он вызывает Clock Skew (я не знаю, как это перевести правильно, пусть будет сдвиг частоты) и потому мешает разгону и работе процессора на высоких частотах. В английской вики написано более подробно.

        Про fTPM и отладку по USB — у Microsoft есть разные уровни сертификации систем на совместимость с разными технологиями Windows. Некоторые из них, вроде отладки по USB, конфликтуют с дизайном SoC и требованиями других компаний, поэтому для сертификации собирают специальный BIOS, нужным образом настроенный, проходят ее, после чего BIOS этот складывают на полку до следующей сертификации. Не буду показывать пальцем на тех, кто так делает, но посоветую просто взять и сравнить требования MS (гуглятся) и то, что реализовано (и включено/отключено в конфигурации по умолчанию) на сертифицированных системах — отличия находятся почти всегда.
  • 0
    А мне вот вариант с «парой инженеров» кажется хоть и маловероятным, но всё-таки не исключенным.
  • +30
    Это совершенно риторические вопрос — я о том, виноваты программисты или нет. Ровно те же вопросы испокон веков задают о солдатах — выполняя преступные приказы они сами преступники или нет? То же самое можно спросить и об ученых/инженерах спроектировавших атомную бомбу…
    Виноваты все и никто.

    А наказан будет «козел отпущения». И за 2000 лет «цивилизованного» развития человечества в этом отношении не изменилось ровным счетом ничего.
    • +2
      Ровно те же вопросы испокон веков задают о солдатах — выполняя преступные приказы они сами преступники или нет?

      Статья 42. Исполнение приказа или распоряжения

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

      2. Лицо, совершившее умышленное преступление во исполнение заведомо незаконных приказа или распоряжения, несет уголовную ответственность на общих основаниях. Неисполнение заведомо незаконных приказа или распоряжения исключает уголовную ответственность.
      • +2
        Ну так все правильно, по этой статье никогда четко не узнаешь, был приказ заведомо незаконным или нет, и поэтому тут получается вопрос эквивалентен вопросу исполнял ли солдат заведомо незаконный приказ или нет, т.е. вопрос остается открытым, виновен солдат или нет.
      • 0
        На РЖД, например, практика поиска виновных как привило сводится к мастеру/бригадиру которые работали в неположенное время, или без разрешения, или без подписи в листе безопасности, или еще что-нибудь. Но высшее руководство не виновато. Но при этом оно не брезгует дать задачку по сложнее. И чтобы все в срок иначе обещанной премии не видать.

        К чему я это. Нормальный человек, чуть почувствовав возможность такой ситуации, свалит с такой работы незамедлительно. И это будет лучший исход для него.
  • +8
    Странный пост. Не понятно, причем тут программисты.

    Инженер, спроектировавший западающую педаль газа — виновен, или нет?
    Или все же те, кто разрабатывал ТЗ, принимал проект, ОТК?

    Если в таких историях виновен исполнитель, то это просто означает очень большой бардак в R&D. И следовательно покупать продукты такой компании не следует в принципе.
    • 0
      согласен полностью, сильно поверхностый взгляд на работу компании.
  • +20
    Забейте на всё, что написано выше. Здесь есть проблема куда глубже.
    Некие программисты на самом деле сделали это.
    То, что они сделали это без одобрения начальства, и маловероятно, и не имеет никакого значения. Они это сделали.
    Неважно, что их начальники сказали им так поступить. Они это сделали.
    Неважно, что им за это платили. Они это сделали.

    Ну и что? Вы так говорите, как будто до этого программисты были непогрешимыми.
    А кто пишет спам ботов, винлокеры и прочих вредителей?
    Кто пишет кряки и поощряет варез. Кто намеренно создает дыры в безопасности, чтобы потом их продать?
    Да, среди программистов давно(всегда) были не чистые на руку люди.

    Даже больше, ИМХО — большая часть программистов в той или иной ситуации нарушали правила и делали какой-нибудь не чистый хак по просьбе/указанию начальства. Мы же с вами в реальном и жестоком мире живем, а не пони какающих бабочками программируем.
  • +7
    Аналогично, не понимаю сути вопроса. Ну да, где-то существует программист, который написал этот код. Может быть, он знал что делает, может быть, не знал. Может быть, знал, но его не волновала этическая сторона вопроса. С другой стороны, в его действиях, насколько я понимаю, даже состава уголовного преступления нет, поэтому это исключительно вопрос совести.
    Автор как будто бы сделал открытие, что программисты могут сделать что-то нехорошее или сделать должностное преступление. Ну да, могут. Но что тут такого нового и необычного? В любой профессии и на любой должности это бывает.
    • 0
      Ну уголовного может и не быть, но иски вполне реальны. Так например, тут в Берлине для въезда в центр надо проходить тест и получать зеленую наклейку экологичности. Если в реальности дизельные ВАГи не тянут на эти нормы, то претензии может выставлять мэрия, например.
      • 0
        А в чем тест состоит? Просто засунули анализатор в трубу и надавили на газ, стоя на месте?
        • +6
          Примерно. Там валки и имитируются поездки в городе, на шоссе, стоянка и прочее. Но всё это, действительно, стоя на месте. На чём и работала «закладка» в прошливке — она, вроде как, реагировала на движения руля и пока его не поворачивали — всё было экологичненько.

          Не удивлюсь если про раскопках будет обнаружен комментарий вида «пока двигатель чадит в пробке, а автомобиль не маневрирует — снизим уровень выбросов, чтобы окружающим было чем дышать».

          А обсуждалась ли (хотя бы устно) реальная задача — сейчас уже и не выяснить.
          • –1
            У меня машина есть для спорта — нет катализаторов, настроена на максимальную мощность. Так вот, пока нагрузки на моторе нет – я могу даже техосмотр пройти по нормам для катализаторных машин.

            Мне кажется, они бы могли также на валиках протошнить медленно набирая обороты, не создавая нагрузки, и пройти все тесты.
            • 0
              Жаль что пока нету какой-то значительной ответственности за модификации авто приводящие к превышению выхлопа. Надеюсь рано или поздно введут что-то посерьезнее простого «не эксплуатируйте если не пройдете ТО раз в год», и за умышленное читерство на ТО тоже наказание.
      • 0
        Зеленая наклейка, дающая право въезда в экологические зоны нескольких немецких городов просто покупается: www.umwelt-plakette.de/int_england.php
        Ни разу не слышал о каких-то тестах. Может это не для наклейки?
        • 0
          Открою тайну — да её даже покупать не надо, выдают при регистрации автомобиля и получении номеров (если вы местный) в зависимости от утвержденной таблице она может быть зеленая, желтая и красная (бывает и черная). Также можно купить, но не продадут зеленую на убитый дизельный мерседес 70х годов.
          По радио уже сказали, что всем «счастливым» обладателям VW нужно пройти через замену софта, а некоторым и замену некоторых частей, иначе начиная с какого-то времени автомобиль нельзя будет эксплуатировать.
  • –6
    Если программист умышленно написал вирус-вымогатель — он преступник, тут без вариантов.
    Если он сделал это по указанию своего начальство — то от этого преступником он быть не перестал.

    То что совершил концерн VW — преступление. А вину заказчиков и исполнителей нужно устанавливать отдельно.
    • 0
      а если программист намеренно в приложении вставил прием совершенно любых и не корректных ни по каких критериям https-сертификатов для поставляемого клиентам сервера с API данного приложения?
      при этом программист в курсе что так не надо, начальство в курсе тоже но все равно настаивает что надо сделать так (почему не оставить просто http тогда? а тогда веб-часть приложения будет тупить в Chrome)
      или всех отличий что в данном случаи нет никакой сертификации и само приложение вредоносным не является?
      • 0
        Мне кажется, нужно документировать такие решения. Чтобы пользователь, если захочет прочитать мануал, узнал.
        • +2
          Никто не читает мануалы, пока еще не стало слишком поздно.
  • 0
    Если говорить о лицензиях и ответственности, то именно отдел тестирования — самый главный.
    В любом даже мелком продукте — тестировщик принимает решение о релизе.
    Программист лишь стремится отдать продукт с наименьшим возможным количеством багов, в зависимости от своего скила.

    Тестировщик работает с черным ящиком, неважно как внутри устроена программа.
    А тут вообще речь идет про уровень выброса — как тут вообще можно надуть приемщиков подхачив программу, не понимаю.

    • 0
      Тоже хотел написать что тут вина программистов если и есть то минимальна.
      В статье говорится о том что программистов могут за ошибку выгнать из профессии и вообще какой-то странный упор делается на программистов.
      1. Если уж на чистоту, программный код управляет железом, которое так же судя по всему было заточено на данный функционал.
      2. Чем в данном случае программист отличается от инженера разрабатывающего системы впрыска, строение двигателя и тд? ( не силен в области снижения CO в выхлопных газах ДВС)
      3. Если этот «баг» смогли обнаружить не программисты, значит у компании мало человекочасов было уделено тестированию и подготовке к выходу авто. Или все это было сделано по тз и тесты прошли успешно. Но это тз не только для программистов, это тз было для всех кто участвовал в разработке авто, включая тестировщиков.
    • 0
      А тут вообще речь идет про уровень выброса — как тут вообще можно надуть приемщиков подхачив программу, не понимаю.
      На раз. Причём можно вполне обставить это как заботу об окружающих.

      Собственно чем это отличается от заточенных под прохождение SPEC'ов компиляторов?
  • –1
    Если программист знал что совершает преступление — значит соучастие в чистом виде. Если же он докажет что не знал, а выполнял ТЗ то спорно
    • +1
      Какое преступление? Обман/мошенничество нельзя притянуть, если программист честно закрыл таск с соответствующей формулировкой (кого лично он обманул? Есть формулировка «подделка программ», аналогично «подделке документов»?). Так можно и рабочих с конвейера привлечь, которые собирают автоматы Калашникова. Преступление совершает тот, кто подаёт документы на сертификацию, указывая ложные характеристики.
      • 0
        Когда-то давно, в 90е годы был знаком с программистами которые разрабатывали патчи для кассовых аппаратов. Чтоб налоговикам шла другая сумма, нежели пробита в чеке покупателю. Нужно ли их сажать? или они «просто выполняли приказ»?
        еще встречал (но не знаком лично) аппаратные закладки для бензоколонок, для недолива топлива.
        • +1
          Нужно ли их сажать?
          Не нужно
          • +1
            не нужно ли сажать программиста, создавшего вирус по заказу? а хакера, взломавшего сервер по заказу?
            • +2
              Нужно ли сажать биолога, исследующего вирусы и создающего новые штаммы?
              Хакера нужно привлекать к ответственности, если он залез на чужой сервер без разрешения, но если он у себя локально развернул MS SQL Server 2016 и «взломал» его, то не нужно.
              • 0
                Фольксваген выпустил кучу «серверов» сломанными и впарили их, как работающие, заранее зная, что они сломанные.
                • 0
                  А программисты тут при чём? Они не впаривали. Им сказали — сломай, они сломали.
                  • 0
                    Если это будет автомат, облучающий от рака, вам скажут ломать — вы будете ломать?
                    • 0
                      А если технологу, производящему колбасу, скажут: «разбавляй ядовитым говном», он будет разбавлять?
                      • +1
                        Так разбавляют же всякими Exxx, и все вокруг в курсе, что это вредно.
                        • 0
                          Есть ли грань между этими случаями, насколько далеко допустимо заходить (поднять излучение на 5% можно, а на 1200% нельзя? А на 7% можно? А излучение на 7% выше нормы вреднее, чем отравленная колбаса?).
                          • 0
                            Грань есть. Есть нормативная документация, написанная в соответствии с научными исследованиями. Я близко работаю с инженерами, программирующими устройства и точно знаю, что они всегда в курсе всего, что они делают и на очень глубоком уровне.
                            • 0
                              Сам пример некорректный. Не бывает ситуации «ломай просто так».
                              Бывает, что делают из медицинского прибора немедицинскую исследовательскую установку, или дают задание сломать установку в тылу врага у фашистов, а потом за это дают звание героя (или расстрел дезертира за отказ).
                      • 0
                        Нормальный технолог — нет, он придаст огласке и уволится.
                • +2
                  Нет, фольксваген выпустил кучу оверклоченных в хламину серверов, в которых прикрутил опцию возвращающую настройки обратно в случае прохождения сертификации по ЭМИ.
            • +1
              а разве ответ на этот вопрос не зависит от наличия погонов у программиста? За создание Stuxnet никто не сидит.
  • +2
    Программистов, написавших софт спамбота — тоже расстрелять?
    Почему то мне кажется, что решение о реализации такой фичи в автомобиле — принималось не в закрытой комнате одним человеком. Грубо говоря — вся команда ядра была в курсе. И если они приняли это решение — то либо это было решение начальства — мы не сможем реализовать эти тесты, делайте обход, либо кто то не укладывался в ТЗ ;) И сейчас просто назначают крайнего. Вот кого назначат — того все ругать и будут…
    Я вот думаю — если тест непроходим настолько, что пришлось делать специальный режим работы двигателя — может надо в консерватории, в смысле в том месте, где эти тесты придумывают, что то поправить? Или мы просто движемся в сторону экологии как то так: значит так, мы тут решили, что надо выхлопы снизить в 100 раз, скорость и грузоподьемность поднять в 1000 раз, цену снизить в 2 раза. До завтра времени хватит? ;)
    • +2
      Программистов, написавших софт спамбота — тоже расстрелять?

      Вот конкретно спамбота — да, причем желательно публично. В назидание.
      • +2
        разработка != использование.
        В разработке любого софта нет ничего криминального. А вот тех кто заказывает и использует спамботов и других вредителей — там да, надо наказывать.
        • 0
          И разработка — тоже может быть криминалом. Так же как и в реальной жизни: если ты делаешь ножи, которыми можно резать не только хлеб, но, в принципе, для убийства они не предназначены — то ты невиновен. Если делаешь что-то, что по своей сути «в мирных целях» использовать сложно — загремишь как соучастник.

          В каждом конкретном случае нужно разбираться отдельно, а то так и создатели TeamViewer'а в преступники попадут. Но если создатель софта знал что он разрабатывает и зачем — да, конечно нужно наказывать,
          • 0
            Вот именно. А интересоваться, что же на самом деле ты пишешь и зачем, надо хотя бы для того, чтобы потом из тебя не сделали козла отпущения. Не говоря уже об этической составляющей.
  • 0
    Есть такое понятие «заведомо преступный приказ». Вся ответственность программистов в подобных случаях должна крутиться вокруг него.
    • +2
      Если я правильно помню, это понятие освобождает от выполнения приказа, а не от ответственности.
      • +3
        А после отказа от выполнения приказа маленький полевой трибунал может решить, что это попытка диверсии…
      • 0
        Неисполнение заведомо преступного приказа освобождает от ответственности за неисполнение, исполнение заведомо преступного приказа влечёт ответственность за исполнение наравне с отдавшим приказ, исполнение не заведомо преступного приказа освобождает от ответственности исполнителя приказа.
        • 0
          Получается, если исполнитель не в курсе, что нарушает закон, он и не виноват?
          • 0
            Если совсем не в курсе про закон запрещающий что-то делать, то виноват, если понимал, что делает. Если в курсе про такой закон, но введён в заблуждение отдающим приказ (в том числе самим фактом приказа), что нарушает, то не виноват.

            Если программист не в курсе, про запрет на выдачу фэйковых данных при реальных испытаниях, но выполняет приказ «выдать фэйковые данные при испытаниях», то виноват. Если выполняет приказ «для отладочных целей выдавай фэйковые данные при таких-то условиях» и не должен знать, что они могут быть при реальных испытаниях, то не виноват.
  • +1
    Чего плохого в том, чтобы перевести двигло в более экологичный режим, если автомобиль стоит на месте? Тем более, что контроллеры и так умеют адаптироваться к условиям движения сто лет в обед.

    Замечение актуально, если верно утверждение «режим тестирования определяется по неподвижным задним колесам».
  • –8
    может быть пора уже придумать аналог клятвы Гиппократа для программистов?..
    • +5
      А также для таксистов, поваров-кондитеров, официантов и адвокатов ))
    • –1
      видимо, сарказм был слишком прозрачным…
  • +3
    Дизельгейт уже происходит не только с Volkswagen:

    www.theguardian.com/environment/2015/oct/09/mercedes-honda-mazda-mitsubishi-diesel-emissions-row
    • +1
      может все таки требования по выхлопам слегка надуманны? если уже пачка производителей их обходит?
      • 0
        С мочевиной, как я понимаю, в нормы попасть можно. Вот пусть и оснащают ей дизели. И нечего обманывать про дешевый, мощный и экологичный дизель.
        • 0
          ;) А вы его купите? Или предпочтете все таки «дешевый, мощный и экономичный»?
          • +2
            Так в том-то и дело. Продают как дешевый, мощный, экологичный, а по факту можно выбрать только два. Обман.
            • 0
              Проблема в том, что дешевый и мощный купить нельзя по закону.
              • +2
                Ну и хорошо. Я хочу дышать чистым воздухом.
                • +2
                  Тогда надо запретить дизель и ездить на электромобилях.
                  Потому что под современные экологические требования невозможно сделать нормальный бюджетный дизельный двигатель.
                  • +2
                    А коптить будет ТЭЦ, вырабатывающая для них электричество.
                    • +4
                      Да. С максимальным КПД, в отличии от ДВС, которые и близко так не умеют.
                      Нет, ну серьезно? Довод с ТЭЦ уже обсасывался тысячу раз.
                      ДВС — это маленькое и дешевое устройство, которое еще и должно уметь работать в широком спектре оборотов. В таких условиях КПД очень, ОЧЕНЬ плохенькое.
                      ТЭЦ и другие электростанции работают в максимально эффективном режиме. Им не надо быть компактными, им не надо быть сверх бюджетными, им не надо менять выход в зависимости от ситуации. Даже с учетом потерь на транспортировку и хранение электричества — потери все равно значительно меньше чем при работе ДВС(не говоря уж о том, что топливо тоже надо добывать и транспортировать).

                      И вот этот вот текст что я выше своими словами пересказал — постоянно упоминается. Но все равно появляется довод про ТЭЦ. Пичалька. :(
                      • +1
                        На самом деле тут слова не помогут, тут нужно в числах считать. Да, КПД двигателя на ТЭЦ выше, да, загрязнение ниже. Но. Есть ещё потери на транспортировке, проблемы хранения и обработки пиковых нагрузок и так далее. В конце-концов производство и утилизация аккумуляторов — та ещё радость. Так что получается ли в итоге выигрыш — это бооольшой вопрос.

                        P.S. Хотя, кстати, электромобили вполне могут сделать всю конструкцию экологичнее. Скажем ветряки обладают большой проблемой: у них выработка весьма и весьма неравномерная. Но если существенный процент энергии будет уходить на зарядку электромобилей, а оные электромобили согласятся заряжаться «по остаточному принципу» (а они согласятся если их владельцам скидку сделают), то можно будет «уравновешивать» энергосистему не только играясь с генерацией, но и поднимая/опуская потребление! В идеале можно вообще из электромобилей в сеть энергию высасывать (понятно что за плату и только в том случае есть владелец на это даст согласие).
                        • 0
                          Проблема транспортировки и хранения весьма актуальна и для нефтепродуктов. Танкеры регулярно тонны нефти сливают в океаны. Не говоря уж о всяких локальных загрязнениях при ДТП и на заправках.

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

                          Да, сейчас электромобили на уровне автомобилей с ДВС, в том числе и по экологии. Но фишка в том, что ДВС некуда улучшать, а у электромобилей и связанных с ними продуктами — улучшения только в начале пути.
                  • +1
                    Пусть делают небюджетные дизели, а бюджетными будут бензиновые двигатели, у них с этим попроще. А как иначе? Ослабление экологических норм — это какое-то странное решение, мой сосед, значит, экономит, а дышать мне.
      • 0
        скорее методику тестирования надо менять, требования не от хорошей жизеи придумали.
  • +5
    «Eсли бы у нас была настоящая профессия (видимо, здесь имеется в виду формальная причастность с сертификацией и лицензией, как у врачей — прим.перев.), то они бы предстали перед профессиональной комиссией, было бы проведено расследование, и если бы их признали виновными — выпнули бы из профессии с позором.»

    Не переживайте. В Германии есть такие виды наказания за мошенничество — запрет заниматься определенным судом видом деятельности. Поэтому мошенников, вложившихся в свое обучение и временем и деньгами в этой стране довольно мало.
  • +4
    Вопрос даже интереснее — разве в программистскую этику входит забота об окружающей среде?
    «Выпнуть из профессии»? orly? Разве врача лишат лицензии, если он лечил, условно, «очень плохого человека»? Нет, лишат, если лечил плохо.
    • 0
      А разве в какую либо этику входит обман? Врача в ФРГ ожидает таже участь, если его пациент потерял здоровье, которое уже не вернуть. Хотя и в России так же (если, например, припомнить историю косметических операций жены Пименова).
      Точно такими же мотивами можно оправдать мошенника, «нашедшего» кредитную карточку кого-либо и «оформив кредит» на этого человека.

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

      Пять лет назад, устроившись в одну фирмочу в ФРГ столкнулся с подобным вопросом. Из-за плохого на тот момент владения языком подписал одну бумажку этой конторы, что якобы участвовал в каких-то действиях по обучению практикантов. Фирме за это от города отчисляли немного денег и вероятно налоговые плюшки. Мой коллега просто отказался это делать и позже объяснил мне положерие дел. Тогда все обошлось, но думать стал лучше.
      • +1
        А разве в какую либо этику входит обман?

        Обмана нет: была спецификация, по ней написано ПО. Честно — как задачу поставили — так и написано. Спрос с того, кто ставил задачу с прицелом на мошенничество.

        Врача в ФРГ ожидает таже участь, если его пациент потерял здоровье, которое уже не вернуть.

        Вот именно, давайте подумаем, кто является «пациентом» для программиста, и в чем здесь обман. Результат работы — здоровье или ПО, если проводить параллели. «Здоровье» не потеряно — если бы программиста обязали написать ПО, выполняющее такие-то функции, он написал бы ПО, которое не выполняет всего, что надо, но врет, будто бы ТЗ выполнено — это будет обман и «потеря здоровья».

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

        Трюк как трюк. Это его, программиста, работа — писать ПО по техзаданию.
        • 0
          Ну вот на суде и будут ращбираться — тупо ли программисты реализовывали хитросоставленное техзадание или всетаки понимали какие процессы там идут.

          В случае мошенничества нужно было сообщить об этом руководству. Не надо мне расказывать сказки, что за это могли уволить. Могли, конечно. Но по суду ещеб и компенсацию выплатили на пару десятилений вперед и такого международного скандала бы не было, все пресеклось бы на этой стадии. Это не Россия. Тут даже профсоюзы настоящие.
          • 0
            Мне кажется, у VW достаточно денег на адвоката.
  • 0
    Жестоко, но на самом деле было бы очень хорошо, если бы тех программистов признали виновными (желательно вместе с начальниками конечно). В следующий раз задумавшим пакость будет гораздо труднее найти исполнителей.

    Отмазка «я просто выполнял приказ» не действует даже в отношении военных, почему другие профессии должны быть исключением?
    • +2
      Отмазка «я просто выполнял приказ» не действует даже в отношении военных, почему другие профессии должны быть исключением?
      Подозреваю, что дела обстоят таким образом только в Нарнии, а в реальном мире попробуй доказать, что ты не верблюд, отказываясь выполнять сомнительный приказ.
    • +1
      Отмазка «я просто выполнял приказ» не действует даже в отношении военных

      Не является преступлением причинение вреда охраняемым уголовным законом интересам лицом, действующим во исполнение обязательных для него приказа или распоряжения. Уголовную ответственность за причинение такого вреда несет лицо, отдавшее незаконные приказ или распоряжение.
  • +3
    Они это сделали.


    И что вы предлагаете в таком случае?
    Увольняться?
    Или или читать менеджеру лекцию, которому насрать, и который, в случае чего, найдёт другого работника, который это сделает?
    Почему вы не вините инженеров, которые спроектировали двигатель таким образом, что его можно перевести в такой режим?
    Почему вы не вините менеджеров и руководство компании, которые и приказали это сделать?
    Почему вы вините инструмент, а не того, кто этим инструментом управляет?
    • –1
      Почему вы вините инструмент, а не того, кто этим инструментом управляет?
      Потому что любой программист — это в первую очередь человек, а не инструмент. А если кто-то за «лишние три сребренника» готов писать ботов или отравлять людей — то не стоит прикрываться разного рода отмазками. Как тут хорошо заметили: отмазка «я просто выполнял приказ» не действует даже в отношении военных, почему другие профессии должны быть исключением?.

      Что касается менеджеров — они, надо полагать, получать по заслугам, что касается инженеров — то это уже как бы вообще ни в какие ворота: зачем во всей этой системе вообще компьютер, если он такое допускает? Микросхемы и программы для того туда и засунуты, чтобы следить за режимами работы двигателя, больше в них никакого смысла нет!

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

      И, кстати, никто не предлагает программистов расстреливать: ведь архитекторов, которые неправильно спроектировали рухнувшее здание тоже не расстреливают, ведь правда? Происходит следствие, выясняют — кто виноват в том или ином косяке, определяется наказание (штраф или уголовка). Один и тот же болт может стоить три копейки и триста рублей в зависимости от того — прошёл ли он соответствующие испытания и можно ли будет на производителя потом «повесить» вину за упавший самолёт — но в мире ПО всё не так: самый супер-пупер-ынтырпрайз идёт все с теми же «гарантиями» — «в крайней случае вернём вам три рубля, которые вы заплатили за программу, но ни в коем случае не больше». А с чего вдруг? За что я, собственно, плачу покупая какой-нибудь Windows Server? За те два байта, которые кто-то в каком-то файлике увеличил? Ну так я и сам так сделать могу…

      Давно пора было навести в этой области порядок и если эта встряска приведёт к каким-то положительным телодвижениям в этой области — я буду рад.
      • +1
        отмазка «я просто выполнял приказ» не действует даже в отношении военных, почему другие профессии должны быть исключением?


        Не действует она только тогда, когда исполнитель приказа понимал, что совершает преступление. Грубо: исполнение приказа «уничтожить село со всеми жителями» подразумевает преступление, а исполнение приказа «ориентир 70, лево 5, дальность 300» — нет, если исполнитель точно не знает, что за этим целеуказанием скрывается заведомо гражданский объект. Если знает и понимает, что приказ заведомо преступный — срок. Если знает, но не понимает — психушка. Если не знает — единственное наказание только муки совести. Возможно.
        • 0
          Очень уж зыбкая граница между сроком и муками совести. Как определить знал солдат что там гражданский объект или нет? Да даже если знал, то он вполне мог считать, что делает благое дело «благодаря» пропаганде и/или религии.
          • 0
            Это дело следствия установить знал или нет. В демократических правовых государствах обычно в условиях презумпции невиновности, то есть следствие должно доказать, что солдат знал, а не солдат должен доказывать, что не знал.

            А вот если считает, что совершая преступление делает благое дело, то срок обычно. Главное — понимал ли что совершает преступление, а по каким мотивам — дело десятое.
            • +2
              Сравнивать гражданскую жизнь и военную вообще не корректно. На войне всегда убивают. Убивать — преступление. Но в силу каких-то политических и идеологических обстоятельство одно убийство является преступлением а другое убийство таковым не является, а может даже является заслугой достойной награды, и заранее это неизвестно, потому что критерии преступления будут определяться уже ПОСЛЕ окончания войны и не законом, а законом ПОБЕДИТЕЛЯ в этой войне.
      • 0
        Давно пора было навести в этой области порядок и если эта встряска приведёт к каким-то положительным телодвижениям в этой области — я буду рад.

        Ничего не изменится, пока есть много людей (принимающих решения о покупке софта), которые, выбирая между софтом с ответственностью но ценой в 10 (100) раз больше, выберут оставить всё как есть. Если продавить законодательно, просто покупать не будут, нанимая знакомого Васю «ну напиши нам SQL-сервер за 3 копейки и 2 месяца, а если в нём будут глюки, исправишь, мы тебя наказывать не будем» и всё вернётся на круги своя.
        • 0
          С таким подходом и убийц наказывать не нужно. Всегда же можно за бутылку найти в подворотне исполнителя, как с этим бороться?
          • 0
            Убийца в курсе, что нарушает закон, в том-то и дело. А если он не в курсе, что есть статья за убийство, то это его проблемы. В итоге виноваты будут оба.
          • 0
            Тут вопрос не в этической, а в экономической составляющей.
            Желание спросить с разработчиков за их баги непременно выльется в финансовую страховку всех их рисков.
        • 0
          Да. Рассмешили. На фольксвагене программисты работают за 3 копейки. И еще они нанимают для разработки индусов по аутсорсу.

          Специалисты в концернах такого класса в худшем случае работают по тарифам, где самый минимум 2000евро нетто(уже с учетом налогов) и максимум 3500(5000 брутто). А скорее всего работаю по отдельным договорам, где заработок от 60000 брутто в год.

          За такие деньги ошибок быть не должно — каждая ошибка и ее последующее исправление обходится концерну в миллиардные убытки. Поэтому тестирование идет не на коленке, а на специальных стендах и выполняется специальнообученными людьми.
          • +3
            За $60k евро в год не должно быть ошибок? Рассмешили. Сейчас стандартная зарплата посредственного кодера-индуса который умеет по английский и немного по C++ начинается от $100k евро в год и ошибок он делает столько, что можно лопатой разгребать. Чтобы ошибок почти не было придётся тратить наверно около $10m (да, в 100 раз больше) за тот же небольшой объём несложного кода.
            • 0
              «Но только почти, только почти» :)
            • +1
              Это где же столько платят «посредственным индусам»? Расточительство же!
              • +1
                Например в Гугле и в других компаниях того же уровня. Вы думали там сплошь гении сидят? Вовсе нет. Просто остальные либо не могут связать два слова по английски либо не могут написать цикл for без синтаксических ошибок.
            • 0
              Есть ошибки. Вы уж определитесь, в евро или долларах. Очень может быть, что индусы в сша получают намного круче. Но 60000 евро в год это довольно приличная работа для программера. Можете посмотреть о показателях зарблаты именно в Niedersachsen (именно там располагается головной завод в Wolfsburg) на http://gehalt.de. Или можете посмотреть на любых сайтах по поиску работы в этом регионе.
              • 0
                Я про американские зарплаты написал (поделил их на 1.2 чтоб евры получить).
          • +3
            Серьезно? В крупных компаниях Senior'ы могут получать с бонусами $200K, и за эти диньги никто не требует от них полного отсутствия ошибок, все понимают что ошибки неизбежны. Чтобы требовать отсутствия ошибок и при этом если эти ошибки будут грозить штрафами/тюрьмой — ценник должен начинаться от $500К и поверьте за эти деньги работать будут раз в 10 медленнее чем работают в нормальных условиях. Эквивалентная продуктивность будет более чем на порядок ниже. Оплатите разницу?
            • 0
              Между 500к и 200к нет принципиальной разницы. Это как между 1-м и 2-мя миллиардами нету разницы: что так что так денег больше чем нужно. Вот если платить скажем 3 миллиона в год (цена хорошего дома), то здесь уже есть мотивация больше работать.
              • 0
                Ну не скажите. Мне лично вот 500К было бы мотивацией. Разница между миллионами — уже да, но 500К позволит купить хороший дом без проблем вообще, к примеру.
            • 0
              За 200000 сеньоры несут пермональную отвественность. И если программера за 60килоевро на первый случай могут и простить (что сомнительно судя по размерам ущерба), то сеньора просто сразу же уволят с надлежащей рецензией.

              И в этом конкретном случае речь идет не об ошибках, а о намеренном изменении кода.

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

              В любом случае сейчас спорить глупо. Пройдет разбирательство.тогда послушаем, что официально заявят.
              • +1
                Не согласен. В нормальных компаниях людей не увольняют за ошибку даже если она компании стоила миллионы долларов, они поинмают что ошибаются все. Конечно если человек делает факап за факапом — это повод уже, а просто за пару багов — уволят очень вряд ли. Даже если это приведет к миллионным потерям.
                • 0
                  За одну ошибку может и не уволят. Это все зависит от многих причин, в том числе и личностных — отношение других сотрудников именно к этому человеку, руководства и пр. К томуже все чтут законодательство. Но если ошибки повторяются часто, то уже есть законодательный повод расстаться.
                  А если убытки исчисляются миллиардами и потерей рынка?
                  • +4
                    Если убытки исчисляются миллиардами — то это 100% разработчик не виноват. Если в компании один разработчик может ошибиться на миллиарды долларов — это значит что в руководстве компании вероятно находятся идиоты и они виноваты в первую очередь.

                    Если человек постоянно что-то сильно портит — значит он просто не соответствует квалификации. Если человек даже пару раз подряд «потерял» несколько миллионов — это в первую очередь повод пересмотреть процесс — почему такое вообще возможно, людей обычно не увольняют за это.
                    А законодательный повод расстаться на родине большинства крупнейших IT компаний — любой (в большинстве мест есть менее 10 исключений). Т.е. уволить можно за то что цвет волос не понравился или вообще без объяснения причин или за то что человек болеет часто. Тем не менее увольняют только если человек не соответствует квалификации.
      • +1
        Я все понимаю, но… В ТОЙ стране (про ЭТУ даже и начинать не будем) людей толпами сжигал всего 70 лет назад. Не со зла. Исключительно из дисциплины и по приказу.
        • 0
          Вот как раз таки со зла — именно евреев обвинил во всех бедах страны «всенародно выбранный» вождь за которого проголосовали 146% избирателей.

          Но это не тот ресурс, где это нужно обсуждать.
      • +7
        Посмотрите на авиаотрасль — вот там и гарантии и жёсткие сертификации и много чего ещё. НО:
        — там вхлам устаревшие технологии _повсеместно_ (уровень софтверных технологий там ~80-90ые годы прошлого века… в лучшем случае — подобрались к 0ым,
        — стоимость этого ПО — адовая. Хотите Windows Server 2000 за x*10000 денег? Наверное нет? А почему? Там же производитель ПО будет ОТВЕТСТВЕННЕН!

        Короче, люди, не судите и не судимы будете. Вы не знаете всех обстоятельств, но крики возносите до небес…
        • 0
          Я вот только не понял что такого плохого вы увидели в авиации. Как будто устарелость технологий сама по себе — это что-то плохое. Оно что — работает от этого хуже? Падает чаще? Не замечал у себя за окнами эшелонов самолётов врезающихся в землю, уж извините.

          А что окошки не такие красивые — ну так без этого прожить, в общем, можно.