«Если хочешь сделать что-то хорошо — сделай это сам». 5 апреля 2019 года мы проводим 4-ю Moscow Python Conf, и я решил провести странный эксперимент: посмотреть, что будет, если перевернуть подготовку докладов с ног на голову.
Как обычно делается — открывается Call for Papers (вот он, открыт, ничего с ним не случилось), месяца полтора-два организаторы уговаривают топовых спикеров предложить доклады, те отбиваются работой и семьей, а затем из сотни-другой поступивших докладов выбирается несколько десятков в программу, и все выдыхают. Хороший способ, с одним ма-а-а-аленьким недостатком: много случайностей.
Не факт, что даже опытный спикер сможет сделать сильный доклад по предложенной теме. «Активные» спикеры в известных компаниях могут быть заняты или хотеть на другую конференцию. Много интересных тем может пройти мимо просто потому, что десять человек программного комитета не знали про огромный клубок Python в недрах IVI.ru и никто им не написал.
Я решил попробовать пойти по пути Goblin Slayer и не кидать кубиков вообще: сам приходить в гости к компаниям, сам проводить интервью, выбирать темы и с нуля готовить спикеров. Видели бы вы их глаза от такого предложения… Фоток не будет, но под кактом расскажу что получилось.
Мы перенесли конференцию с осени на весну, так что сразу после завершения осенней Moscow Python Conf++ #3 я пошел в народ. В роли народа выступили крупные айти компании, с DevRel'ами которых я был уже знаком или пообщался на прошедшем же HighLoad++: hh.ru, Домклик, Авито, S7, Тинькофф, Iponweb, Яндекс, Рамблер, Циан — список длинный. Всем я предлагал одно и то же:
- Я прихожу в гости с ведром кофе и общаюсь с разработчиками, которые знают про Python в компании. Если есть перспективные темы — беру контакты тех, с кем можно созвониться 1-на-1 и поговорить за код.
- Созваниваюсь с разработчиками, собираю фактуру.
- Если есть тема и фактура к ней, то предлагаю подготовить с нуля спикера по моей авторской методике. Подготовленный таким образом спикер автоматически попадает в программу конференции.
Что интересно: из тех компаний, до которых я достучался и в которых используется Python не отказался никто. Наверное, все хотели посмотреть, как выглядит ведро кофе. Вот так:
Интервью с компаниями. Python есть? А если найду?
Python и интересные темы я нашел у всех. Как это обычно выглядело? Вокруг меня собиралось от одного до десяти разработчиков, тимлидов и техдиров, которым я кратко рассказывал свое предложение, концепцию профессиональной конференции и предлагал рассказать «что в компании делается с участием Python». Неуверенный вначале рассказ быстро переходил в обсуждение «а еще у нас есть...» и минут через двадцать я переходил к уточняющим вопросам, выбирая наиболее перспективные для конференции темы.
Ключевое в таком интервью — помнить, зачем мы идем на профессиональную конференцию. Со времен школы и института в нас есть убеждение, что конференция — это место, куда ходят учиться, узнавать что-то новое. Это «автоматический» ответ, который наш
Какие темы интересны конференции
Конференции — про общение. В интернете есть вся информация. Но нам, как разработчикам, не нужна вся информация. Нам нужно самое важное и ответы на вопросы. Личный опыт использования технологий и решения тех или иных задач «в проде» крутых компаний. Обо всем этом можно поговорить за чашкой кофе (а затем и пива на афтапати) на крупных профессиональных конференциях.
Если смотреть на конференцию с такого ракурса, зачем на ней спикеры? Спикер задает тему для беседы и рассказывает про внутренний опыт компании: все то, чего нет на stackoverflow и на Хабре. Такой контент я ищу на интервью, задавая вопросы «что у вас происходит такого, о чем не пишут в официальной документации и stackoverflow?». А что-то интересное происходит всегда: в каждой крупной компании с Python разработкой есть свой уникальный серпентарий с собственными задачами, сложностями, проблемами и решениями.
Конференция Moscow Python про все, что делают Python разработчики. Backend, числодробилки, Machine Learning, Big Data, веб-разработка, мобильные приложения, тестирование и развертывания кода и десятки других тем. Iponweb, к примеру, генерит на Python уникальные админки для каждого клиента. А спикер расскажет, какие при этом возникают сложности и как правильно выворачивать наизнанку Django для таких задач.
Сбор фактуры с глазу на глаз через Zoom. Что такое фактура?
В конце очного интервью я собираю контакты разработчиков, с которыми через несколько дней устраиваю небольшие, на 20-30 минут созвоны через Zoom. Очень удобная штука для видеосозвонов: неограниченный бесплатный видеозвонок для двух пользователей, можно писать видео на свой компьютер, нет типичных для Skype peer-to-peer проблем «звонок не получился». Единственный на мой взгляд минус — странное usability решение со спрятанной кнопкой «join with computer audio»: подключившийся участник видеозвонка видит видео, но не слышит собеседника и его тоже не слышно. Но если заранее про эту кнопку объяснить, то других проблем нет.
С разработчиком я обсуждаю уже код — есть ли достаточно материала для доклада. На очном брейншторме многие штуки вспоминаются не так, как они на самом деле, последующие созвоны с разработчиками исправляют этот пробел.
Обзвонив всех, я делаю компании оффер на самую подходящую с моей точки зрению тему. В ответ компания выдает мне спикера: обычно это тот, с кем я общался по Zoom за код.
Подготовка спикеров
В среднем на доклад уходит десяток видеосозвонов по 30-50 минут каждый. Подготовка идет в виде интервью, где я задаю миллион вопросов и выкапываю уникальный опыт компании, а спикер выступает в роли источника знаний. Грубо подготовка состоит из четырех частей:
- Сбор фактуры: вначале сюда копируется все что было собрано на предыдущих этапах по выбранной теме, после чего я засыпаю спикера вопросами, пока не увижу достаточно материала и ценности для 30-минутного доклада. Обычно это 2–3 созвона, в промежутках между которыми спикер возвращается к команде и уточняет детали и нюансы.
- План доклада: осмотрев фактуру, мы со спикером расставляем факты так, чтобы получилась интересная история. Обычно я использую чуйку, но в крайних случаях можно использовать готовые журналистские подходы. Это самый сложный этап, при формировании истории часть фактов не понадобится, зато могут появиться новые интересные детали, про которые нужно узнать больше.
- Изготовление слайдов — cамый простой этап. Имея план доклада, опыт из сотни выступлений и понимание, зачем нужны слайды, их несложно сделать. Списки, схемы, прикольные картинки и стрелки в неожиданных местах помогут аудитории следить за рассказом спикера, видеть ключевые слова и не терять канву рассказа.
- Нарезка двусторонних слайдов. Большой чит, который мы используем во время выступлений: спикер видит перед собой тезисы-подсказки, которые размещены в разделе «speaker notes» и делят доклад на много-много маленьких, изолированных историй. Как это работает можно посмотреть вот в этом видео:
Call for papers
Таким способом мы набрали больше десяти докладчиков (для части компаний спикер еще не выбран, поэтому точно число не назову). Кроме того есть традиционный Call for Papers и программный комитет, который созвонится с каждым подавшим заявку, поговорит про тему и затем выберет лучшие. В нашем программном комитете:
Александр Хаёров
Dev Lead в Chainstack. Любит Python и украдкой программирует на нем. А всё, что касается публичных облаков, Kubernetes, Istio и DevOps/SRE практики, — страсть и область безграничного интереса.
Владимир Филонов
CTO в itcanfly. Разработчик широкого профиля и один из организаторов сообщества Moscow Python. Любит Python, Erlang/Elixir, асинхронность и TDD. Любит копаться во внутренностях библиотек, а потом рассказывать об этом.
Злата Обуховская
Тимлид в Nvidia. С экосистемой Python знакома десять лет, за это время попробовала разное: от Data Science исследований до разработки highload-проектов и руководства командами. В последнее время преподает в Learn Python, изучает темы менторства и профессионального развития разработчиков. Интересуется распределенными системами и построением технических сообществ. Может долго говорить про технологическую культуру, которая должна подпитываться стратегией.
Иван Цыганов
Software developer в Positive Technologies. Python-программист. Спикер множества конференций для программистов и тестировщиков. Готовил крупнейшую в России конференцию по информационной безопасности — PHDays. Медленно, но верно собирает себе по-настоящему умный дом.
Леонид Кальнеус
DevRel в DataArt. Организатор ряда сибирских сообществ разработчиков, конференции DevFest Siberia, Gophercon Russia. Любит Python, пишет на Go :)
Никита Соболев
CTO в wemake.services. Больше всего любит настраивать технические процессы в компаниях. Активно пишет open-source и выступает на разных конференциях: от HR до функционального программирования. Любит Python и Elixir. Использует JavaScript.
Дмитрий Назаров
Python TeamLead в DataArt. Флагманская фигура Python-движа, член программных комитетов конференций: PiterPy (2017, 2018), PyCon-LT, Moscow Python Conf++. Сооснователь проектов PiterPy Meetup, Django Girls SPb, PyLadies SPb и SPb Reliability Meetup. Любит веб, стартапы и делать айти-мероприятия. Куратор на курсах Learn Python. Выступал в Москве, Лиссабоне, Берлине, Минске, Литве. Талисман конференции index-tech.ru и пишет о проблематике найма.
Андрей Власовских
PyCharm Techincal Lead в JetBrains. Разработчик и архитектор ПО. Работает более 10 лет в области разработки ПО. Имеет опыт разработки средств поддержки проектирования ПО (системы сборки и развёртывания, парсеры, анализ исходного кода), разработки веб-приложений, систем анализа данных.
Специально для Хабра
У меня есть еще один слот на подготовку спикера с нуля. До конференции чуть меньше трех месяцев, и если у вас есть интересная тема — подавайте ее через Call for Papers с пометкой «спецпроект для Хабра». Я созвонюсь со всеми подавшими доклад спикерами, и если будут интересные темы, — возьму одну на подготовку по описанной выше методике.
Автор: eyeofhell