Хабрахабр

«ПК», но не «персональный компьютер»: интервью с программным комитетом 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 можно увидеть на сайте.

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

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

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

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

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