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

1-ucpodv1lxr_bt3myaovywa

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


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

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

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

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

1-pu1kb3buottutoo-biwlza

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

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

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

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

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

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

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

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

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

И она ушла.

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

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

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

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

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

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

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

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

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


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

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