Код, за который мне до сих пор стыдно

в 9:51, , рубрики: ответственность, Программирование
image

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

Это произошло со мной в 2000 году. И я никогда не смогу этого забыть.

Свою первую строку кода я написал в 6 лет. Хотя я не вундеркинд. Тогда мне очень помог отец. Но я уже попался на крючок. Мне это нравилось.

К своему 15-летию я уже работал на пол-ставки в консалтинг компании моего отца. Я создавал сайты и кодировал небольшие компоненты для бизнес приложений по выходным и летом.

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

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

К 21 году я сумел попасть на постоянную работу программистом в интерактивную маркетинговую компанию из Торонто, Канада.

Компания была основана доктором медицины и многие из ее клиентов были крупными фармацевтическими компаниями.

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

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

image
Домашняя страница edfactsanada.com примерно 2001 года, The Internet Archive

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

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

Помните, сайт позиционировался как сайт с общей информацией. Это очевидно не была реклама любого определенного препарата.

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

Единственным, что отсутствовало в требованиях было любое указание того, что мне нужно делать с ответами в конце опроса. Какие правила определяют какое лечение должен рекомендовать опрос?

Я обсудил этот вопрос с менеджером по работе с клиентом. Она написала клиенту и получила для меня требования. С ними я продолжил кодировать опрос.

Перед тем как предоставить клиенту сайт на рассмотрение, мой менеджер проекта решила быстро его проверить. Она попробовала пройти опрос и затем пришла ко мне:

«Опрос не работает», сказала она.

«О… Что сломано?», спросил я.

«Ммм… кажется, что независимо от того что я отвечаю, опрос рекомендует препарат клиента, как наилучший метод лечения. Единственное исключение если я говорю, что у меня есть аллергия. Или если я говорю, что уже принимаю его.»

«Да. Это именно то, что и предписывают требования. Любые ответы ведут к препарату клиента».

«А… ок, хорошо»

И она ушла.

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

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

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

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

Она покончила с собой.

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

Коллега, который отправил мне эту ссылку не пришел на ужин.

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

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

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

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

Легко привести аргумент, что я вообще не принимал в этом всем участия. Но все-равно я никогда не чувствовал себя нормально при мысли о написании этого кода.

Вскоре после того ужина я уволился.

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

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

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

Перевод: Ольга Чернопицкая

Автор: MagisterLudi

Источник

Поделиться новостью

* - обязательные к заполнению поля