[Перевод] Код, за который мне до сих пор стыдно
— Сильвестр Сталлоне
Если вы зарабатываете на жизнь написанием кода, то существует вероятность, что в какой-то момент вашей карьеры вас попросят написать код для чего-то сомнительного, если не откровенно аморального.
Такое случилось со мной в 2000 году. И это мой груз навсегда.
Первую строчку кода я написал в 6 лет. Хотя я не вундеркинд. Тогда мне очень помог отец. Но я уже попался на крючок. Мне это нравилось.
В свои 15 я уже работал на пол-ставки в отцовской консалтинговой компании. Пилил сайты и кодил небольшие компоненты для бизнес приложений по выходным и летом.
Мне ужасающе недоплачивали. Но как до сих пор любит говорить мой отец, тогда я получил бесплатную комнату и стол, а также достаточно ценный рабочий опыт.
Позже я сумел помочь оплатить часть своего обучения работая фриласером. Я создал несколько сайтов электронной коммерции для некоторых местных компаний.
В 21 у меня была постоянная работа программистом в интерактивной маркетинговой компании в Торонто, Канада.
Компания была основана доктором медицины и многие из ее клиентов были крупными фармацевтическими компаниями.
В Канаде существуют строгие ограничения в том, как фармацевтические компании могут рекламировать лекарства, отпускаемые по рецепту, напрямую потребителям.
Как результат, эти компании создают сайты на которых указана общая информация о любых симптомах, при которых предназначены их лекарства. Затем, когда посетитель доказывает, что у него есть рецепт, он может получить доступ к порталу пациентов с более детальной информацией о лекарстве.
Домашняя страница edfactsanada.com примерно 2001 года, The Internet Archive
Один из проектов, в котором я был работал, касался препарата для женщин. Графика и общий стиль сайта давали ясно понять, что клиент хотел конкретно охватить аудиторию девочек-подростков.
Одной из фич сайта был опрос, где девочкам задавался ряд вопросов и, основываясь на их ответах, им рекомендовали препараты.
Напомню, сайт позиционировался как независимый информационный, а не как реклама определенного препарата.
Когда я получил требования, они содержали вопросы для опроса и варианты выбора ответов для каждого из них.
Единственным, что отсутствовало в требованиях — что делать с ответами в конце опроса. Какие правила определяют, какое лечение должен рекомендовать опрос?
Я обсудил этот вопрос с менеджером по работе с заказчиком. Она написала заказчику и получила требования. Я продолжил кодить.
Перед тем как презентовать заказчику сайт, моя менеджер проекта решила быстренько его проверить. Она попробовала пройти опрос и затем пришла ко мне:
«Опрос не работает», сказала она.«О… Что сломано?», спросил я.
«Ммм… кажется, что независимо от того, что я отвечаю, опрос рекомендует препарат клиента, как наилучший метод лечения. Единственное исключение, если я говорю, что у меня есть аллергия. Или если я говорю, что уже принимаю его.»
«Да. Это именно то, что и было в ТЗ. Любые ответы ведут к препарату клиента».
«А… ок, хорошо»
И она ушла.
Когда я впервые увидел эти требования, они обеспокоили меня. Я чуял одним местом, что писал код для чего-то, что, в принципе, было создано для обмана молодых девушек. Но я отгонял эти мысли. Мне нужно было бабло выполнить работу и я сделал её.
Ничего из того, что мы делали, не было противозаконным. Я был самым молодым разработчиком в своей команде и я зарабатывал неплохие деньги для своего возраста. В конце концов я понял, что настоящей целью сайта было продвижение определенного лекарства. Я списал эту тактику на «маркетинг».
Клиент был чрезвычайно доволен сайтом. Так сильно, что их представитель пригласил меня и всю команду на ужин.
В день ужина, незадолго до выхода из офиса, коллега прислал мне ссылку на новость. Она была про молодую девушку, которая принимала этот препарат.
Она покончила с собой.
Оказалось, что среди побочных эффектов этого препарата были тяжелая депрессия и склонность к суициду.
Коллега, который отправил мне эту ссылку, не пришел на ужин.
А я все же пошел. Было тяжело и неловко. Я и словом не обмолвился про новость. Просто тихо жевал свой стейк и выдавливал улыбку.
На следующий день я позвонил своей 19 летней сестре. Когда я работал над проектом, то просек, что прописали именно этот препарат.
Когда мы впервые говорили об этом, мы подумали что это чистое совпадение. Но теперь тон нашего разговора был совсем другим. Я посоветовал ей прекратить принимать лекарство как можно скорее. К счастью она меня послушала.
Для меня существует миллион и один способ рационализировать соучастие в последующих самоубийствах и тяжелых депрессиях. Даже сегодня все еще продолжается судебный процесс с бывшими пациентами.
Легко обосновать, что я вообще ни при чем. Но все равно, всегда чувствовал себя хреново при мысли о том коде.
Вскоре после того ужина я уволился.
Как разработчики, зачастую, мы являемся одними из последних защитников от потенциально опасных и аморальных практик.
Мы приближаемся к тому времени, когда программы смогут управлять машиной, которая везет вашу семью на футбольную тренировку. Уже существует ИИ, который помогает докторам диагностировать заболевание. Несложно представить, как он же будет вскоре рекомендовать рецепты.
Чем больше программы продолжают захватывать каждый аспект наших жизней, тем важнее будет для нас занять твердую позицию и убедиться, что наша этика всегда присутствует в нашем коде.
С того дня я всегда стараюсь подумать дважды о влиянии моего кода, перед тем как начну его писать. Я надеюсь, что и вы будете делать также.
Перевод: Ольга Чернопицкая
Поддержка публикации — компания Edison, которая разрабатывает программный комплекс видеонаблюдения в операционной, а так же проектирует софт для стерилизации медицинских изделий.
Комментарии (10)
20 ноября 2016 в 13:33
+3↑
↓
Считаю важным считаться не с абстрактными социальными нормами, а со своей личной моралью.Было время, когда делал всяко-разное, что многие сочтут аморальным. Но когда предлагали заняться тем, что лично я считаю неприемлемым — всегда отказывался, как бы заманчива ни была сумма.
20 ноября 2016 в 13:51
+2↑
↓
> Писали ли вы код, за который спустя время, вам было стыдно?Как разработчику, мне может быть стыдно за говнокод или за принятые проектные решения из-за ограничений, но точно не за то, как этот код будет использован. Адвокаты не переживают за то, что защищают заведомо виновных. Просто работа, ничего личного.
20 ноября 2016 в 14:00
+3↑
↓
Слишком уж превозносится роль разработчика (и в этой статье — в том числе). Люди всегда во все времена старались, стараются и будут стараться вытрясти деньги и душу друг из друга. Если вдаваться в крайности — развитие IT способствует появлению таких средств (и оружия в том числе) ведения войн, что можно приплести любому разработчику частичку ответственности за массовые гибели людей. Так же, как химикам и биологам, причастных к разработке препарата из статьи (а не только рядовому кодеру, склепавшему сайт с опросом).И не понятно, когда следует остановиться. Возможно, тот препарат был лишь одним из производных некоего вещества, с которым экспериментировали для того, чтобы научиться лечить серьезную болезнь, а средства для дальнейших исследований получали и от этого «побочного» препарата. Где грань?
В общем, философия это всё. Жить страшно.
20 ноября 2016 в 14:08
0↑
↓
«Я пойду уволюсь, пусть подобные сайты будет делать вон тот (тут любое нетолератное слово), но мне будет не стыдно от того, что это сделал не я». Отличное мировоззрение. Нет уж, если человеку стыдно и не хочется делать что-то аморальное — надо бороться с тем, чтобы таких заказов не было, или не трепать языком. Отказаться от работы значит только то, что ты отказался и это сделает кто-то другой.
20 ноября 2016 в 14:13
+1↑
↓
Потрясающий перевод. Вроде буквы русские, слова тоже русские, а текст — ну совсем нет.20 ноября 2016 в 14:16
0↑
↓
Особенно вот это место удалось: «пригласил меня и всю команду на стейк-ужин».20 ноября 2016 в 14:23
+1↑
↓
К слову да, интересно, читаешь как будто на другом языке. Видно небольшое отличие течения мысли от локального\местного русского. Ну или переводчик так перевел :)
20 ноября 2016 в 14:30
–1↑
↓
О чем эта статья? Ей тут не место. Тем более галимый перевод.20 ноября 2016 в 14:43
+2↑
↓
По своему опыту замечал, что у компаний, которые занимаются «нехорошими» делами технологическая база очень часто хромает. Возможно это распространено только в СНГ.
По крайней мере на своей памяти помню много решений, которые были написаны кое-как и работали соответствующе.
Как пример — парсеры веб страниц при помощи эксель макросов :)20 ноября 2016 в 15:18
0↑
↓
Все зависит от жадности. Если на проект сначала пишут сумму с >6 нулями, а потом нанимают студента за еду — результат ожидаемый. И увы, почему-то корреляция есть не только с компаниями, «которые занимаются «нехорошими» делами», но и да, СНГ, и более всего почему-то госсектор.