Хабрахабр

«ПК», но не «персональный компьютер»: интервью с программным комитетом Joker

Кнопочки на сайте видны всем — но при взгляде со стороны можно никогда не задуматься о бэкенде, без которого эти кнопочки не работали бы. Любому Java-разработчику понятно, сколько важного остаётся незаметным для конечного пользователя.

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

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

— Для начала расскажите кратко о себе: кто вообще те люди, которые принимают важные решения о программе Joker?

Иван Крылов: Я ведущий инженер в компании Azul Systems, занимаюсь JIT-компиляторами и виртуальными машинами.

Сейчас работаю в компании КРОК, уже более 6 лет. Андрей Когунь: Я из Москвы, в IT более 15 лет. Преподаю для студентов московских вузов курсы по основам разработки с применением Java-технологий. За свою карьеру принял участие в большом количестве проектов по заказной разработке, в основном систем электронного документооборота и автоматизации бизнес-процессов для ряда крупных российских компаний в роли ведущего разработчика и архитектора. MSK. Основатель и организатор встреч московского сообщества Java-разработчиков JUG.

Занимался за последние четыре года многим: от манипуляций внутренними структурами Java-машины «на живую» в нативной памяти до управления on-call командой. Глеб Смирнов: Я работаю в компании Plumbr, мы делаем мониторинг надёжности и производительности. Сейчас мы уже не настолько стартап, и я больше сфокусирован на надёжности наших собственных сервисов.

Работаю архитектором в T-Systems. Дмитрий Александров: Я родом из Петербурга, живу в Болгарии. Люблю Java, обладаю званием Java Champion, лидер болгарской Java User Group, организатор множества конференций внутри страны (например, JPrime).

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

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

Я committer в Apache JMeter, Apache Calcite, PostgreSQL JDBC. Владимир Ситников: Я занимаюсь оптимизацией производительности Java/Oracle DB приложений в компании Netcracker. Мне нравится узнавать новое, и я помогаю готовиться докладчикам на конференциях Joker, JPoint, Devoops, Heisenbug.

— Как вы попали в ПК?

Затем со мной связался Лёша 23derevo Федоров и предложил сделать доклад. Глеб Смирнов: Какое-то время назад писал много статей на Хабре в хаб Java, они тогда собирали много плюсов. Но на подготовку новых хороших докладов нужно очень много времени, и я перестал. Несколько лет я активно выступал на конференциях по всему миру, в том числе Joker. Выяснилось, что можно потратить столько же времени в год, как на подготовку собственных докладов, только в результате получится не один доклад, а куча. А потом меня позвали в ПК, и я прижился, мне понравилось. Это здорово. Просто не у тебя, а у других людей.

Всё так. Владимир Ситников: Как с языка снял!

Иван Крылов: В первый раз я попал на Joker как участник, через какое-то время стал докладчиком и выступал на нескольких конференциях, а в этом цикле решил попробовать себя в ПК.

Я помню историю Joker ещё с тех ранних времён, когда у этой конференции не было программного комитета, и программой единолично занимался Андрей Дмитриев. Андрей Когунь: Я достаточно давно участвую в ПК всех Java-конференций JUG.ru Group, а также состою в ПК DevOops. Но затем конференция выросла, вышла на серьезный уровень, а все очевидные докладчики уже побывали, и надо было расти за счёт новых. Тогда с докладчиками было легко: бери и зови очевидных людей, многие были из Oracle. Для меня принципиально участвовать в чем-то таком, где я не зарабатываю деньги, но приношу какую-то пользу. Тогда появился ПК, и мне кажется, от этого сама конференция стала лучше.

Виктор Полищук: Сейчас расскажу, почему я согласился участвовать в ПК и взял на себя эту ответственность, хотя представлял себе объем работы, а сам на этот Joker даже не приеду.

А сейчас пришло время вернуть должок. Когда я раньше ездил на Joker, JPoint и другие конференции, там всегда были под капотом какие-то организаторы, и они что-то делали, чтобы я получал свои знания.

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

— Что именно делает программный комитет?

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

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

Я понимаю и о чем говорят на Западе, и какая публика у нас. Дмитрий Александров: Учитывая, что у меня большой конференционный опыт (и не только в России), я считаю, что я относительно в тренде. И есть много случаев, когда крутейшие европейские спикеры у нас проваливались, не отвечая этим требованиям. Например, множество европейских докладов у нас просто не пойдут, потому что мы хотим хардкор, хотим case study, хотим детали, очень четкое и понятное изложение. Очень много таких нюансов. Поэтому в ПК важная работа заключается в том, чтобы понять, действительно ли тема актуальна для конференции, применима ли она и как ее рассказывает докладчик с учетом нашей специфики. Я знаком со многими зарубежными спикерами и пытаюсь привезти их в Россию, объясняю им нашу специфику.

