Индустрия

Гендерные различия в стиле кодирования

Гендерные различия в стиле кодирования

Доктор Сиан Брук провела новое исследование гендерного разрыва между мужчинами и женщинами в отношении способности к кодированию. Ее вывод? Разница в коде Python, создаваемом мужчинами и женщинами, существует, но она связана со стилем кодирования и не влияет на качество кода.

Доктор Сиан Брук работает на факультете методологии Лондонской школы экономики (ЛШЭ). Ее работа, опубликованная в февральском номере Journal of Computer-Mediated Communication за 2024 год, называется: Testing for Gender Differences in Python Programming Style and Quality on GitHub. В нем сообщается о результатах анализа проектов с открытым исходным кодом на предмет различий между четырьмя гендерными категориями: женской, мужской, двусмысленной, когда пол невозможно определить, и анонимной, когда пол намеренно скрывается.

Чтобы сделать тему более привлекательной, аннотация открывается спорным утверждением:

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

Этот вывод приписывается работе Trinkenreich et al., 2021, литературному обзору 51 статьи, опубликованной в период с 2000 по 2021 год, в которой изучалось участие женщин в OSS без каких-либо комментариев о способностях к программированию в аннотации. Несмотря на мои опасения, что Брук ведет себя как провокатор, нельзя отрицать, что существует очень заметный гендерный дисбаланс, когда речь идет о количестве программистов, работающих в крупных технологических компаниях, как показано здесь на экране из видеоролика Брук «Почему в технологиях так мало женщин?».

При поиске проектов для включения Брук руководствовался следующими критериями:

  • Владелец - единственный пользователь, а не организация
  • Владелец является единственным соавтором.
  • Код написан на Python3.
  • Репозиторий был создан 1 января 2019 года или позже.
  • Не является форком и не помечен как приватный или архивный
  • Размер репозитория составляет от 0,01 до 1 гигабайта
  • Репозиторий имеет минимум 10 стартов и 10 форков.

Всего в это распределение по гендерным категориям было включено 1 728 репозиториев, состоящих из 30 198 модулей/«.py» файлов:

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

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

  • У мужественных пользователей GitHub в среднем больше строк кода, чем у других гендерных групп, за ними следуют женственные пользователи.
  • Значительная гендерная разница в количестве комментариев и строк документальных строк между гендерными группами, при этом у пользователей мужского пола в среднем больше строк документальных строк.
  • Значительная разница между гендерными группами по среднему количеству методов и классов в модулях Python: мужские пользователи чаще всего используют методы, а женские - реже. Для функций и классов различия по полу меньше, но анонимные и неоднозначные пользователи используют классы чаще, чем гендерно идентифицированные (мужские, женские) пользователи. Наиболее незначительные различия между гендерными группами наблюдаются в отношении функций: у пользователей мужского и женского пола их среднее количество относительно выше. Эти результаты могут свидетельствовать о том, что пользователи, чей пол известен, используют более функциональный подход к программированию по сравнению с анонимными и неоднозначными пользователями, которые используют больше классов.

Второй исследовательский вопрос касался гендерных различий в оценках Pylint и компонентов средства проверки стиля, и здесь Брук сообщил о «нюансированном ответе», который можно резюмировать следующим образом:

нет значительных гендерных различий в общем качестве кода на Python. Однако есть свидетельства гендерных различий в стиле... что указывает на возможность предсказать пол пользователей по стилю их кода».

В последнем элементе анализа Брук выяснила, можно ли использовать структуру и стиль модулей для классификации предполагаемого пола пользователей. Она использовала модель Random Forest для предсказания гендерной принадлежности, используя структурные составляющие и компоненты проверки стиля модулей Python, и пришла к выводу, что:

пол модулей Python можно предсказать на основе стиля программирования.

Вы можете прочитать статью, чтобы узнать некоторые тонкости, а для общего представления вот видео, в котором она затрагивает вопрос о предполагаемом гендерном разрыве в способности к кодингу и дает ответ, основанный на ее исследованиях:

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

Ее вывод в видеоролике таков:

чтобы увидеть изменения, нам нужны социальные решения

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

Читайте также