5-6 апреля 2019 в Конгресс-центре ЦМТ прошел JPoint — на сегодняшний день, самая большая Java-конференция в России (пока не прошел новый Joker). Давайте вспомним, как прошёл JPoint, чего интересного там случилось… и начнём готовиться к Joker.
Под катом много картинок, и, соответственно, вам понадобится много трафика. В прошлый раз хабровчане попросили пережимать всё в JPG. Теперь так и сделано, но всё равно получилось весьма объемно.
Как всё прошло
JPoint 2019 — на данный момент самая большая Java-конференция в России и самая большая наша профильная конференция вообще. Это очень важное событие в истории российского сообщества Java-разработчиков.
К сожалению, именно от размера пошла и главная проблема: на конференции стало тесновато. На некоторых докладах люди не помещались в залы, и за это приносим глубочайшие извинения. Даже в дополнительном зале с трансляцией и на демо-стейдже случались овербуки. Есть ощущение, что вот это и есть настоящий размер конференции, которая может без дополнительных ухищрений поместиться в Центр Международной Торговли.
Как вообще так получилось? Место, где проводится конференция мы назваем коротко — «площадка». Площадка выбирается сильно заранее (минимум за год) исходя из планируемой загрузки, и потом, в случае больших расхождений с планом, решение может корректироваться. Загрузка залов — это ключевая вещь, мы за ней внимательно следим. За две недели до конференции людей было не то что с избытком, а даже чуть меньше запланированного — и ничто не предвещало проблем. И вдруг в самый последний момент люди резко и массово начали оплачивать новые билеты. Пока мы закрывали продажи, билеты приобрели еще 200 человек сверх плана. Что-то поменять было, очевидно, уже невозможно. Что делать в следующем году — вопрос. В Москве есть площадки больше, например, Крокус. Но Крокус — это очень, очень дорого, да и не совсем подходит по залам и оборудованию. Там низкие потолки, нерегулируемый свет, эхо в залах и что-то нужно делать со звукоизоляцией. Есть Сколково, но это вообще не то — все залы маленькие, на 100-200 человек. Там тоже низкие потолки — настолько, что экран нормально не повесить, и тоже вопросы к оборудованию. Так что да, найти хорошую площадку для следующего JPoint будет непросто. Но не волнуйтесь, мы что-нибудь придумаем.
В остальном же конференция удалась на славу. Даже доклад «Игра в Бога», который вообще не про Java и поэтому мог вызвать неоднозначную реакцию, обернулся большим успехом. Спикеры тоже воодушевлены. Кто-то из них обсуждает, как получить многоразовую визу в Россию (как вы, наверное, знаете — с визами в Россию всегда есть некоторые сложности). Кто-то измеряет, сколько часов он простоял в дискуссионной зоне и собирается в следующий раз обогнать коллег. Интересные отзывы от спикеров о том, что немногие Java-конференции в мире могут сравниться по уровню организации и, выбирая между ними и JPoint, они выберут именно его. Кажется, ставка на качество начала давать долгоиграющие позитивные последствия.
Фотографии и видеозаписи докладов
Если вы участвовали в конференции (неважно — вживую или в онлайн-трансляции), то все почищенные и порезанные видео появятся у вас совсем скоро. А вот всем остальным придётся подождать не менее чем полгода, мы планируем выложить записи ближе к Joker 2019.
Первые фотографии уже есть в нашей группе во ВКонтакте. Остальные фотографии будут где-то через десять дней.
Дальше в этом посте описываются события примерно в том порядке, как они происходили на конференции: открывающий кейноут, доклады, закрывающий кейноут, бофы и так далее.
Открывающий кейноут Антона Кекса «The world needs full-stack craftsmen»
Это очень необычный доклад, который утверждает, в том числе, что проект хотя бы без одного fullstack-инженера — мертв. Был интересный момент, когда Антон спрашивает: кто смог бы в одиночку переписать весь проект с нуля, если всю команду переедет грузовик? Поднимается лес рук. Следующий вопрос — получится ли у вас проект лучше, чем текущий? Скорей всего, да — по крайней мере, тут было тоже достаточно рук. Но потом по ходу доклада оказывается, что просто написать код с нуля недостаточно. Нужно общаться с клиентом напрямую, предлагать решения, дизайнить UI и так далее и тому подобное, туча слайдов со списками. Антон продолжает набрасывать и набрасывать навыки — в результате дискуссия не обрывается с концом доклада — в дискуссионной зоне собралась целая толпа участников, продолжающих обсуждение темы.
Доклады первого дня
Очевидно, что мы с phillennium и golodnyj большинство докладов посмотреть не смогли, потому что большую часть времени провели, занимаясь интервью, общением с компаниями, спикерами и так далее. Так что, наверное, пост с обзором докладов лучше бы написать кому-то другому. Но у тебя, дорогой читатель, сейчас есть только я, поэтому расскажу я только о том, что сам успел посмотреть!
Во-первых, это весьма прорывной доклад «Create your own interpreter with a JIT in 1 hour» от Charlie Gracie. Кстати, сколько ещё людей с должностью Garbage Collection Architect вы знаете? Не уверен, что эту должность даже стоит сокращать как «GCA в IBM». Представьте, вы — Чарли, приходите на встречу и представляетесь: «Я GCA в IBM». И все вокруг такие: «Он — кто???» Короче. Ожидаемо, Чарли не стал рассказывать, как построить мир за 7 дней без использования фреймворков, а принёс свой Eclipse OMR. Пишем интерпретатор, интерпретатор становится компилятором, в теории всё просто, на практике — нужно понимать много нюансов. Как минимум, там везде C++ и код, в который нужно вникать. Чарли кодит прямо на своём макбуке, зачастую при C++ программировании это фатальная ошибка (потому что баги искать долго), но у Чарли всё проходит гладко. Ах да, слайдов у этого доклада нет, и как делать расшифровку лайвкодингга на Хабр — непонятно.
Вторая очень достойная штука, «Сказ о том, как мы алгоритм каналов в Kotlin Coroutines делали». Здесь слайды уже есть. И можно сказать, Никита — король слайдов, ибо по слайдам всё понятно, и там даже есть кое-что, что не проговаривалось словами вживую. Когда-то я написал шуточную статью о том, почему Kotlin — это плохо(судя по 321 предельно серьёзному комментарию, никто не догадался, что это шутка). На самом деле, Kotlin — это фантастическая штука, которая создаётся и разворачивается прямо на наших глазах. Когда создавались корутины, в рантайме не было для них поддержки — и до сих пор нет, Пресслер отказывается даже примерно намекнуть на дату релиза. Каким же образом всё это работает в Kotlin, как оно вообще может работать? И вот на сцену выходит волшебник и показывает секреты своих величайших фокусов. Ну ладно, с тем уточнением, что они ещё не зарелизили то, о чём рассказывает Никита — всё равно отлично. Конечно, надо бы что-то покритиковать, и вот вопрос: какой вывод может сделать из этого доклада обычный разработчик? И хотя собственно о Kotlin в докладе ни слова, по мне так это отличная история для расширения кругозора (и именно так об этом и говорит Никита во вступительном слове), но все желающие отыскать в нём какие-то навыки для мгновенного применения могут оказаться глубоко оскорблены.
В-третьих, это «Нас Spring Boot, а мы крепчаем: невыносимая легкость AOT-компиляции Spring-приложений» от Никиты Липского (pjBooms). Это очень популярная сейчас тема AOT-компиляции, да ещё и на примере Spring Boot, про который интуитивно кажется, что AOT с ним работать не должен. И в GraalVM оно действительно не работает (Spring Fu не в счёт). А в Excelsior JET оно работает, и это ещё одно большое колдунство. Как всегда, я рассматриваю это скорей как доклад для увеличения кругозора: ты начинаешь лучше понимать, как работает Spring, как работает Java вообще — почему разработчики языков и рантаймов выбирают именно такие решения, а не какие-то другие. Ты ближе понимаешь проблемы современных облаков, и так далее. Ну наверное, если у вас есть купленный JET, это ещё и чисто рабочий вопрос, но у меня такового пока нет.
Все доклады первого дня (со ссылками)
Олег Докука, Simon Ritter, Егор Бугаенко @yegor256, Charlie Gracie.
Kohsuke Kawaguchi, Дмитрий Чуйко, Victor Rentea, Tomasz Nurkiewicz.
Sebastian Daschner, Allard Buijze, Thomas Wuerthinger, Никита Коваль @ndkoval.
Сергей Егоров, Bernd Rücker, Юрий Артамонов, Никита Липский.
René Gröschke, Александр Ноздрин-Плотницкий, Chris Hegarty, Кирилл Толкачёв и Евгений Борисов.
Demo Stage
На демо-стейдже можно было послушать разнообразные доклады. Например, вот Александр Белокрылов alexbel из BellSoft расказывает о Liberica:
Воркшоп Thomas Wuerthinger
Томас специально для нас выделил время и провёл воркшоп. Он хотел работать с очень небольшой аудиторией (так получается эффективней), поэтому мы не делали больших анонсов: велик был шанс, что после его доклада весь зал встанет и переместится на воркшоп, а это сильно больше планируемых 20 человек. В результате всё получилось отлично.
BOF
BOF — теперь уже традиционный формат на наших конференциях. Что-то вроде круглого стола или дискуссионной группы, в которой могут принять участие все желающие. Этот формат исторически восходит к первым неформальным дискуссионным группам Internet Engineering Task Force (IETF). Здесь нет деления на докладчика и участника: наравне участвуют все. Тем не менее, на каждом бофе есть модератор, направляющий дискуссию, и как минимум несколько признанных экспертов — все вместе они составляют ядро, с которого начинается дискуссия, а дальше — как пойдёт.
Microservices, cloud и куда все это двигается (RU)
Участники: Олег Анастасьев, Дмитрий Чуйко, Александр Ноздрин-Плотницкий, Владимир Плизга Toparvion, Максим Гореликов somemaxim;
Модератор: Кирилл Толкачёв.
Reactive — today's need and future perspectives (EN)
Участники: Сергей Егоров bsideup, Олег Докука, Tomasz Nurkiewicz, Вадим Цесько;
Модератор: Антон Архипов.
Rumble in the Java jungle (Oracle JDK, your own OpenJDK build, alternatives) (EN)
Участники: Александр Белокрылов, Simon Ritter, Bruno Borges;
Модератор: Volker Simonis.
Why does Java run slow? (EN)
Участники: Николай Иготти, Rafael Winterhalter, Андрей Паньгин apangin, Andrzej Grzesi, Владимир Ситников;
Модератор: Иван Крылов.
Интересно, что рядом со стендом Леруа Мерлен образовался стихийный BOF с участием Антона Черноусова golodnyj, Андрея Когуня, Алексея Абашева, Егора Бугаенко и остальных. Столько тепла и позитива!
Вечеринка
В конце первого дня была большая вечеринка, позволяющая немного остудить плавящиеся мозги. Естественно, сфотографировать всю огромную вечеринку на полторы тысячи человек не представляется возможным, поэтому вот вам мотивационная картинка.
Открывающий кейноут второго дня: Александр Панчин, «Игра в Бога. Перешла ли наука границу»
Этот кейноут вообще не про джаву. Он про вот что: учитывая последние достижения генной инженерии, продолжим ли мы играть в Бога или пора его переиграть?
Несмотря на то, что доклад временами касается довольно жутковатых вещей, Александр умудряется сгладить углы. Например, там, где речь идёт о «пушистом геноциде». Есть известная история о том, что в Австралии нет природных хищников, которые могут бороться с кроликами. И когда кроликов завезли, они сожрали там всё, на этой фотографии нет травы. Они активно размножаются и разрушают природные экосистемы. Никто не даст убить всех этих несчастных животных, но есть гипотетический пример, когда можно вывести специальных кроликов-мутантов, у которых после множества скрещиваний закончатся самки и они исчезнут сами по себе. При этом ни один кролик не пострадал, все занимались исключительно приятным процессом размножения.
Доклады второго дня
Расскажу ещё о парочке докладов. Точно стоило сходить на доклад Олега Шелаева, «Суперкомпиляция, partial evaluation, проекции Футамуры и как GraalVM спасет мир». Эту тему мы активно обсуждали в прошлом году в сообществе @graalvm_ru в Телеграме, и наконец-то, Олег приехал к нам с полноценным докладом. Это тема с острым вкусом патриотизма: начиная изучать документацию к Truffle, быстро натыкаешься на то, что теория построена на работах российских учёных прошлого века. Непонятно, как разработчики Graal с этим уживаются — скорей всего, они не умеют читать по-русски. Приятно, что ничего не забыто, и идеи новосибирских академиков наконец-то приобрели своё инженерное воплощение. А ещё там были ананасики! (шутка для тех, кто присутствовал)
Точно стоило сходить на «Атомарный рефакторинг в IntelliJ IDEA: прогибаем IDE под себя» Тагира Валеева (lany). Во-первых, потому что это Тагир. Во-вторых, потому что это что-то весьма практическое. Многие рефакторинги делают эквивалентные преобразования — но не все. Если у вас не сильно странная программа, то всё в порядке, но иногда она ломается. Иногда она ломается позитивно — например, можно заменить хвостовую рекурсию циклом, при этом семантика поменяется — программа перестает падать, но это даже к лучшему. Об этом и многом другом было в докладе Тагира, и я пересмотрел бы его ещё раз, когда появятся видеозаписи.
Более подробные разборы, наверное, нужно будет сделать в TOP-10 или каком-то таком традиционном для Хабра формате, где можно написать целую стену текста.
Все доклады второго дня (со ссылками)
Паша Финкельштейн @asm0dey, Андрей Паньгин, Sebastian Daschner, Simon Ritter.
Milen Dyankov, Николай Иготти, Иван Пономарёв, Олег Шелаев.
Michał Płachta, Григорий Кошелев, Marc Hoffmann и Евгений Мандриков, Тагир Валеев.
Владимир Ситников @vladimirsitnikov, Nikhil Nanivadekar, Владимир Плизга, Rafael Winterhalter.
Ольга Махасоева, Дмитрий Говорухин, Andrzej Grzesik, Антон Архипов.
Завершающий кейноут: Bruno Borges, «Making sense out of serverless computing»
Необычно видеть в качестве кейноутера на Java-конференции кого-то из Microsoft, ведь за долгие годы все привыкли, что Microsoft — это о .NET, C# и так далее. Сам по себе Бруно раньше работал Developer Advocate в Oracle. Он начал карьеру Java-разработчика в 2001 году, писал приложения на Swing, потом на JSP и Servlets, Apache Struts… И вот теперь он Developer Advocate уже в Microsoft. При этом даже в Microsoft он не пользуется Windows, использует Mac. Мы живём в удивительное время. Не последнее значение в этом играют облака, и вот об этом и есть весь рассказ Бруно. Как написано на одном из первых слайдов, «Serverless is a State of Mind», и это состояние подразумевает, что мы можем более свободно выбирать свои технологии, чем когда-либо раньше. Когда Бруно начинал доклад, он спросил, сколько людей используют serverless и рук было совсем мало. К концу доклада у многих людей, которые раньше и не задумывались об использовании serverless-технологий появилось желание их попробовать — вот это та особая магия кейноутных докладов, когда тебе даже не демонстрируют никакого шокирующего низкоуровневого хардкора, километров кода, а просто показывают большую картину всего происходящего — и для тебя это становится дорогой в будущее.
Выставка
Конференция проходила в Центре международной торговли (ЦМТ). При входе на площадку нас ждала красивая выставка, которую старательно обсутроили и наполнили активностями всевозможные компании. Написать обо всех компаниях и активностях не представляется возможным, их слишком много, поэтому, как всегда, накидаю несколько случайных фотографий.
На стенде Леруа Мерлен я задержался на секунду, чтобы понять, что это за странные железные штуки, и мне тут же предложили сосканировать QR-код. Угадайте, что было по ссылке.
На стенде Спортмастера и Райффайзенбанка играют в настольный хоккей:
Вот так люди обсуждают детали решения задач на стенде ТехЦентра Дойче Банка и выигрывают призы у Mediascope:
А на стендах Альфа-Банка и HeadHunter можно чиллить, общаться с сотрудниками и потреблять огромное количество кофе:
А ещё можно было к небольшой книжной лавке издательства Питер и приобрести первый том Егора Бугаенко. Если же писать по заветам этой книги не получается и кодирование — вообще не ваша тема, то можно попробовать себя в аджайле:
Что угодно становится лучше, если написать это на Kotlin!
Организация конференции и команда
Отдельное спасибо хочется сказать всем коллегам, кто участвовал в организации конференции и кто сейчас читает эту статью.
Кстати, это был первый JPoint, который начался без Алексея Фёдорова 23derevo, он в этот момент был в Порту на финале ICPC, но прилетел на второй день, и его можно было увидеть в спикер-руме.
Спикер-рум вообще очень интересное место, и там происходят свои интересные штуки, закрытые от внешнего мира. Например, Олег Шелаев умудрился несколько раз подряд прогнать свой доклад про проекции Футамуры и подправить слайды (и один из этих прогонов был со мной).
Лёша слева, а Олег — справа :)
Никто не замечает фотографов, а они есть! Благодаря им в этом посте столько снимков. По правде говоря, это единственный снимок фотографа, который у меня вообще есть — похоже, они сами себя не фотографируют.
Кроме того, тихо и незаметно работают операторы видеозаписи и видеотрансляции. У нас появилась новая система мониторинга видео и оборудования вообще в целом, спасибо Артёму Никонову, Максиму Звереву и остальным участникам этого подвига.
Кроме того, на площадке можно встретить программных координаторов — благодаря ним всё работает как часы.
Ну и наконец, залы и всё, что там происходит — это забота большого количества людей, которые могут решать любые возникающие проблемы. Проблем, кстати, не сказать чтобы было много — один раз микрофон начал ловить звук из соседнего зала, это быстро починили, и из серьёзного — это всё.
Можно продолжать ещё долго: рассказать о нашей собственной вайфай-сети (над которой колдует Максим Зверев), об онлайн-трансляции (которую обычно ведёт phillennium и я, olegchir), о докладах с демо-стейджа… Но так этот пост не закончится никогда.
Что дальше: Joker 2019
Давайте подведём итоги. JPoint 2019 завершён, он получился очень хорошим, и дальше нас ждут новые конференции.
У нас открываются продажи Joker, который состоится этой осенью, 25-26 октября. Прямо сейчас известно несколько докладчиков:
- Juergen Hoeller из Pivotal, сооснователь и предводитель Spring Framework;
- Mark Heckler — тоже из Pivotal, известный автор и евангелист облачных и IoT решений;
- Stephen Chin — директор Oracle Groundbreakers Team в Oracle, кейноутер конференции Java One, создатель Raspberry Pi with Java, соавтор Pro JavaFX Platform, председатель Oracle Code One Content;
- Олег Ненашев — разработчик core team в CloudBees, эксперт по разработке инфраструктуры и фреймворков для Jenkins;
- Антон Архипов — Developer Advocate в компании JetBrains, резидент подкаста «Разбор Полётов».
Кроме того, можно самому подать доклад — по ссылке есть хорошая инструкция, что для этого нужно сделать.
Информация о новых спикерах постоянно обновляется на сайте. Там же можно приобрести билеты.
Участникам прошлого Joker настоятельно стоит следить за своим почтовым ящиком, куда вскоре придёт письмо с промокодами.
В общем, оставайтесь с нами, встретимся на следующем Joker и JPoint!