Пришло время решить проблему отсутствия социальной ответственности, моральных компасов и этики.

Я не суперзвезда разработки программного обеспечения. Я относительно молод — пришел в индустрию в середине 2017 года, сразу после окончания университета. Как и остальные мои однокурсники, я был в восторге, желая изменить ситуацию с помощью своих новых знаний. В студенческие годы я сосредоточился на разработке игр для хобби. Начав с Unity и углубившись в создание собственного игрового движка на C++, я погрузился в более технические аспекты разработки игр. Но, несмотря на то, что я изучал информатику, я знал, что намерение придает смысл действию и что игры — это способ рассказывать истории и общаться с людьми. По сей день я держу близко к сердцу принцип — технологии должны создаваться на благо людей.

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

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

Башня из слоновой кости разработки программного обеспечения

Я не буду преуменьшать достижения, которые можно получить в мире разработки программного обеспечения. Как я уже упоминал несколькими абзацами выше, во мне нет ничего особенного. У меня нет сертификатов. Я не сертифицированный человек какой-то. Я могу похвастаться пройденным мной курсом Postgres, но в конечном счете я не рок-звезда-суперзвезда-единорог-10x-модное словечко. Но я могу использовать неовим, по крайней мере. Я использую Arch, кстати.

Тем не менее, я горжусь тем, что забочусь о людях, которые используют технологии. Социальная ответственность уже является недооцененным аспектом разработки программного обеспечения. Большинство инженеров-программистов не осведомлены о реалиях и последствиях своей работы. Да, я ненавижу криптовалюты и NFT. Я ненавижу ИИ. Я ненавижу компании, создающие технологии, пригодные для завтрашнего дня, сегодня, выставляющие напоказ умные услуги, но вместо этого попирающие пользователей. Не буду много разглагольствовать о том, почему я их так ненавижу. Тем не менее, у всех них есть одна общая черта — это технологии, которые легко эксплуатируются их создателями.

Большинство инженеров-программистов не задумываются о своей работе. Работа начинается с задачи задачи в Jira, а заканчивается ее развертыванием в Production. Инженер больше не беспокоится о социальном воздействии — код — король, а каждый — его пешка. Однако это должно быть иначе. Мы делаем технологии, чтобы помогать людям. Работая над этими технологиями, инженеры-программисты несут моральное обязательство признавать проблемы людей. У действия должен быть замысел. Кроме того, короли — слабые фигуры, а пешки выигрывают при превращении.

Меня очень беспокоит, что код всегда создавался ради кода. Инженеры говорят только о том, как им удалось масштабировать свое программное обеспечение, чтобы вместить 9 миллионов пользователей. Как они использовали услуги облачного провайдера для минимизации затрат. Как их техномагия не оправдала ожиданий. Никогда о социальном влиянии в аспекте более низкого уровня. Теперь я знаю, о чем вы думаете: это работа владельца продукта. И знаешь, что? Это абсолютно правильно. Владелец продукта может лучше объяснить, как инженерная работа влияет на людей на более высоком уровне. Но это не оправдывает апатии со стороны инженеров. Опять же, что хорошего в действиях без намерения?

Необходимость этики в коде

Я работал над вещами, которые собирали данные для обработки. Без сомнения, я знаю, что моя работа была (в основном) на благо людей, но нельзя сказать, что моя работа может привести к злу. И если это произойдет, я буду рад их вызвать. К сожалению, большинство инженеров-программистов не слишком симпатизируют делу. Обращение к коллегам-инженерам кажется бесполезным занятием. Я мог бы также говорить со стенами.

10 лет назад я бы не придумал техно-ужастиков. ИИ? Да, я тоже читал Азимова. Крипто? Я не знаю. Я знал только о торговле на реальные деньги в онлайн-играх, таких как RuneScape. Большие данные? Должен признаться, я ничего не знал об этом. Сейчас ландшафт полностью изменился. Не дай бог, я начну здесь разглагольствовать о крипто и NFT. ИИ использовался для обучения на наборах данных без согласия, и возможности злого умысла уже безграничны. Что касается больших данных, я хочу напомнить вам, что выборы на Филиппинах в последнее время были ужасными благодаря аналитическим центрам, которые очень хорошо используют данные. В вакууме эти технологии были бы многообещающими. Но мы не в вакууме.

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

Социальная программная инженерия, а не социальная инженерия

Как я уже упоминал несколько абзацев назад, моя страсть к программированию началась с разработки игр. И моя любовь к разработке игр началась с игр. Готов поспорить, что вы знаете как минимум пятерых человек, которые играли в Super Mario Bros или видели, как друг рассказывал о современных хитах, таких как God of War или Elden Ring. Но почему нам вообще нравятся видеоигры? Хотя это полностью зависит от игры, это зависит и от эмоционального контекста, который мы формируем во время игры.

Если вы еще не слышали об игре Мать 3, зацените ее. Легальных способов играть в нее пока нет (спасибо, Nintendo), но игра — одно из немногих средств массовой информации, которое заставило меня рыдать. Мне также нравится играть в такие игры, как Guilty Gear, DOTA 2 и другие, требующие двух или более игроков, хотя я бы не стал играть в них в одиночку. Игры — это форма рассказывания историй или способ установить связь с другими людьми со схожими интересами. Мы формируем опыт внутри и вокруг того, с чем сталкиваемся. Программное обеспечение работает точно так же — программное обеспечение создано, чтобы обеспечивать опыт и удовлетворять потребности. И чтобы удовлетворить потребность, мы должны сначала определить ее. Хороший вопрос: «Все ли выиграют от этого?» Если ответ — вариант «нет», значит, ваша технология недостаточно инклюзивна. Без исключений.

Спорные технологии начала 2020-х удовлетворяют несуществующие потребности. Хуже того, они приносят негативные внешние эффекты, с которыми столкнутся лишь немногие избранные (я не буду разглагольствовать здесь о криптографии, обещаю). Хуже всего то, что эти технологии удобно разработаны для эксплуатации людей (да, я имею в виду НФТ, ИИ, обученный на трансгендерах выявлять террористов и т. д.). Эти технологии далеки от повседневной жизни обычного человека и направлены только на то, чтобы способствовать технострессу. Технологии всегда увлекательны, но не за счет человечества.

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