— При подготовке конференции каждый участник ПК отвечает только за конкретные доклады, закреплённые за ним, или вы пересекаетесь?

Поэтому мы стараемся брать такие области, чтобы было определенное пересечение и хотя бы два человека составили полноценное мнение о докладе. Иван Крылов: У нас есть пересечения по следующей причине: важно, чтобы не было ситуации, при которой мнение одного человека все определяет.

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

Порекомендуете что-то конкретное заранее? — Какие доклады на Joker 2018 вы курируете?

В этом году я, например, отвечаю за «Интеграцию виртуальных машин . Глеб Смирнов: Мне ближе всего темы с более низкого уровня: устройство JVM, профилирование, всякие кишочки. Особенно примечателен своей необычной для Java-конференции перспективой. NET и Java» от Григория Кошелева, интересный доклад. NET — а Григорий, наоборот, рассказывает, как из . Обычно все говорят про то, как из Java дергать native, например, в тот же . NET пробраться в Java-машину.

Там про то, как собрать, используя фичи из Java 9, минимальный образ Java-машины и поставлять его на клиентские сервера без необходимости иметь уже там готовую Java-машину. Ещё порекомендую доклад «Jlink и Custom Runtime Image» от Юрия Артамонова.

Про то, как ты вроде обновился на второй Spring Boot, а потом ещё несколько недель ходишь и собираешь шишки на лбу. Но не все доклады низкоуровневые: например, я курирую доклад Владимира Плизги «Spring Boot 2: чего не пишут в release notes». Владимир тщательно описывает грабли и даёт много толковых рекомендаций по тому, как на них не наступить.

В целом я прикладной разработчик. Андрей Когунь: Раньше мне хотелось ревьюить доклады, в которых я что-то понимаю, например, про Spring. Я все чаще смотрю на все это так, что я как член ПК могу первым увидеть все доклады и дать оценку с точки зрения всей аудитории конференции: будет ли что-то понятно? А теперь я пришел к тому, что больший интерес проявляю к тем докладам, в которых, вероятно, ничего не понимаю. Смотрю именно на качество самого доклада, а не контента.

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

Например, мы общаемся сейчас с Кириллом Толкачевым и Максимом Гореликовым по поводу их доклада, и они прямо спрашивают мнение: хорошо или нехорошо, добавить ли пример или что-то еще. В ПК есть эксперты в разных областях, и достаточно часто, конечно, происходит и помощь с контентом, что-то добавляется. Если говорить про Баруха, то он не любит готовиться сильно заранее, но любит, когда ему накидают какие-нибудь мысли. Здесь я понимаю, о чем идет речь. В частности, некоторые кейсы, которые были на его докладах про Alexa, мы придумали в ходе брейншторма в рамках созвона ПК.

Есть интересные case study, есть кишочки, есть смузи и JVM-овские темы, есть performance темы, фреймворковские темы, есть даже темы, которые выбиваются из Java. Дмитрий Александров: У нас получилась очень сбалансированная программа. Здесь получился, на мой взгляд, хороший баланс. Например, машинное обучение, Postgres и так далее. Нет какой-то перекошенности конференции в сторону Spring или в сторону перформанса, есть все.

Будет отличное шоу от Венката Субраманиама. Что касается конкретных докладов, то это одна из конференций, записи докладов которой каждый захочет пересмотреть. Будет интересный case study с алгоритмами поведения публики при планировании билетов на чемпионат мира. Будет Тагир, у него хорошая тема на мой взгляд, она очень актуальна. Это круто, потому что это недавно происходило, и это интересный способ алгоритмизировать все это дело.

Это выбивается из Java, но мы все этим пользуемся. Мне очень понравилось, что у нас будет про Postgres. Будет и машинное обучение для новичков. Там будет хорошо, на мой взгляд. Брали маленький кусочек, углублялись в тему, и usability от таких докладов был маленький. Big Data и машинное обучение — крутые темы, но реально хорошего ввода на них пока еще не делали. Плюс будет и шоу, и хардкор, и будет Scala — мне это очень нравится. А тут usability будет большой. Хотя те темы, которые будут на конференции, чисто физически в Java не въедут, потому что не хватит конструкций языка все это дело написать. Scala — это инкубатор идей, которые впоследствии выезжают в Java. Тема не нова, но товарищ ее представит хорошим образом. Тем не менее, это круто, потому что хардкорные скалисты найдут для себя хорошую тему чтобы послушать.

Олег Анастасьев: Я, конечно, лучше всего понимаю, чем интересен доклад Вадима Цесько про реактивную раздачу музыки в Одноклассниках.

