company_banner

Изюминки прошедшей Moscow Python Conf++ 2019: трансформация в площадку для общения

    Самыми горячими темами Moscow Python Conf++ оказались асинхронная разработка, а также сопоставление Python, его лучших практик и инструментария с аналогами из других языков, и его место в ландшафте современной разработки. Плюс мы пригласили выступить Бенджамина Петерсона, одного из разработчиков CPython, Григория Бакунова из Яндекса и многих других очень интересных людей.



    Четвёртая по счёту и вторая, устраиваемая совместно с нашей командой, Moscow Python Conf++ заметно трансформировалась. Что происходило на мероприятии, чем оно выделялось среди отраслевых IT-форумов, какой профит и удовольствие принесло участникам — в нашей короткой фотозарисовке с площадки.




    Конференция собрала свыше 460 гостей на самой площадке, а также десятки онлайн-участников. Программу из 24 докладов мы распараллелили на три потока. По сетке были равномерно разнесены хедлайнеры конференции — во избежание «гравитационных аномалий»: чтобы топовые фигуры не перетягивали на себя всё внимание. В этом году мы также отказались продолжать эксперимент с двухдневным форматом, и это на фоне увеличения потока заявок, так что недостатка в сильных экспертах не было. Затрудняла ли высокая концентрация спикеров с крепкими докладами выбор, кого и куда идти слушать? И да, и нет.

    Григорий Петров, руководитель программного комитета Moscow Python Conf++:
    «У разработчиков почти всегда есть специализация (у кого machine learning, у кого data science), и в большинстве случаев каждый ищет в программе и посещает те доклады, которые соответствуют его профилю. Так что задача программного комитета — не допустить ситуации, когда в параллельных потоках у нас проходили бы выступления на близкие темы и люди метались бы как неприкаянные между залами».

    Разумеется, у Moscow Python Conf++ 2019 имелись хедлайнеры, однако по практической пользе подготовленного ими материала (а также «кейсовости» историй и т. д.) они разительно не контрастировали с общим составом спикеров. Не умаляя достоинств оставшихся 20 докладчиков, чуть подробнее обозначим четыре центральные темы, которые мы отобрали по субъективным критериям и отчасти по медийному весу экспертов.



    Бенджамин Петерсон: Python Governance




    Топ-спикером, но не единственной суперзвездой конференции стал один из ведущих разработчиков CPython и PyPy Бенджамин Петерсон (Benjamin Peterson). Помимо всего прочего, Бенджамин работает в Сан-Франциско в Dropbox вместе с Гвидо ван Россумом, отцом-основателем языка. В прошлом году тот уволил себя с поста «великодушного пожизненного диктатора» Python (benevolent dictator for life, или BDFL), в связи с чем потребовался «гвидозаменитель». В качестве такового на выборной основе был сформирован комитет из пяти человек — Steering Council, включающий, кстати, и самого ван Россума. Сам Бенджамин, по его признанию, в эту структуру не вошёл: «Занял на голосовании шестое место».

    При всей звездности спикера и близости к сердцу Python (буквально — к core) его доклад был, пожалуй, наименее технически ориентированным, скорее концептуальным, с лейтмотивом «Что нас ждет в эпоху пост-Гвидо». Между тем, недаром в качестве целевой аудитории в анонсе его выступления оргкомитет указал — anyone who uses Python for their work. Речь шла о самом главном для сообщества.

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

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

    Григорий Бакунов: «Что делать, если ваш код на Python тормозит»




    Пусть bobuk и предпочитает аттестовать себя как «ненастоящего программиста» — «У меня на программирование уходит всего 2–2,5 часа в день» — и искренен в таком самоопределении, но о горестях и радостях Python ему было чем поделиться с залом. Со сцены сыпались советы как о продуктивных, так и, в порядке how-not-to, малопродуктивных способах ускорить исполнение питоновского кода. Сыпались — и неплохо укладывались в головах: тезисы у Григория традиционно упакованы с экстремальной эргономичностью; на его докладах иногда кажется, что в твоей голове играют идеями в тетрис.

    Видимо, немалую часть тех самых двух часов в день, уделяемых разработке, директор по распространению технологий «Яндекса» тратит всё-таки на питоновские экзерсисы. Иначе откуда ему знать, что numba для ускорения Python годится ну очень выборочно — в основном применительно к scientific applications, а Grumpy, гугловский транслятор Python-кода в Go, в реальной инфраструктуре едва ли рабочее, утилитарное решение.

    Попутно Григорий открыто признался в любви «nim и пророку и nimpy», а также прошёлся по «хитровывернутостям» Cython, потенциально способным помешать коду исполняться резво. Резюмировал же свою двадцатиминутку хлёсткими панчлайнами:

    • Иногда достаточно PyPy (если это возможно).
    • Оптимизация простого кода тоже важна.
    • Инструментарий должен быть стабильным.
    • Не надо бояться эзотерики, это весело.
    • Старый друг лучше новых двух.

    После доклада и блока Q&A, который по длительности, кажется, превзошёл доклад, около 30 питонистов обступили «ненастоящего программиста» и не отпускали его ещё очень и очень долго.

    Виталий Левченко: Python vs Go




    Широко известный как организатор Go и Reliability-митапов в Санкт-Петербурге, Виталий Левченко озаглавил свое выступление нарочито провокационно. И не менее провокационно открыл его: мол, пожалуйста, ответ на поверхности — в веб-бенчмарках Go гораздо быстрее Python (в rps), показывая в отдельных случаях более чем пятикратное превосходство. Однако такой заход был лишь поводом для того, чтобы взвешенно оценить достоинства и недостатки Go в сравнении с Python. А главное показать, где что действеннее. Конечно, как приверженец Go, он не мог не фокусироваться на его преимуществах — простоте, отсутствии проблем с апдейтами, малом числе зависимостей от внешних библиотек и т. д.

    В завершение своего конструктивного «монобаттла» Виталий поделился историей из практики разработки, в которой переход на Go увеличил производительность в десять раз. С учётом того, насколько сегодня на продакшене распространена связка Python + Go, многим закоренелым питонистам обзор-сравнение явно было полезно для того, чтобы расширить свое знание о сфере применения Go и его месте в бэкенде современных онлайн-сервисов.

    Ну а Python, по мнению посла из Go-лагеря, разумно отдать предпочтение, если:

    • важна скорость бутстрапинга приложений;
    • нужно решать data science задачи;
    • сердце лежит к async/await.

    Максим Лапшин: «Elixir как цель развития для Python async»





    Лауреата премии HighLoad++ 2018, основателя видеостримингового продукта erlyvideo организаторы позвали с двояким умыслом — чтобы взглянуть на то, как распределённые асинхронные системы строятся на Python и как их можно строить не на нём. Фундамент erlyvideo написан на Erlang, однако часть решения создана на Python, так что, по его собственному признанию, Максим имел возможность прочувствовать боль с функционированием сетевых механизмов «по-питоновски».

    Раскрывая подзаголовок презентации — «Как управлять сокетами, потоками исполнения и данными вместе» (а кто же не хочет!), — Максим сделал обзор существующих концепций параллельных вычислений, в частности как те реализованы на Erlang и Elixir. Главной его задачей было показать на примерах, как более широкий контекст языков и технологий влиял и влияет на воплощение сетевых механизмов в Python и в какую сторону будет эволюционировать его «асинхронщина». Подчеркнув все плюсы параллельных вычислений на Erlang / Elixir, Максим справедливости ради обозначил и их издержки (включая неоптимальную производительность и «накладные расходы» на копирование данных между процессами).

    Who by Python


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

    Резонанс вызвал доклад Александра Кошелева о том, как эволюционировала разработка на Python в «Яндексе» (спойлер: кардинально). А опыт и рекомендации Кирилла Борисова из Booking.com — он говорил о проведении тестов при рефакторинге legacy-кода — точно попали в запрос изрядной части собравшихся его послушать: его тоже долго не хотели отпускать.

    Ещё один зарубежный гость конференции, старший инженер по облачным разработкам Alibaba Цинь Сюэ (Qin Xuye), тоже имел успех, представив комплексный опенсорсный, построенный на тензорах, Python-фреймворк для масштабных вычислений. Любопытный кейс машинного обучения рассказал Игорь Киценко из HH.ru: ML-сервис рекомендации вакансий, написанный на Python и — изюминка доклада — интегрированный с поисковым движком на Java.

    Григорий Петров:
    Программный комитет собирал спикеров, с которыми участникам ивента хотелось бы поговорить больше всего. Ведь с нашей точки зрения, конференция — это не место, куда приходят всерьез чему-то учиться. Также это и не место, где узнают нечто радикально новое. Это место, куда приходят пообщаться с коллегами, которые работают над реальными проектами, в особенности за закрытыми дверями. Да пусть даже за открытыми, но многие всё равно не пишут о своей работе на Хабре или Stackoverflow — часто исключительно из-за бешеной занятости.

    Один из наших внутренних эмпирических критериев выбора докладчика — чтобы нам было интересно при случае поговорить с ним за пивом о насущных вопросах языка и технологий, а также дотошно расспросить о его работе. Тот же Бенджамин Петерсон ни в коем случае не свадебный генерал. Он выдающийся программист и вообще разносторонне развитый человек (заодно прекрасно играет на фортепиано) и, в частности, занимается всем CI в Dropbox. Когда выдалась свободная минута, мы с ним потолковали о том, как у них в компании организовано тестирование Python-кода на огромных кластерах, причём начали-то они это делать еще до GitLab. Другие докладчики Moscow Python Conf++ 2019 этому критерию тоже вполне соответствуют. Во всяком случае, на наш взгляд.



    При всей разноплановости повестки Moscow Python Conf++ самыми горячими её темами оказались асинхронная разработка (она была вне конкуренции), а также сопоставление Python, его лучших практик и инструментария с аналогами из других языков и его место в ландшафте современной разработки. Что, как видно по темам докладов, входило в замысел программного комитета.

    А поговорить?


    Помимо того что коммуникации между спикерами и участниками конференции было уделено повышенное внимание в основной контентной программе, мы приложили усилия, чтобы нетворкинг внутри сообщества шёл на протяжении дня на всей территории Moscow Python Conf++.



    Прежде всего, в фойе действовали дискуссионные зоны, снабженные фрипчартами. На них были написаны предварительные темы диспутов, к которым можно и нужно было присоединяться всем желающим: «Нужна ли асинхронность в Python?», «Путь от джуна до тимлида нормально пройти за год или за десять лет?» — и так далее в том же холиварном духе.

    «Запакованная социализация для интровертов» — так полушутя охарактеризовал этот формат коммуникации один из организаторов.

    Правда, заподозрить интровертов в тех, кто стекался в дискуссионные зоны, было трудновато: слишком горячи (однако дружелюбны) были участники дебатов. Ну а после обеда всё «Инфопространство», кажется, превратилось в одну сплошную дискуссионную зону.

    Валентин Домбровский, сооснователь сообщества MoscowPython:
    Отлично отработал сдвоенный стенд Moscow Python + Pyladies Moscow и объединенный стенд региональных сообществ. На втором состоялась встреча, посвящённая тому, как организуются локальные тусовки питонистов. В ходе нее участники договорились о коллаборации: есть надежда на то, что у нас в итоге сложится метасообщество — сообщество сообществ. В конце концов, и Python — язык, созданный сообществом.

    А в целом конференция получилась всероссийской — они собрала людей из самых разных уголков страны, кроме столицы, в том числе из Санкт-Петербурга, Казани, Краснодара, Омска, Уфы, Челябинска, Иванова, Липецка, Новосибирска. Кое-кто приехал аж из Эстонии и Азербайджана. Так что, пожалуй, даже шире, чем всероссийская.

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



    То ли задержавшись благодаря интриге в программной сетке, то ли из-за того, что ставка на общение оправдала себя, то ли по обеим причинам сразу на afterparty осталось больше половины всех пришедших на конференцию. Вечеринка продолжила общую линию Moscow Python Conf++, и дополнительным топливом для нетворкинга стали пиво, разнообразные закуски и доля здорового угара.





    Григорий Петров: Сообщество становится старше и профессиональнее. Я вижу на конференции всё больше программистов из банков, из IT-гигантов. В таких компаниях всё активнее используют Python, и они стремятся развивать свои HR-бренд и экспертизу вместе с сообществом. Теперь здесь можно полноценно обсуждать индустриальные подходы к разработке и сложные проблемы, которые возникают при решении бизнес-задач. Не только вопросы архитектуры, но и, скажем, как правильно организовывать работу команды, чтобы у неё получались масштабные крутые продукты, такие как голосовые помощники, платформы телемедицины, принципиально новые финансовые сервисы, ПО для беспилотных автомобилей.

    What’s next?


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

    • Обеспечить приезд Гвидо Ван Россума – как задача-максимум. Если не в следующий год, то обязательно в будущем.
    • Звать больше core developers и авторов популярных библиотек.
    • Приглашать крутых докладчиков по темам, которые остались неохваченными на минувшей конференции, в первую очередь по информационной безопасности.
    • Привлекать в качестве участников больше тимлидов, тестировщиков, аналитиков, — всех тех, кто, не будучи разработчиком в строгом значении слова, постоянно использует Python в своей работе.
    • Возможно, провести отдельный день воркшопов и внедрять новые форматы активности, в том числе с привлечением людей из комьюнити других языков.
    • Мёрч, о котором так долго просили участники.





    P.S. Друзья, тем, кому не удалось принять участие в нашей конференции, хотим порекомендовать подписаться на наш YouTube-канал, где мы ближе к концу лета начнем выкладывать видеозаписи выступлений. Сейчас там также есть на что глянуть, поскольку мы закачали практически все доклады с осенней конференции.
    • +19
    • 3,9k
    • 2
    Конференции Олега Бунина (Онтико)
    457,00
    Конференции Олега Бунина
    Поделиться публикацией

    Похожие публикации

    Комментарии 2

      +1
      Здравствуйте! Пытаюсь найти хорошие курсы по обучению Python оффлайн в Москве для новичков, чтобы потом выйти на работу. Посоветуйте пожалуйста, перерыл весь интернет.
        0
        Попробуйте начать с Python Junior подкаста или курсов Learn Python.

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