Мы попросили нейросети изобразить ситуации «женщина-спикер на конференции разработчиков» и «Ада Лавлейс выкидывает подаренную сковородку, чтобы сосредоточиться на программировании».
Мы попросили нейросети изобразить ситуации «женщина-спикер на конференции разработчиков» и «Ада Лавлейс выкидывает подаренную сковородку, чтобы сосредоточиться на программировании».

В середине XIX века, когда Чарльз Бэббидж изобрел свою аналитическую машину, исследовала ее возможности Ада Лавлейс. Она составила первую в мире программу (для этой машины), ввела в употребление термины «цикл» и «рабочая ячейка».

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

Один из первых компьютерных языков программирования, COBOL, был разработан в конце 1950-х годов командой, в которую входила женщина-программист Грейс Хоппер. Хоппер часто приписывают популяризацию термина «отладка» после того, как она удалила мотылька из компьютера.

В 1960-х годах считалось, что женщины составляли 30–50% всех программистов. Только в 1980-х доля женщин в программировании начала снижаться. 

Несмотря ни на что, всегда были женщины-программисты, играющие заметную роль в развитии отрасли. Например, в 1970-х годах Адель Голдберг была одним из разработчиков языка Smalltalk. В 1990-х годах Радья Перлман разработала протокол Spanning Tree Protocol — ключевую технологию, обеспечивающую работу интернета.

Поэтому сегодня (как и всегда) — никаких слов про «украшения офиса», а только программирование, только хардкор. 

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

Для всех

Антонина Хисаметдинова — Как сообщать пользователю, если «Упс, что-то пошло не так»

Антонина — cталкер в области восприятия ПО (в частности UI)  пользователем. Ее доклад «Как сообщать пользователю, если «Упс, что-то пошло не так» — не про код, а про людей, и поэтому он подойдет всем. 

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

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

Кстати, если вам больше по душе письменный формат, то в нашем хабраблоге есть и расшифровка этого доклада.

TechTrain: AI и KMM

Каждый конференционный сезон в JRG стартует с бесплатного онлайн-фестиваля TechTrain, не привязанного к одному стеку. В этот раз он будет посвящен искусственному интеллекту и машинному обучению. Поэтому и в этой подборке первый доклад именно про ML.

Евгения Суходольская — Сбор и разметка данных для машинного обучения

Евгения Суходольская из Яндекс.Толоки рассказала про краудсорсинг в машинном обучении: как с помощью людей собираются данные для разметки.

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

Набирающий последнее время data-centric подход дает огромный потенциал для развития отрасли и позволяет улучшать решение задач с помощью данных. 

В реальных задачах использование готовых дата-сетов, как правило, не годится. Под каждую задачу данные нужно собирать заново. Например, когда голосовой помощник Алису обучили на русской классике (готовый дата-сет), она стала чересчур депрессивной. Когда ее переобучили на твитах (тоже готовый дата-сет), она стала общаться как подросток. 

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

Этот доклад — реальный опыт большой компании.

Анна Жаркова — Kotlin Multiplatform. Как превратить нативное приложение в кроссплатформенное

Анна Жаркова — частый спикер наших конференций. В основном, она учит iOS-разработке, но в своем докладе попробует примирить оба мира — Android и iOS. 

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

Одним из таких инструментов является Kotlin Multiplatform. В докладе Анна рассказывает, как превратить приложение Android в кроссплатформенное и сделать используемым вместе с iOS.

Вы узнаете про концепцию Kotlin Multiplatform, увидите, как подключить общий модуль, произвести миграцию общих данных и бизнес-логики. Анна рассказывает про работу с сетью и многопоточностью, настраивает общую архитектуру и подключает ее к SwiftUI.

JPoint: Java

Rabea Gransberger — Refactoring your code to Java 9 modules

Как насчет небольшого модулярити в Java 9?

Этот доклад Рабеа Грансбергер из 2018 года, когда модули еще были в новинку, но при этом он затрагивает общие стратегии рефакторинга кода, которые будут актуальны и сейчас. Java 9 позволяет разбивать код на модули, предоставлять доступ только к определенным пакетам и тем самым скрывать от внешнего использования даже общедоступные классы.

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

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

HolyJS: регулярные выражения

Lea Verou — /Reg(exp){2}lained/: Demystifying Regular Expressions

Доклад с JS-конференции, но подойдет всем — и плюсовикам, и мобильным разработчикам, и джавистам. Посвящен он регуляркам. 

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

Лия Веру — веб-разработчица из Греции —  выступила на HolyJS 2017 с докладом /Reg(exp){2}lained/: Demystifying Regular Expressions.

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

Во время доклада Лия говорила «напишите такую-то регулярку», давала минуту или две, и с помощью её сайта regexplained.com желающие могли запостить свои варианты в Твиттер. Затем Лиа показывала их и оглашала правильный. Можете при просмотре тоже пытаться выполнить задание и смотреть, получится ли у вас лучше участников конференции!

Heisenbug: тестирование UI

Юлия Атлыгина — Инструменты тестировщика

С этим докладом Юлия выступила на Heisenbug 2017 Moscow, но он продолжает набирать просмотры и восторженные комментарии.

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

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

А для тех, кто больше любит текстовый формат, есть расшифровка этого доклада.

C++ Russia: C++20 в действии

Hana Dusíková — A state of сompile time regular expressions

Доклад 2019 года, в котором Хана представляет усовершенствование библиотеки Compile Time Regular Expression (CTRE), автором которой она является. Библиотека была разработана с учетом новых возможностей C++20, и в ней используются новые методы.

Основная тема этого выступления — объяснение нового механизма, основанного на конечном автомате (FA) в библиотеке, и того, как он строится и оптимизируется во время компиляции. Хана объясняет различия и ограничения нового механизма по сравнению с предыдущим механизмом Back Tracking. Она рассматривает эти различия на эталонном примере и обсудит сгенерированную сборку.

Даже если вас не интересуют регулярные выражения, вы узнаете новые приемы метапрограммирования во время компиляции и увидите новые возможности C++20 в действии.

Кстати, этот доклад хорош не только с технической точки зрения, но и с визуальной: слайды у Ханы словно живые, деревья разбора перестраиваются в реальном времени!

Mobius: Оптимизация мобильного приложения

Ася Свириденко — Оптимизация работы приложения на медленной сети

Иногда разработчики забывают о том, что вне их настроенной среды с мощным вай-фаем существует темная зона Медленного интернета. И пока что пользователям всё ещё приходится сталкиваться с медленной мобильной сетью. В таком случае использование приложения превращается в боль. Что мы можем сделать в случае с iOS, чтобы избавить людей от этой боли? 

Ася — опытный спикер — изучила все возможности ускорения сети на iOS, так что вам не нужно пересматривать WWDC. Все это она попробовала применить на проекте почты Яндекса и в докладе делится результатами.


А напоследок напомним, что уже совсем скоро стартуют весенние конференции JUG Ru Group, перечисленные в этом тексте. Первого апреля мы запустим бесплатный онлайн-фестиваль TechTrain, а следом пройдут конференции по тестированию, Java, С++, мобильной разработке и JavaScript. Можно выбрать свой стек или прийти сразу на все.

Комментарии (1)


  1. domix32
    00.00.0000 00:00

    В 1960-х годах считалось, что женщины составляли 30–50% всех программистов.

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