Для обычного пользователя программы, которые мы пишем — это магия. Фронт, бэк — неважно. Человек нажимает на кнопку в браузере, и вдруг случается чудо. Но мы-то знаем, что это не чудо, а результат упорной работы.
Когда приходишь на конференцию, кажется, что всё работает само собой. Всегда есть интересный доклад. В нём есть конкретные места, которые можно использовать в работе прямо сейчас, которые стоит обсудить с друзьями и коллегами или которые просто почему-то цепляют тебя лично.
Это происходит само собой, просто по статистике? Если набрать достаточное количество докладов, всё получится автомагически? Как бы не так. Всё подстроено. Как программу на JS проектируют архитекторы, так и за каждой конференцией стоит команда отличных инженеров, которые проектируют её специальным образом. Они проектируют не только структуру, но и вместе с докладчиками «отлаживают» каждый доклад, строчка за строчкой, раз за разом. Проводят кросс-ревью, оценку, починку багов. Пишутся специальные инструменты и выкладываются на GitHub. И так до тех пор, пока не скомпилируется хорошо работающая, безбажная конференция.
Наверное, каждый иногда хотел пообщаться с разработчиками тех инструментов, которыми мы все пользуемся. К примеру, кто хотел бы сказать пару ласковых создателям React или Node.js? А кто хотел бы узнать от них парочку тайн о внутренней кухне проекта?
Это интервью — с разработчиками конференции HolyJS 2017 Moscow, с её Программным комитетом. Мы будем обсуждать:
- какие сложности возникают при разработке программы конференции и как их побеждают;
- кто допущен к сакральному процессу отбора докладов и нужно ли для этого быть богом JavaScript;
- совместима ли работа в ПК с обычной жизнью;
- какие доклады стоит послушать и на какие ни в коем случае не стоит приходить хипстерам;
- кучу рандомных интересных фактов.
Олег: Начинаем! Господа, нас сейчас читает весь Хабр, поэтому давайте познакомимся и расскажем пару слов о себе и работе Программного комитета.
Вадим Горбачёв: Я участвую с Михаилом Полубояриновым в организации PiterJS, куда он меня пригласил. Состою в Программном комитете московского HolyJS. Работаю в компании OpenWay, мы делаем продукт для платёжных систем WAY4. Я занимаюсь его фронтовой частью. В Программном комитете у меня основное время уходит на общение с докладчиками, также на анализ тематики докладов. Нужно понимать, о чём идёт речь, иметь какой-то бэкграунд того, о чём говорит докладчик.
Дмитрий Махнёв: Я работаю в Одноклассниках, делаю мобильную веб-версию. В основном в последнее время работа связана с платежами. В Программном комитете я в первый раз, пригласил меня Лёша 23derevo Фёдоров, потому что я ему жаловался на доклады, а он сказал: «Сходи и выбери нормальный».
Михаил Полубояринов: Привет, меня зовут Миша, работаю в компании Health Samurai. Занимаюсь организацией PiterJS. К сожалению, первую HolyJS пропустил, а вторую посетил как участник и после понял, что хочу помогать двигать такую крупную конференцию, как HolyJS. В целом, работа ПК сводится к составлению программы, а потом её причёсыванию :)
Олег: Про меня и Андрея всё понятно. Я веду это интервью, а Андрей Дмитриев — наш программный директор в JUG.ru Group.
Евгений Гусев: А меня зовут Женя, работаю в компании Wrike. Вместе с HolyJS с первого дня, сначала как спикер, а потом как член Программного комитета. Работа ПК, с одной стороны, очень интересна: столько новых людей и информации, наверное, нигде не увидишь. А с другой стороны, это очень сложно. Например, на эту HolyJS было подано почти 90 заявок (на 28 мест), а это почти 3 заявки на место. И всё это надо разобрать, оценить, созвониться с каждым спикером, а потом выбрать лучшее. Я даже когда-то писал пост на эту тему.
Но при этом, когда заявки отобраны, работа не заканчивается. Начинаются прослушивания и тренировки. Почти с каждым спикером мы прогоняем доклад не по одному разу, чтобы сделать лучшее выступление. В прошлом году рекордсменом по прогонам был Игорь Алексеенко. Причём надо заметить, что самый первый раз доклад был уже хорош, но Игорь (с помощью ПК) довёл его просто до космических высот.
Михаил: Быть в ПК — это весело, как ранее сказал Женя, множество новых знакомств, интересных докладов, но в этом есть и один минус: на конференции ты не знаешь, на какой доклад идти, потому как уже всё слышал минимум 1-2 раза.
Олег: Женя, у тебя свободное время-то остаётся? Как получается совмещать работу в ПК с повседневной жизнью?
Женя: Это вполне себе возможно. Вот подаваться как докладчик на HolyJS — действительно трудно, коллеги из ПК уж больно строги. Но времени у меня это отнимает прилично. Бывают такие всплески, что времени ни на что не остаётся. Например, в последний день Call For Papers мы получили почти 30 заявок!
Обычно, в среднем, раз в два дня созвон с кем-то. Мы параллелимся, но это всё равно отнимает много сил. Всё ради того, чтобы держать уровень конференции. Ну и трудно называть это «работой». Когда ты говоришь «работа», то сразу сквозит какая-то обязаловка. Мы этим занимаемся по зову души и сердца.
Олег: Кстати, в чём отличие HolyJS от других конференций на аналогичные темы?
Женя: Больших конференций не так уж и много. Чисто по фронтенду (и по JS) тем более! А во-вторых, HolyJS всегда делает ставку на качество. Как спикеров, которых мы регулярно тренируем, так и оборудования и окружения. Проекторы — свои, аудио — своё, трансляция — HD. Ведь чем выше качество конференции, тем выше шанс, что к нам будут приезжать всё более крутые спикеры. И они приезжают.
Михаил: Если мне не изменяет память, HolyJS — единственная JS-конференция в России. Сравнивать особо не с чем. В этот раз было большое количество заявок, теперь она длится два дня и так далее, но это и так все знают. А ещё у нас обновился Программный комитет (теперь нас четверо).
Женя: Удивительная вещь, но с каждым годом всё больше становится англоязычных заявок (и, соответственно, докладов). И это люди, которых мы не звали — они сами с нами связались. Это значит, что конференция потихоньку выходит на международный уровень. По большей части, работает «сарафанное радио». Англоязычные спикеры зачастую едут в Россию с предубеждением и опаской, но, побывав у нас, с радостью делятся с друзьями, что у нас тут круто, езжайте сюда все!
Олег: А были ли такие доклады, когда вашей экспертизы было недостаточно, чтобы вообще понять, о чём говорит докладчик? Или что-то новое или необычное?
Вадим: У меня такое было, могу даже перечислить этих ребят, потому что они создали такой «вау»-эффект: Лобов, Матвиенко, Удалов, которые занимаются очень хардкорными вещами. Не каждая специфика приведёт к копанию в такой среде. Им посчастливилось, они могут поделиться таким опытом, на такое мало у кого экспертизы хватит.
Олег: Можешь привести какой-нибудь пример?
Вадим: Лобов — это человек из JetBrains, который делает в их продуктах поддержку TypeScript. У Матвиенко (Grid Dynamics) Node на продакшне, они её дебажат, причём очень глубоко. А что касается Удалова (Deutsche Bank), у них интересные кейсы в том, что у них не всегда доступен бэкенд, поэтому они научились общаться между приложениями, которые установлены на клиенте без бэкендов, с помощью общения между вкладками и т.п.
Дмитрий: Не нужно обижать ребят, у них всё нормально с бэкендом. Михаил объяснял, что они просто хотят сделать именно таким образом. Во-первых, это по UX workflow, а во-вторых, они сознательно хотят экономить. Это не от сверхпроблемы, не от того, что что-то не получается. А от того, что хочется сделать всё немножко по-другому. У них — куча приложений, которым нужно взаимодействовать друг с другом. И тут как раз все вариации взаимодействия в вебе, какие только могут быть между табами, фреймами и даже другими приложениями.
Вадим: Которые слушают что-то на локальном порте, как-то это прокидывают. Магия. Я считаю, что мало кому приходилось с таким работать. Всем советую сходить на этот доклад.
Олег: А есть ещё какие-нибудь доклады-любимчики? Пусть каждый выберет свой.
Женя: Трудно выбрать, все доклады хороши, ведь иначе они бы и не попали в программу :-) Если вы всегда хотели понять GraphQL, но не знали, как — советую сходить на Павла Черторогова. Он отлично разбирается в этой теме и понимает, как это всё работает. Сложность таких тем состоит в том, чтобы просто объяснить непростые вещи. Поэтому мы постарались найти золотую середину между хардкором и «легкоусваиваемостью».
Рекомендую сходить на Алексея Золотых, у него определённо есть свой стиль, и он мне очень нравится (и не потому, что Лёша работает в Wrike). Ещё есть Вова Дашукевич, который выжмет все соки из WebAssembly. Казалось бы, тема достаточно заезжена, но в этом докладе будет присутствовать… квантовый компьютер! Неожиданно, так что советую сходить.
Интересный факт, что Программный комитет поспорил между собой: каждый выбрал себе спикера, и в итоге выиграет тот, чей спикер по итогам голосования зрителей получит лучшую оценку. Посмотрим, чья возьмёт.
Что касается кейноутеров: ну что тут сказать, состав звёздный, и если про Крокфорда добавить нечего, то могу сказать пару слов про Минко Гечева. Если вы из мира Angular, вы должны его знать. Он — автор Angular Performance-Checklist и суперкниги «Switching to Angular — Third Edition». В общем, я бы даже, наверное, рекомендовал ему поменять фамилию на ng-echev
:-)
Дмитрий: Сильно рекомендую идти на Лобова. С одной стороны, он вроде рассказывает про TypeScript, поддерживает его и всё такое. Но доклад получается, по крайней мере для меня, лучшей антирекламой TypeScript. Антон раскрывает истинную динамическую суть TypeScript, хотя тот пытается быть таким статическим. Будет полезно не только фронтендерам, а вообще всем. Ещё из докладов-любимчиков — Егор Малькевич с докладом о воровстве данных. Он рассказывает, как с помощью Puppeteer и других инструментов можно добывать данные из интернета в случае, если нету API. Благодаря тому, что я его послушал, я уже применил полученные знания в недавнем внутреннем хакатоне по Data Science в Одноклассниках. Я предложил простую вещь: давайте спарсим Kassir.ru и KudaGo. Естественно, публичных API у них нет. Попробуем порекомендовать коллегам концерты, на которые они могут сходить с учётом того, что они у нас в Одноклассниках слушают. Получилось достаточно прикольно. Как раз без Puppeteer и схем Егора я бы сам, наверное, до такого не дошёл. Но Puppeteer позволяет очень хорошо доставать всё, что нужно, даже если там какое-то сложное JS-взаимодействие, в частности, отскралливаемые списки, если нужно нажать на кнопку и подождать каких-то действий. Если вы хотели автоматизировать себе какие-то вещи, если ваши подкасты выходят без RSS, вы часто что-то проверяете или хотите достать кучу концертов и тупо сматчить их со своим плейлистом в iTunes, или вам для чего-то нужно добыть данные, которые не очень легко добываются и так далее, советую идти на этот доклад. Ну, и подача у Егора хорошая.
Олег: А какая у вас была скорость этого решения про билеты? Там же есть время вытягивания страниц на парсинг.
Дмитрий: Я писал так, что не загонялся на время. Грубо говоря, поставил парситься данные за несколько месяцев, вышел курить. Задача у меня была добыть данные, а не добыть их быстро. Для Data Science и Big Data объёмы смешные. Я парсил Питер и Москву, и, если грубо округлить, на Питер приходится около тысячи событий, на Москву — около полутора. Поэтому оно достаточно быстро доставалось, и никаких сильных заминок у меня не было. Даже при абсолютном незнании инструмента такая вещь пишется за день.
Олег: Кстати, а парсить Одноклассники вообще имеет смысл? Там есть какое-то вменяемое API?
Дмитрий: Если вменяемое API, то что-то можно и напарсить, если очень хочется. И ещё назову Михаила Удалова и его «Inter Windows Communication, или Как построить полноценный RPC в браузере». Также очень хочу увидеть Пашу Черторогова. У него доклад про GraphQL, и он действительно его использует. Из всех, кого я знаю, это единственный живой человек, который использует GraphQL в проде, так что он по-своему уникален, как и ребята из Wrike с Dart. Поэтому, если вам интересен GraphQL, Пашу надо ловить и разговаривать с ним.
Михаил: Доклад Виталия Слободина «Headless browsers: что, как и почему». Виталий на протяжении долгого времени был мантейнером PhantomJS. Он мантейнил всю вторую версию PhantomJS, будет рассказывать про headless browsers и как можно с их помощью парсить данные и тому подобное.
Олег: Я правильно понимаю, что у PhantomJS сейчас нет поддержки?
Михаил: Нет больше поддержки.
Дмитрий: Виталий — это человек, который закрыл Phantom. Вышел Headless Chrome, то, над чем написан Puppeteer. Chrome поддерживается компанией Google, а Виталий, как я понял, там оставался уже один.
Михаил: Да, в последнее время был один. Там какие-то минорные мелочи закидывали в pull request. Также достаточно интересный доклад у Дениса Радина, он будет рассказывать про WebGL и как работать с ним на фронте, про шейдеры, как их использовать, покажет, как написать первый шейдер и как вообще сделать спиннер на шейдерах на WebGL.
Олег: Вроде бы графика — это очень сложно, а тут и обычный человек может взять и написать шейдер для веба?
Михаил: Именно. А у Emil Bay шикарный доклад про хэш-функции.
Дмитрий: Он рассказывает о том, как применять хэш-функции для всяких хитрых вещей, вроде уникального отпечатка документа и так далее. Ещё вспомнил один интересный для меня доклад. Я увлекся программированием из-за игр, и у нас будет Александр Коротаев, который в браузере запилил своих, третьих, героев, рассказывает про многие интересные вещи. В принципе, какие вообще основные части есть у игры, как он что-то улучшал, что делать, чтобы герои нормально работали. Там действительно очень интересные вещи происходят с картой, с рисованием, с хранением данных для рисования, стыкуются миры, где ООП — это плохо, и миры, где без ООП— плохо. А ещё он обещал показать кое-что забавное для JavaScript-сообщества: обоснованное использование хитрых операторов для булевой алгебры, зачем нужны всякие побитовые сдвиги, как на основе этого сделать какие-то интересные структуры данных, с которыми хорошо работать. Что очень важно: его примеры не академические, которые в книжке мужики написали, и окей, завтра пойду внедрять на продакшн. Он объясняет, зачем это, и показывает уже реально готовую рабочую вещь. Мне кажется, это уже качественно другой подход к объяснению таких штук. Естественно, это очень опасно для хипстеров — они могут потом это растащить и применять, где надо и где не надо. Рекомендую хипстерам сходить на что-нибудь другое для сохранения в норме своего продакшн-кода.
Вадим: Ещё хотел по Коротаеву заметить, что на этот доклад можно сходить хотя бы ради ощущения, как будто ты снова в школе, прогуливаешь последний урок, и вы с друзьями идёте играть в «Герои»… А потом родители приходят на обед, и ты получаешь люлей за то, что монитор ещё тёплый.
Олег: Кстати, а этих героев можно посмотреть где-нибудь вживую, или это его маленький личный проект?
Дмитрий: Они выложены у него на сайте, в его презентации будет ссылка, поэтому давайте сохраним интригу и уже на докладе всё узнаем. Чтобы смотреть на них не просто «Ой, он тут что-то нарисовал, тут что-то чуть-чуть по-другому», а чтобы понимать матчасть, и после взгляда изнутри посмотреть, как оно там, снаружи.
Михаил: Ещё хотел бы отметить доклад Романа Дворнова. Мы пока не будем раскрывать деталей, но, думаю, будет классно.
Вадим: Роман сам для себя заметил, что никогда бы не подумал, что будет рассказывать про React.
Михаил: А ещё доклад Алексея Богачука про безопасность.
Дмитрий: Тема безопасности у Алексея хорошо, всесторонне проработана, там будут очень хорошие примеры, которые могут заставить задуматься и снести все extensions в браузере.
Вадим: Алексей работает в EPAM, они работают с разным кодом — своим, чужим и так далее. Всё это нужно подводить под одну рамку security. Они вводят в продакшн Continuous Integration и пентестерские ПО, которые автоматически проверяют сайты и приложения на уязвимости, а в промышленных масштабах проверяют на секьюрность.
Олег: Так что, удалить все расширения в Chrome или нет?
Михаил: Я не пользуюсь Chrome, у меня Safari.
Олег: Кстати, вы заметили, что Firefox теперь уже как клон Chrome, у него отвалились все старые расширения, остались только web extentions?
Михаил: Это Firefox Quantum? Это полностью их новых движок, насколько я помню.
Вадим: За счёт того, что у них всё с нуля, они снесли всё старое, переписали на Rust. Rust как раз и писался для того, чтобы можно было безопасно запускать сколько угодно табов и следить за этим с меньшим количеством ошибок.
Дмитрий: Жалко только, что он стал похож на Ubuntu. Так забавно: сидишь на Mac, открываешь, а тебе Ubuntu показывает. Очень уютно.
Михаил: Продолжая про доклады, выделю также Андрея Мелихова, которые рассказывает про очень интересную штуку в React Native, и это будет не success story.
Дмитрий: Мы ещё не касались кейноутеров. И хотя на них и так все идут, давайте всё-таки скажем пару слов. Как я понимаю, впервые в Москву привезут Виталия Фридмана, создателя Smashing Magazine, а также создателя JSON Дугласа Крокфорда.
Михаил: Также будет Лиа Веру и Азат.
Вадим: Азат пишет книги по Node, и, как я понимаю, на Западе он популярен и как спикер, и как человек, на чьих книгах учатся.
Олег: Я учился на книге Дугласа Крокфорда «The Good Parts».
Дмитрий: Да, до сих пор это одна из лучших книг по JavaScript, несмотря на то, что столько лет прошло.
Олег: А Лиа — это та девушка, которая написала фреймворков больше, чем некоторые люди вообще знают слов?
Михаил: Это рядом с JS, но плотно туда не входит.
Дмитрий: У неё недавно была какая-то интересная штука, как на чистом HTML запилить TodoMVC с небольшими расширениями. Про это много писали, но что-то пока никак.
Олег: Да, последний её фреймворк Mavo. На сайте написано: «HTML-based language for creating web applications without programming or a server backend».
Михаил: Я не слежу за этими тенденциями, вместо этого я работаю в ПК :)
Олег: Ты ещё скажи, что ты свой фронт не переписываешь четыре раза в год при выпуске новых версий фреймворков.
Дмитрий: Нет.
Олег: Ничего себе. А на чём ты пишешь, кстати?
Михаил: На ClojureScript.
Олег: Это голый ClojureScript, там нет поверх него чего-нибудь?
Михаил: Reagent. Типа React, обёртка для имплементации React.
Олег: У тебя, случаем, нет по этому поводу никакого доклада?
Михаил: Да, один готовлю. В следующем году.
Олег: Интересно было бы послушать. А если ты делаешь доклад, реально при этом ещё и успевать работать в Программном комитете?
Михаил: Я думаю, это крайне сложно.
Олег: А какую часть вашего дня отнимает эта работа в ПК?
Михаил: По-разному. Бывает, час, бывает, больше, бывает, времени на ПК совсем не остаётся.
Вадим: У кого-то был рекорд, кажется, четыре часа. Там было четыре созвона в день, если не ошибаюсь.
Дмитрий: Четырёх не помню, но у меня было как-то раз, что я всё воскресенье сидел и отмечал статусы. Самая жесть — это когда только начинают приходить заявки, обычно прямо перед закрытием. Достаточно много созваниваемся. Нужно каким-нибудь Puppeteer-ом спарсить наш слэк, но я думаю, человек 90 мы отсмотрели. Причём были доклады, которые мы старались прорабатывать, но они, к сожалению, не попали в программу, потому что не удалось дотянуться до того, чего хотелось бы. Большое спасибо за работу хочется передать Максиму Щепелину из Wargaming. Он много работал, и мы очень надеемся, что в следующий раз он всё доделает, потому что тема у него интересная — встраивание Chromium в нативные клиенты. Он рассказывал про World of Tanks, как они используют там вебовую часть. Сам я, играя в World of Tanks, не знал, что там есть какой-то HTML.
Вадим: Я думаю, ещё можно передать спасибо Калининой Александре.
Дмитрий: Да. Тоже очень много работали, возможно, даже больше всех. Она всё перелопатила, было три-четыре созвона, иной раз больше часа. У неё была очень интересная тема о нодах в работе с big data. Но ей, перед тем, как делить доклад на части и рассказывать про каждую часть отдельно (например, парсинг валидации), нужно было рассказать про проект в целом. И, к сожалению, для HolyJS такой рассказ про проект занимает около часа, чтобы понять все части до того, как начинается хоть какой-то код. Я очень надеюсь, что Александра расскажет об этом в течение года, потому что такое нельзя в себе таить. И придёт к нам уже с проработкой какой-то конкретной части, не будет подгоняться из-за того, что рассказывает вне контекста, сможет дать ссылку на основное описание проекта, чтобы его могли посмотреть заранее.
Вадим: А когда выйдет с вами серия подкаста Drinkcast от SPB Frontend?
Михаил: Первого декабря.
Вадим: Там Миша и Женя рассказывали про HolyJS, общались с SPB Frontend. SPB Frontend — это петербургское сообщество фронтендеров, устраивают локальные митапы, у них есть свой Drinkcast, есть почтовая рассылка. Это комьюнити, они каждый четверг собираются на завтраки и частенько ходят в бар попить пива и пообщаться. Мы также участвуем в соседнем дружеском сообществе PiterJS, но напрямую в организации фронтенда никто не участвует. Вот раньше, как я понимаю, до HolyJS 2017 Moscow SPB Frontend занимались в Программном комитете HolyJS.
Олег: Вопрос про ПК как раз: вы в первый раз участвуете в Программном комитете или это долгая история? Если это не в первый раз, расскажите, в чём разница с предыдущим HolyJS, как шла эволюция конференции, если она вам как-то видна?
Михаил: В прошлый раз нас тоже было четверо. Был я, Женя, Денис Мишунов и Антон Воскобович. Мы отслушали около 70 заявок, но в прошлый раз мы слушали всех нон-стопом, всё прогоняли. За три месяца до конференции, если посмотреть на календарь, ежедневно, в будние дни с семи вечера по два-три созвона всегда было. И мы всегда сидели на этих созвонах. Сейчас же мы уже делились, работа была более оптимизирована, поэтому было попроще.
Вадим: Мне кажется, если сравнить по данным прошлого года (таски в Jira и так далее) и отзывам Жени, он говорит, что в этом году был бум докладчиков и достаточно большой конкурс, из-за чего пришлось многим отказать, что очень жалко, потому что докладчики все хорошие. В любом случае, сама заявка на доклад, созвон — это уже работа. И эту работу нужно сделать, чтобы видеть, что люди заинтересованы. И поэтому очень не хотелось отказывать. В один момент, Женя предложил сделать четыре потока, чтобы вместить побольше людей.
Михаил: Но четыре потока — это слишком много, люди будут путаться, будет неразбериха. Мы вообще, когда только начинали, сетовали за два потока. Мне кажется, три — тоже много.
Андрей: Если вернуться к вопросу, чем эта конференция отличается от предыдущих HolyJS, я бы отметил, что у нас спикеры сами стали рекомендовать своих друзей-приятелей. Может быть, я ошибаюсь, но мне показалось, что у нас очень много людей пришло, потому что им кто-то показал, посоветовал. Начал работать эффект брошенного камня — волны пошли.
Олег: То есть у нас формируется такое сообщество спикеров.
Андрей: Сообщество любителей HolyJS.
Михаил: Это так, я действительно рекомендую выступать друзьям-спикерам.
Андрей: Я не знаю, насколько это интересно людям, но я бы сказал следующее. Зачем мы раньше созванивались все сразу? Ребята из SPB Frontend вот как делали: они поделили всех людей на три части и сказали — вот это твоя часть, а это — твоя. И каждый вёл своего. А потом просто все на синкап приходили и говорили, кто им понравился, а кто — нет. Не было какого-то выраженного комитета. Было просто много-много мнений, и они друг с другом не пересекались. Сейчас я вижу инструментарий. Ребята придумали свою систему рейтингов в Google Docs, и это стало сильно упрощать жизнь, потому что люди смотрят на чужие оценки, и уже есть, о чём поговорить. Плюс, стали больше вовлекаться в кросс-ревью. То есть не бывает такого, что один посмотрел, а другой — нет. Сейчас по-другому, и мне это очень нравится.
Олег: А отзывы о прошлых конференциях учитываются при выборе сложности докладов?
Андрей: Когда мы начинали, хотели делать побольше хардкора. Но для других конференций мы делали по-другому. Верно? Может, ребята поправят. Смотрели, сколько докладов различной степени сложности было в прошлый раз и попробовали усилить сложность этих докладов. То есть, если было 10+10+10, условно говоря, «смузи»+«бородач»+«хардкор», то мы пробовали сделать 8+8+14. Вот в таком направлении думали. Надо посмотреть статистику, я не уверен, что это — правда.
Дмитрий: Мы старались найти наиболее информативные доклады, особенно старались вытягивать такие доклады, где у человека есть действительно классная тема, и он может сделать какой-то хардкор. Доклад должен быть хорош ещё и как шоу, и если у хардкорного доклада вот эту шоу-часть нужно дорабатывать — мы очень сильно вкладывались, чтобы помочь сделать всё хорошо. Выбирая между более интересным и более зрелищным докладом — лучше выбрать более интересный. В частности, у меня были проблемы с обороной от коллег некоторых спикеров!
Михаил: Считаешь, ты справился?
Дмитрий: Нет. Я ужасно недоволен. Хочу больше, больше жести!
Михаил: Как быть джунам и мидлам? Вдруг они ничего не поймут.
Дмитрий: Пусть лучше видят то, что совершенно непонятно, но реально вдохновляет. По крайней мере, на меня всегда производило впечатление, когда ты что-то в докладе не понял, но одновременно осознал, насколько это прикольно и круто. И на мой взгляд, конференция, кроме общения, должна давать возможность повысить свой скилл. Хотя бы несколько докладов должны быть такие, что ты будешь рекомендовать их не один год.
Женя: О да, Дима у нас — ответственный за хардкор. Но мы стараемся сделать так, чтобы всем было интересно, и матёрым архитекторам, и тем, кто, может быть, только приходит в профессию.
Вадим: На самом деле, хорошо, что в Программном комитете достаточное количество синкапов и обсуждений, которые вызывают споры и проявляют разные точки зрения. За счёт этого мы сами для себя понимаем свои приоритеты, и это позволяет направить доклад в более правильное русло. Голос на голос не приходится, и в результате получается очень хорошая работа.
Андрей: Вадим, я бы добавил к твоим словам, что два года назад у нас не было еженедельных синкапов, не было регулярных встреч. И это было очень большой проблемой. Мы зачастую не понимали, сколько у нас докладов, в каком статусе. Люди что-то забывали, не успевали и так далее. Синкапы реально ускорили работу и повысили эффективность.
Олег: Кстати, я сейчас глянул — у нас есть доклады на совершенно разные темы. Даже, внезапно, есть доклад по Security, хоть у нас и фронт. Был ли какой-то ценз по объёму докладов на направление? Например, больше 100500 докладов по React не делать.
Женя: Мы ставим теги заявкам, и поэтому можем понять, какие темы у нас охвачены, а какие — нет.
Вадим: Хочу поправить, во-первых, что это не фронт, это JavaScript. JS — уже совсем не фронт. Это давно и бэкенд, и фронтенд, и мобильники, и всё, что угодно. JavaScript уже везде, с этим трудно спорить. Поэтому идея разрабатывать популярные направления никуда не исчезает: да, React популярен — значит нужен React. Но мы к этому специально не стремились. Мы отбирали больше по качеству контента. Не всегда хайповый доклад хорош. Если бы мы размазали программу вообще по всем технологиям, могло бы получиться, что не прошёл бы более интересный контент, а для нас интересный контент — более приоритетная вещь.
Дмитрий: У нас были мысли, что не должно быть больше N докладов по React или Angular. Но, что действительно хочется отметить, тут я очень согласен с Вадимом, мы старались смотреть на контент. Кроме того, у наших спикеров всё очень разностороннее. Возможно, количество людей, которые пришли с React, даже если считать не прошедших планку качества, не дотянуло до нашего финального ограничителя. Ребята приходят с совершенно разными вещами, и это очень интересно! Вот человек, который пишет IDE. Вот человек, который занимается коммуникацией между окнами. Вот человек, который грабит данные из интернета. Вот человек, который люто профилирует. Вот человек, который вообще на С++ писал headless-браузеры. Вот создатель JSON. Очень разносторонняя программа, с широким охватом тем получилась. И это действительно очень круто.
Андрей: Node.js нам не хватало на прошлой конференции. По желаниям наших слушателей, в этот раз её стало побольше. Также у нас есть Азат, который в прошлый раз почему-то не смог приехать. Как минимум четыре доклада про Ноду получается.
Олег: Давайте какое-нибудь заключение, наставление, напутствие дадим нашим читателям-слушателям?
Михаил: Приходите, познавайте. Подавайте доклады.
Олег: Подавайте доклады уже на следующую конференцию, ведь HolyJS Moscow 2017 — уже через неделю.
Андрей: Тем, кто дочитал до конца интервью — небольшой сюрприз. Мы уже знаем дату следующей HolyJS, но пока не скажем :) Если хотите выступить, но сейчас не успели, то в следующей итерации обязательно приходите. Но об этом мы сообщим отдельно.
И ещё одно напутствие от меня. Когда мы разбирали фидбэки докладчиков с прошлого раза, то обнаружили, что спикеры пишут: «Всё, конечно, понравилось, но я чувствовал себя потерянным, не знал, с кем пообщаться, ко мне никто не подходил и не задавал вопросы, я скучал». Рекомендация от меня: приходите и поговорите хотя бы с пятью незнакомыми людьми. Чтобы не было потом такого, что вы чувствуете себя одиноким.
Дмитрий: Обязательно подходите к спикерам, не нужно стесняться, ребята все очень общительные, никаких лютых социопатов среди докладчиков не замечено. Если страшно просто так поймать за руку докладчика — ходите в дискуссионные зоны. Спикеры могут ответить на множество вопросов. В частности, Саша Коротаев боялся углубиться в хардкорность. Поэтому если вам сама презентация показалась недостаточно хардкорной — ловите Сашу, он может очень много раскрыть, если его лично поймать. По себе знаю, что всегда можно ловить Рому Дворнова, он готов очень хорошо объяснять тему, которую рассказывает на докладе.
Андрей: На конференции есть не только спикеры, но и Программный комитет, просто какие-то известные люди в мире JS, разработчики, коммитеры. Не стесняйтесь задавать им вопросы. Несмотря на то, что они не выступают, они могут поделиться опытом, с ними просто интересно потусить.
Дмитрий: Да, нужно понимать, что, если ребята не выступают, очень часто это происходит не потому, что им нечего рассказать, а потому, что нет времени на подготовку доклада, вырывание из контекста. А вот на вопросы они ответят охотно.
Вадим: Ещё стоит перед конференцией поесть шоколада, подготовиться. Два дня будет поток очень концентрированной информации, которую ещё переварить надо. Андрей, а афтепати будет?
Андрей: После первого дня точно будет афтепати для всех, с пивом и закусками.
Михаил: Да, тем, кто стесняется общаться — пиво точно будет, после этого все точно заговорят, и вы тоже заговорите :-)
Дмитрий: Напоследок хочу заметить: некоторые спикеры специально пытались уменьшать сложность своего доклада. Очень большой посыл: если хотите рассказать о чем-то действительно сложном — не стоит этого бояться. Приходите, рассказывайте. Мы постараемся объяснить, как рассказать какие-то сложные вещи для более широкой аудитории. Очень ждём, и будем рады.
Женя: У меня тоже есть пожелание будущим докладчикам. Не подавайте заявку в последний день Call For Papers!
А вообще, хотелось бы сказать: многие считают, что конференции не нужны, что всё можно прочитать в интернете. На это хочется ответить: приходите и посмотрите сами! HolyJS — это как будто засунуть в блендер 28 докладов, каждый из которых равен десяти статьям, разбавить двумя днями общения с профессионалами, присыпать афтерпати и выпить одним мощным энергетическим коктейлем для мозгов!
Олег: Спасибо за интересное и полезное интервью! Встретимся на HolyJS 2017 Moscow!
Автор: Олег Чирухин