Код, за который мне до сих пор стыдно — печальная история одного проекта

Рассказывает Бил Соурор


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

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

К 21 году у меня была полноценная работа разработчиком программного обеспечения в фирме, которая занималась интерактивным маркетингом и располагалась в Торонто (Канада). Фирма была основана врачом, и многие из наших клиентов были крупными фармацевтическими компаниями.

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

1-pu1kb3buottutoo-biwlza

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

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

Я спросил об этом менеджера по работе с клиентами, он отправил заказчику e-mail и получил полные требования, с которыми я продолжил разрабатывать тест.

Перед сдачей сайта менеджер проекта решила провести быстрое тестирование. Она проверила тест и подошла к моему столу.

— Тест не работает, — заявила она.

— Что с ним не так? — спросил я.

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

— Да, по требованиям любые ответы ведут к препарату заказчика.

— О, ну тогда окей.

И она ушла.

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

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

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

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

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

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

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

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

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


За эксклюзивный перевод благодарим нашего подписчика, Ивана Лопатина

Перевод заметки «The code I’m still ashamed of»

Ещё интересное для вас:
Тест: какой язык программирования вам стоит выбрать для изучения?
Тест: как хорошо вы разбираетесь в Data Science?
Соревнования и бесплатная онлайн-школа для программистов