Музыки много, раздавать её надо много кому одновременно и быстро. С одной стороны, это интересно с точки зрения того, как на Java выжать из железки всё. При этом нативного кода там нет, это все Java с one-nio. Поэтому, хотя Java и «write once, run anywhere», тут тесная интеграция с операционной системой, чтобы выжать по максимуму.

Все построено так, чтобы для клиентов сервис не прекращал работу. С другой стороны, интересно с архитектурной точки зрения, потому что
рассматриваются вопросы отказоустойчивости. Это редкий случай системы resilience first, где отказоустойчивость или устойчивость к сбоям зашита, начиная с архитектуры и заканчивая самыми низкоуровневыми штуками.

У нас реактивный стрим может открыться, начиная с HDD в дата-центре, на котором лежит нужный трек, и будет проброшен через всю инфраструктуру Одноклассников вплоть до этого раздатчика. А с третьей стороны, интересно с точки реактивщины. Для этого пришлось написать свою реактивную систему — мы не просто взяли Reactive Spring, поставили пару аннотаций @Autowired, и все заработало. Раздатчик будет выдавать стрим прямо непосредственно с диска.

И/или найти докладчика и спросить про его доклад. Владимир Ситников: По выбору докладов я рекомендую найти на конференции кого-нибудь из ПК и спросить. Я сам так делаю, когда не вхожу в состав ПК конференции. Это работает. 🙂 ), но на два доклада сразу пойти не получится, и гораздо лучше, если сразу попадёшь на более полезный для себя доклад, чем ходить между залами первые 5-10 минут. Да, у докладов есть описание (его же все читают?

— Есть ли в программе какая-нибудь штука, которую вы не знали, что-нибудь, что вас удивило — возможно, далёкое от вашей основной специализации?

Например, я не работал с байт-кодом Java 4 ни разу. Глеб Смирнов: На прогонах почти всегда что-то новое для себя узнаю. А на Joker будет выступать Женя Мандриков, который рассказывает про то, как неочевидно некоторые языковые структуры транслируются в байт-код, и у него там есть археологический пример с Java 4. Так уж повезло, что наш Java-агент всегда поддерживал клиентские приложения, скомпилированные минимум под Java 5. Через неё, к примеру, можно было довольно компактно выражать finally-блоки. Оттуда узнал, что раньше была инструкция jsr (Java Subroutine). Но с верифицируемостью там всё плохо, поэтому к Java 5 её выпилили.

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

Мне кажется, что этот подход — будущее всего распределенного мира. Товарищ будет рассказывать на английском, как они в TransferWise смогли с помощью простых инструментов схлопнуть сложные двухфазные транзакции в нормальные однофазные, к которым мы привыкли и с которыми проблем не возникает. И ее можно достичь либо с помощью распределенных транзакций (которых не существует, и никто до сих пор не знает, как их делать), либо с помощью каких-то изменений в архитектуре твоего кода. При разработке микросервисов нужна транзакционность, атомарность. Мне кажется, это для практикующих инженеров будет очень полезный
доклад. Немного изменив подход, ты получаешь те же гарантии, только намного проще и
надежнее. Тот доклад, который должен помочь всем-всем-всем.

Без фанатизма, конечно, но есть что-то привлекательное в этих подходах. Владимир Ситников: Одним из моих интересов является функциональное программирование. И это не математические доклады для математиков, а доклады с прямой практической пользой. Так вот: на этот раз будет целых два доклада John McClean о производительности persistent collections и Олег Нижников о tagless final.

— Что запомнилось при подготовке?

Заявок очень много, очень много интересных людей, много неожиданных моментов. Андрей Когунь: Мне очень нравится этап отбора заявок. Я бы не сказал, что имею какое-то преимущество перед аудиторией конференции в том, что все-таки приходится видеть доклады в том виде, в котором на конференции они не показываются. Иногда думаешь, неужели этой темой или технологией до сих пор кто-то занимается и интересуется, то есть это возможность посмотреть на мир пошире. Бывает прикольно, когда ты знаешь, что в течение конференции можно сходить на 3-4 доклада, и они будут друг друга дополнять. Мне нравится отбор заявок и возможность сформировать программу, которая будет на конференции, поставить доклады таким образом, чтобы они органично смотрелись. Редко рассказывают о чем-то устаревшем. Так получается, потому что есть какая-то технология, которая на текущий момент самая модная и много кто по ней хочет доложить, какие-то новые веяния. Заявок у нас больше десяти на одно место на последней конференции. Когда мы отбираем заявки, там случается много всякого неожиданного и интересного, интересные знакомства и общение. Со всеми мы созваниваемся, со всеми общаемся, и это действительно круто.

Иван работает в компании Excelsior LLC, много лет является инженером команды рантайма, он разработчик виртуальной машины. Иван Крылов: С Иваном Углянским получилась такая ситуация. В то же время мы понимаем, что большая часть аудитории хотят понять паттерны и антипаттерны программирования на Java, хотят видеть примеры и уроки, которые они могут вынести из докладов. Тот замечательный доклад, который он изначально предложил, был с сильным фокусом на слушателей, которые глубоко разбираются в деталях виртуальной машины. Поэтому мы с Иваном поработали и он добавил некоторое количество примеров, которые будут действительно полезны. Сухой рассказ про алгоритм устройства сборщика мусора не позволит им вынести какие-то явно применимые советы из доклада.

— Чем Joker отличается от других конференций?

Эта атмосфера создаётся общением: я бывал на разных конференциях, я люблю общаться, но не всегда бывает так, что даже спикеры общаются между собой. Андрей Когунь: На мой взгляд, Joker — очень душевное место, туда всегда приятно сходить. И к этому присоединяются и участники конференции. А если ты спикер Joker, то, как правило, ты сразу оказываешься во всей этой тусовке. Например, к нам присоединился Паша Финкельштейн, он много лет ходил на конференцию, а теперь выступает с докладом. Есть ребята, которые много лет ходили на конференцию, а теперь сами выступают с докладами. Люди вливаются в нее. Люди на Joker знакомятся, начинают общаться, на Joker здоровская атмосфера. Это то, что для меня отличает Joker от других конференций, я на него обязательно приеду.

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

Мы каждую внимательно проверяем: абстракт, план, слайды, тренировки. Глеб Смирнов: Нам сами спикеры говорят, особенно зарубежные, когда общаются с ПК, что никто никогда так тщательно не работал с заявками. Есть отдельные личности, которым не очень подходит такой режим работы, но большая часть благодарна, поскольку и им полезно, и нам. Так почти никто не делает. Мы даем полезный фидбэк, а взамен получаем хороший доклад.

— Пожелаете что-нибудь напоследок читателям?

Как только что-то одно победит, мы не выживем. Виктор Полищук: Конкуренция в Java-мире, в JVM-языках — то, что заставляет эту платформу развиваться. Поэтому иди и сделай Java еще более живой, чем она есть. Приходите на конференцию: чем больше разработчиков Java, Kotlin, Scala, еще каких-нибудь JVM-based языках, чем больше нас, тем стабильнее и живее будет эта платформа.

Я думаю, что многие из посетителей найдут нужные аспекты применения всех технологий для себя. Дмитрий Александров: Эта конференция получилась очень сбалансированной. Очень большой охват технологий получился. Будет не очень много искусственного и просто интересного, будет много практики и того, что может стать практикой, того, что может быть применено. Каждый для себя может что-то новое почерпнуть и услышать, как это сделано у других, чтобы сделать для себя выводы. Найдут для себя интересные вещи, мне кажется, очень многие люди, приверженцев разных течений, фреймворков и платформ. Есть одна технология, а есть альтернатива. У нас очень часто на конференции обсуждаются альтернативные технологии к какой-то. Баланс охвата аудитории. В этом вся крутость конференции, на мой взгляд. Есть технология, есть альтернативная ей, которая достойна обсуждения и достойна хотя бы того, чтобы о ней знать. Посмотреть, поговорить и пересмотреть все видео.

Чем культурно бухать, можно вместо этого пойти культурно прогуляться. Глеб Смирнов: Конференция проходит в Экспофоруме, в десяти минутах на машине от которого расположен петербургский пригород Пушкин. Особо рекомендую сходить на экскурсию в мемориальный музей-лицей: посмотреть, где учился Пушкин, проникнуться идеей великого общего дела, найти масонскую символику, все дела 🙂

В воскресенье после конференции — самое то! Тем, кто приезжает на конференцию из другого города, обязательно рекомендую сходить в Эрмитаж, там как раз выставка работ Рембрандта из Лейденской коллекции.

Уже запланировали подписать книгу у Robert Scholte? Владимир Ситников: Я рекомендую познакомиться с докладчиками (и/или другими участниками конференции). Интересуетесь производительностью? Он, к слову, предводитель Apache Maven. И так далее.
В кулуарных беседах можно узнать много полезного. Тогда, как минимум, стоит встретиться с авторам крутейших в мире профайлеров Marcus Hirt (JFR) и Андрею Паньгину (async-profiler).

А до самой конференции остаётся лишь несколько дней — если всё ещё не определились, пора это сделать! Целиком программу Joker можно увидеть на сайте.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть