Цифровые сообщества, основанные на обмене знаниями и возможностях обучения, являются бесценным активом во многих областях, включая разработку программного обеспечения. Точно так же качество этих сообществ будет коррелировать с качеством их информации, которая зависит от возможностей участия пользователей. В этом выпуске соучредитель Stack Overflow и Discourse Джефф Этвуд делится своими мыслями о платформах, которые оставили неизгладимый след в сообществе программистов. Мы углубляемся в его достижения, размышления и взгляды на сообщества, роль ИИ и будущее программирования.

Отредактированная транскрипция

В 2008 году опытный программист Джефф Этвуд вместе с Джоэлом Спольски основал Stack Overflow. Задуманный как способ привлечь аудиторию Coding Horror, блога Джеффа о разработке программного обеспечения, Stack Overflow стал сайтом вопросов и ответов для профессиональных программистов, где они могут обмениваться информацией и получать помощь.

Джефф покинул Stack Overflow в 2012 году и через пару лет после этого запустил Discourse, платформу для общения и обмена знаниями с открытым исходным кодом. Дискурс — это продолжение усилий Джеффа по созданию сообществ. Однако в то время как он описывает Stack Overflow как своего рода классную комнату, куда программисты ходят, чтобы учиться, Discourse способствует более свободным беседам и сосредоточен на предоставлении сообществам инструментов для настройки, обмена и общения.

Уроки, извлеченные из Stack Overflow: создание лучшего сообщества

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

В свою очередь, размышляя о том, чего не хватало Stack Overflow, Джефф полагает, что он упустил надлежащее руководство для начинающих. Несмотря на то, что Stack Overflow явно предназначен для опытных программистов, он вызвал много разногласий между программистами и непрограммистами, которых, по мнению Джеффа, можно было бы избежать, если бы он лучше объяснял пользователям природу сайта. Таким образом, он признает, что теперь, чтобы обратиться ко всему сообществу, он создал бы второй сайт помимо Stack Overflow, где люди, желающие стать программистами, могли бы учиться и объединяться с кем-то еще в интерактивной среде в реальном времени, как в случае компании Реплит.

Помощники ИИ: роль кода и атрибуции

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

И хотя помощники ИИ могут избавить разработчиков от написания повторяющегося кода, Джефф говорит, что лучший код, который может придумать разработчик, — это отсутствие кода, или, скорее, понимание того, в какой степени «каждая строка кода это код, который необходимо отлаживать, устранять неполадки, поддерживать [и] контролировать исходный код». По этой причине он понимает, что «код — это враг, а не ваш друг» и не должен быть показателем успеха или мастерства. Следовательно, хороший разработчик пишет минимум кода для выполнения своей работы. По этой причине Джефф советует разработчикам писать только код высокого уровня, а не код машинного уровня.

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

Более того, идея релятивизации кода также релятивизирует разработчиков. «Программистов должно быть меньше, а не больше», — говорит Джефф; важно, говорит он, строить вещи.

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

Языковые модели также стали интерфейсом Интернета и находятся на пути к переопределению того, как мы его используем, как это сделал Google в свое время. В связи с этим Джефф обеспокоен лицензированием и атрибуцией информации, которой они управляют. Если Stack Overflow, в частности, поддерживает какую-либо из этих моделей, он понимает, что это делается для большего блага и помощи сообществу.

Тем не менее, Джефф добавляет, что Stack Overflow уважает вклад своих пользователей и считает, что эти модели должны соответствовать лицензии Creative Commons Stack Overflow, которая требует указания авторства: «Без Stack Overflow у вас не было бы ничего. У вас не было бы этого инструмента, если бы не Stack Overflow и все люди, которые вкладывают все эти усилия и работу». Атрибуция также может помочь отследить информацию, полученную языковой моделью, проверить, действителен ли источник, и помочь пользователю узнать больше об этом или больше доверять ему в зависимости от источника. Чтобы идти в ногу с этой новой парадигмой источников информации, Джефф считает, что необходима новая лицензия Creative Commons.

Демократия и цифровые сообщества

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

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

Нижняя линия

Вы можете следить за Джеффом на Infosec.Exchange и Twitter. Вы также можете посетить Coding Horror, чтобы прочитать его последние работы. Если вы уже знакомы с Stack Overflow, посмотрите Discourse.

Первоначально опубликовано на https://semaphoreci.com 27 июня 2023 г.