PC, mas não PC: Entrevista com o Comitê do Programa Joker



Qualquer desenvolvedor Java entende o quanto importante permanece invisível para o usuário final. Os botões no site são visíveis para todos - mas, quando vistos de lado, você nunca pode pensar no back-end, sem o qual esses botões não funcionariam.

E a conferência Java Joker, como qualquer outra conferência, tem seu próprio "back-end". Os palestrantes podem ser considerados o "front-end": eles são visíveis para todos, sua contribuição gigantesca é clara. Mas também há muito trabalho nos bastidores. Quem garante que os relatórios sejam de um padrão decente e ajude os oradores a alcançá-lo? Quem decide quais tópicos são apropriados para o evento? Quem ajuda a atrair estrelas estrangeiras?

O comitê do programa da conferência é o "back-end" do programa e, em antecipação ao Joker, decidimos pedir um PC. Primeiro, desta forma, você pode ver o evento de lado, geralmente invisível para os participantes. E segundo, há um benefício prático específico da entrevista: como eles viram pessoalmente todos os relatórios do próximo Coringa, eles podem dizer o que procurar.


- Primeiro, conte-nos brevemente sobre você: quem são as pessoas que tomam decisões importantes sobre o programa Joker?

Ivan Krylov : Sou um engenheiro líder da Azul Systems, estou envolvido em compiladores JIT e máquinas virtuais.

Andrei Kogun : Eu sou de Moscou, em TI, há mais de 15 anos. Trabalho na CROC há mais de 6 anos. Durante sua carreira, ele participou de um grande número de projetos de desenvolvimento personalizado, principalmente sistemas de gerenciamento eletrônico de documentos e automação de processos de negócios para várias grandes empresas russas no papel de desenvolvedor e arquiteto líder. Estou ministrando cursos sobre o básico do desenvolvimento usando tecnologias Java para estudantes de universidades de Moscou. Fundador e organizador das reuniões da comunidade de Moscou de desenvolvedores Java JUG.MSK .

Gleb Smirnov : Eu trabalho na Plumbr, monitoramos a confiabilidade e o desempenho. Nos últimos quatro anos, ele esteve envolvido em muitas coisas: desde manipular as estruturas internas de uma máquina Java "ao vivo" na memória nativa até gerenciar um comando de plantão. Agora não somos tão iniciantes e estou mais focado na confiabilidade de nossos próprios serviços.

Dmitry Alexandrov : Eu venho de São Petersburgo, moro na Bulgária. Trabalho como arquiteto na T-Systems. Eu amo Java, tenho o título de Java Champion, líder do Java Bulgarian User Group, organizador de muitas conferências dentro do país (por exemplo, JPrime).

Oleg Anastasiev : Trabalho como desenvolvedor líder no Odnoklassniki desde 2007 como membro da equipe da plataforma. Estou envolvido no desenvolvimento de arquiteturas e soluções para sistemas de alta carga, grandes data warehouses, resolvendo os problemas de produtividade e confiabilidade do portal.

Victor Polishchuk : Sou palestrante, alcoólatra e bonita. Eles não me amam por isso, mas principalmente porque tento contar às pessoas as informações mais úteis. Eu sou um técnico terrível e amo essa coisa. Uma das minhas principais tarefas é ter mais técnicos e menos humanitários no mundo. Vamos nos livrar deles! Ok, na verdade eu não sou fortemente contra as humanidades, mas ainda me afogo por técnicos.

Vladimir Sitnikov : Estou empenhado em otimizar o desempenho dos aplicativos Java / Oracle DB no Netcracker. Eu sou committer no Apache JMeter, Apache Calcite, PostgreSQL JDBC. Gosto de aprender coisas novas e ajudo a preparar palestrantes nas conferências Joker, JPoint, Devoops, Heisenbug.

- Como você entrou no PC?

Gleb Smirnov : Há algum tempo, escrevi muitos artigos sobre Habré no hub Java, e eles coletaram muitas vantagens. Então Lyosha 23derevo Fedorov entrou em contato comigo e se ofereceu para fazer um relatório. Durante vários anos, tenho falado ativamente em conferências em todo o mundo, incluindo o Joker. Mas leva muito tempo para preparar novos bons relatórios, e eu parei. E então eles me ligaram para o PC, e eu criei raízes, gostei. Aconteceu que você pode gastar tanto tempo por ano quanto preparando seus próprios relatórios, apenas como resultado, não receberá um relatório, mas um monte. Não é apenas com você, mas com outras pessoas. Isso é ótimo.

Vladimir Sitnikov : Como tirar isso da língua! Só isso.

Ivan Krylov : A primeira vez que participei do Joker como participante, depois de algum tempo, fui palestrante e falei em várias conferências. Nesse ciclo, decidi me testar em um PC.

Andrey Kogun : Eu participo do PC em todas as conferências Java do grupo JUG.ru há algum tempo e também estou no PC do DevOops. Lembro-me da história do Coringa desde os primeiros tempos em que esta conferência não tinha um comitê de programa, e Andrei Dmitriev era o gerente individual. Então foi fácil com os palestrantes: atender e chamar as pessoas óbvias, muitas eram da Oracle. Mas então a conferência cresceu, atingiu um nível sério, e todos os oradores óbvios já haviam visitado, e era necessário crescer à custa de novos. Então um PC apareceu, e me parece que a conferência em si melhorou. É importante para mim participar de algo assim, onde não ganho dinheiro, mas trago alguns benefícios.

Victor Polishchuk: Agora vou lhe dizer por que concordei em participar do PC e assumi essa responsabilidade, embora tenha imaginado a quantidade de trabalho, mas eu mesmo nem vou a esse Coringa.

Quando eu costumava ir ao Joker, JPoint e outras conferências, sempre havia alguns organizadores, e eles faziam algo para obter meu conhecimento. E agora é hora de retribuir o favor.

Eu gostaria de ver relatórios na conferência que ajudarão as pessoas a tomar as decisões corretas que alguém já elaborou e depois vieram e conversaram sobre eles. E, por outro lado, quero uma fuga de pensamentos para os engenheiros que trabalham com a empresa sangrenta, para que tenham mais alimento para a mente. Parece-me que esse desenvolvimento permite promover idéias. Gosto muito do mercado de ideias - por isso adoro conferências.


- O que exatamente o comitê do programa faz?

Ivan Krylov : O PC faz algumas coisas. Em primeiro lugar, forma a estrutura geral da conferência: decide quais relatórios serão mais e quais serão menos, e sobre qual tópico. O PC analisa os aplicativos que chegam até nós, chamamos várias pessoas de forma independente para a conferência. Como regra geral, são palestrantes muito ocupados e conhecidos, é difícil fazer com que eles se submetam à conferência, por isso enviamos convites individuais.

Em seguida, selecionamos aplicativos, construímos nosso programa. Para evitar desequilíbrios, pensamos em quantos relatórios queremos sobre cada tópico. Depois que o esboço e a agenda da conferência foram formados, o que acontecerá com isso, trabalhamos com os palestrantes. Especialmente com palestrantes que não têm muita experiência em palestras. Ouvimos os relatórios e ajudamos a melhorar sua qualidade, para que os relatórios coletem classificações máximas do público na conferência.

Dmitry Alexandrov : Dado que tenho muita experiência em conferências (e não apenas na Rússia), acredito que estou relativamente na moda. Entendo o que eles estão falando no Ocidente e que tipo de público temos. Por exemplo, simplesmente não recebemos muitos relatórios europeus, porque queremos hardcore, queremos estudo de caso, queremos detalhes, uma apresentação muito clara e compreensível. E há muitos casos em que os palestrantes europeus mais legais falharam em nosso país, não cumprindo esses requisitos. Portanto, nos PCs, um trabalho importante é entender se o tópico é realmente relevante para a conferência, se é aplicável e como o orador fala sobre isso, levando em consideração nossas especificidades. Muitas dessas nuances. Conheço muitos oradores estrangeiros e tento trazê-los para a Rússia, explicar-lhes os detalhes.


- Ao preparar a conferência, cada participante do PC é responsável apenas pelos relatórios específicos atribuídos a ele ou você está se cruzando?

Ivan Krylov : Temos interseções pelo seguinte motivo: é importante que não haja situação em que a opinião de uma pessoa determine tudo. Portanto, tentamos tomar essas áreas para que haja uma certa interseção e pelo menos duas pessoas formem uma opinião completa sobre o relatório.

Relatórios curtos são lidos por todos no PC. E então, quando o trabalho está sendo feito diretamente com o conteúdo expandido do relatório, pelo menos duas pessoas olham para ele e fazem seus comentários, porque todo mundo vê de um ângulo um pouco diferente. Por exemplo, se eu olhasse apenas da minha parte sobre relatórios em máquinas virtuais ou relatórios relacionados a coisas de baixo nível, como resultado, o relatório do orador correspondente seria focado exclusivamente nos desenvolvedores de máquinas virtuais. Enquanto os ouvintes são diferentes: alguém realmente desenvolve máquinas virtuais e quer dar uma olhada no desenvolvedor Java sobre coisas relacionadas a máquinas virtuais. E então meus colegas vêm, me puxam, e o resultado é algo que é interessante para a maioria.


- Quais relatórios do Joker 2018 você supervisiona? Você recomendaria algo específico com antecedência?

Gleb Smirnov : Os tópicos do nível mais baixo são os mais próximos de mim: dispositivo JVM, criação de perfil, todo tipo de coragem. Este ano, por exemplo, sou responsável pela "Integração de máquinas virtuais .NET e Java" de Grigory Koshelev, um relatório interessante. Particularmente notável por sua perspectiva incomum para uma conferência Java. Geralmente, todo mundo fala sobre como extrair nativo do Java, por exemplo, para o mesmo .NET - e Gregory, pelo contrário, diz como entrar em uma máquina Java a partir do .NET.

Eu também recomendo o relatório “Jlink e Custom Runtime Image” de Yuri Artamonov. É sobre como montar, usando recursos do Java 9, uma imagem mínima de uma máquina Java e colocá-la em servidores clientes sem a necessidade de ter uma máquina Java pronta lá.

Mas nem todos os relatórios são de baixo nível: por exemplo, supervisiono o relatório de Vladimir Plisga "Spring Boot 2: que eles não escrevem nas notas de versão" . Sobre como você meio que fez o upgrade para a segunda Spring Boot, e depois caminha por mais algumas semanas e coleciona os inchaços na sua testa. Vladimir descreve cuidadosamente o rake e dá muitas recomendações sensatas sobre como não pisar neles.

Andrei Kogun : Eu costumava revisar relatórios nos quais entendia algo, por exemplo, sobre o Spring. Em geral, sou desenvolvedor de aplicativos. E agora cheguei ao ponto de mostrar mais interesse nos relatórios em que provavelmente não entendo nada. Olho cada vez mais tudo isso para que, como membro do PC, possa ser o primeiro a ver todos os relatórios e fazer uma avaliação do ponto de vista de todo o público da conferência: algo ficará claro? Eu olho especificamente para a qualidade do relatório em si, não para o conteúdo.

Acreditamos que os palestrantes que aceitamos no programa já são especialistas em seu campo. Mas para ajudar a estruturar o relatório, torná-lo de alta qualidade, trabalhe na apresentação - é isso que um PC pode fazer. Em particular, ouvi recentemente um relatório sobre o Fuzzing , isso é algo completamente novo para mim. E quando você tentar entender o que se trata, leve-o ao orador, onde algo não lhe era óbvio, e faça perguntas a ele; isso leva o orador a pensar. Para mim, assim como para a pessoa que também fez apresentações, isso é a coisa mais valiosa na preparação - quando você pode receber esse tipo de feedback.

Existem especialistas em diferentes áreas do PC e, muitas vezes, é claro, a ajuda com o conteúdo também acontece, algo é adicionado. Por exemplo, agora estamos conversando com Kirill Tolkachev e Maxim Gorelikov sobre seu relatório , e eles pedem uma opinião diretamente: é bom ou ruim adicionar um exemplo ou outra coisa? Aqui eu entendo o que está em jogo. Se falamos de Baruch, ele não gosta de se preparar com muita antecedência, mas adora quando recebe alguns pensamentos. Em particular, apresentamos alguns dos casos que estavam em seus relatórios sobre Alexa durante o brainstorm, como parte da chamada do PC.

Dmitry Alexandrov : Temos um programa muito equilibrado. Existem estudos de caso interessantes, há coragem, há smoothies e temas da JVM, há temas de desempenho, temas de estrutura, existem até temas eliminados do Java. Por exemplo, aprendizado de máquina, Postgres e assim por diante. Aqui, na minha opinião, um bom equilíbrio acabou. Não há distorção da conferência em relação ao Spring ou ao desempenho, há tudo.

Quanto aos relatórios específicos, esta é uma das conferências, cujos relatórios todos desejam revisar. Haverá um ótimo show de Venkata Subramaniam . Haverá Tagir, ele tem um bom tópico na minha opinião, é muito relevante. Haverá um estudo de caso interessante com algoritmos de comportamento público ao planejar ingressos para a Copa do Mundo. Isso é legal porque está acontecendo recentemente, e é uma maneira interessante de algoritmo para tudo isso.

Gostei muito do que temos sobre o Postgres. Ele sai do Java, mas todos nós o usamos. Haverá bom, na minha opinião. Haverá aprendizado de máquina para iniciantes. Big Data e aprendizado de máquina são tópicos interessantes, mas ainda não deram uma boa contribuição neles. Eles pegaram um pedaço pequeno, aprofundaram-se no tópico, e a usabilidade desses relatórios foi pequena. E então a usabilidade será ótima. Além disso, haverá um show e hardcore, e haverá Scala - eu realmente gosto. Scala é uma incubadora de idéias que mais tarde vai para Java. Embora os tópicos que estarão na conferência não se encaixem fisicamente em Java, porque não há construções de linguagem suficientes para escrever a coisa toda. No entanto, isso é incrível, porque os roqueiros hardcore encontrarão um bom assunto para ouvir. O tópico não é novo, mas um amigo o apresentará de uma maneira boa.

Oleg Anastasiev : Claro, eu entendo melhor o que é interessante sobre o relatório de Vadim Tsesko sobre a distribuição reativa da música em Odnoklassniki.

Por um lado, é interessante do ponto de vista de como extrair tudo de um pedaço de ferro em Java. Há muita música, é necessário distribuí-la para muitos ao mesmo tempo e rapidamente. Portanto, embora o Java seja "escreva uma vez, execute em qualquer lugar", há uma estreita integração com o sistema operacional para aproveitar ao máximo. Ao mesmo tempo, não há código nativo, é tudo Java com one-nio .

Por outro lado, é interessante do ponto de vista arquitetônico, porque
questões de tolerância a falhas são consideradas. Tudo foi projetado para que, para os clientes, o serviço não pare de funcionar. Este é um caso raro do primeiro sistema de resiliência, em que a tolerância a falhas ou a tolerância a falhas são conectadas, começando com a arquitetura e terminando com as partes de nível mais baixo.

E por outro lado, é interessante do ponto de reatividade. Nosso fluxo de jato pode abrir, a partir do HDD no data center no qual a faixa desejada se encontra, e será encaminhado por toda a infraestrutura de Odnoklassniki até esse distribuidor. O distribuidor emitirá um fluxo diretamente diretamente do disco. Para fazer isso, tive que escrever meu próprio sistema reativo - não apenas pegamos o Reactive Spring, fizemos algumas anotações @Autowired e funcionou.

Vladimir Sitnikov : Para a escolha dos relatórios, recomendo encontrar alguém do PC na conferência e perguntar. E / ou encontre um orador e pergunte sobre o seu relatório. Isso funciona. Eu mesmo faço isso quando não sou membro da conferência do PC. Sim, os relatórios têm uma descrição (todos estão lendo? :)), mas você não pode ir a dois relatórios ao mesmo tempo, e é muito melhor se você chegar imediatamente a um relatório mais útil do que caminhar pelos corredores pelos primeiros 5 a 10 minutos.

- Existe alguma coisa no programa que você não sabia, algo que o surpreendeu - talvez longe da sua especialização principal?

Gleb Smirnov : Eu quase sempre aprendo algo novo nas corridas. Por exemplo, eu não trabalhei com o bytecode Java 4 nem uma vez. É uma sorte que nosso agente Java sempre suporte aplicativos cliente compilados para pelo menos Java 5. E o Joker interpretará Zhenya Mandrikov, que fala sobre como algumas estruturas de linguagem não óbvias são traduzidas em bytecode e possui um site arqueológico Exemplo de Java 4. A partir daí, aprendi que costumava haver uma instrução jsr (Java Subroutine). Por meio dele, por exemplo, foi possível expressar finalmente os blocos de maneira bastante compacta. Mas com a verificabilidade, tudo está ruim lá, então eles o cortam no Java 5.

Victor Polishchuk : Um dos relatórios mais incomuns que eu já vi é sobre transações em cascata . Isso me pegou de surpresa, porque eu, como desenvolvedor industrial, vi muito horror quando as pessoas conectam transações distribuídas ao código e, depois disso, o código para de funcionar. Às vezes, ele rola em lugares onde você menos espera. Relativamente falando, não há uma única implementação normal de transações distribuídas.

O camarada dirá em inglês como eles, usando o TransferWise, conseguiram recolher transações complexas de duas fases em transações monofásicas normais com ferramentas simples às quais estamos acostumados e com os quais não há problemas. Parece-me que essa abordagem é o futuro de todo o mundo distribuído. Ao desenvolver microsserviços, você precisa de transacionalidade, atomicidade. E isso pode ser alcançado com a ajuda de transações distribuídas (que não existem e ninguém ainda sabe como fazê-las) ou com a ajuda de algumas alterações na arquitetura do seu código. Ao mudar um pouco a abordagem, você obtém as mesmas garantias, apenas muito mais fáceis e
mais confiável. Eu acho que isso será muito útil para a prática de engenheiros.
relatório. Esse relatório, que deve ajudar a todos.

Vladimir Sitnikov : Um dos meus interesses é a programação funcional. Sem fanatismo, é claro, mas há algo atraente nessas abordagens. Então: desta vez, haverá até dois relatórios de John McClean sobre o desempenho de coleções persistentes e Oleg Nizhnikov na final sem tags . E esses não são relatórios matemáticos para matemáticos, mas com benefícios práticos diretos.

- O que foi lembrado durante a preparação?

Andrey Kogun : Eu realmente gosto do estágio de seleção de aplicativos. Existem muitas aplicações, muitas pessoas interessantes, muitos momentos inesperados. Às vezes você pensa: é realmente alguém que está envolvido e interessado neste tópico ou tecnologia, ou seja, é uma oportunidade de olhar o mundo em geral.Eu não diria que tenho alguma vantagem sobre o público da conferência, pois você ainda precisa ver relatórios na forma em que eles não são mostrados na conferência. Gosto da seleção de aplicativos e da oportunidade de criar um programa que estará na conferência, de fornecer relatórios de maneira que pareçam organicamente. É divertido quando você sabe que, durante a conferência, você pode procurar por 3-4 relatórios, e eles se complementam. Isso acontece porque existe alguma tecnologia que atualmente é a mais elegante e muitos que desejam relatar sobre ela, algumas novas tendências. Eles raramente falam sobre algo desatualizado. Quando selecionamos aplicativos, acontece muitas coisas inesperadas e interessantes, conhecidos e comunicação interessantes. Temos mais de dez inscrições para um lugar na última conferência.Nos ligamos, nos comunicamos com todos, e é muito legal.

Ivan Krylov : Essa situação aconteceu com Ivan Uglyansky. Ivan trabalha na Excelsior LLC, é engenheiro da equipe de tempo de execução há muitos anos e é desenvolvedor de máquinas virtuais. A grande apresentação que ele propôs originalmente foi focada fortemente nos ouvintes que são profundamente versados ​​nos detalhes da máquina virtual. Ao mesmo tempo, entendemos que a maioria do público deseja entender os padrões e antipadrões da programação Java, quer ver exemplos e lições que podem aprender com os relatórios. Uma história seca sobre o algoritmo do dispositivo coletor de lixo não permitirá que você faça sugestões claramente aplicáveis ​​a partir do relatório. Portanto, Ivan e eu trabalhamos e ele adicionou vários exemplos que seriam realmente úteis.


- Como o Joker é diferente de outras conferências?

Andrei Kogun : Na minha opinião, o Joker é um lugar muito sincero, é sempre bom ir lá. Essa atmosfera é criada pela comunicação: participei de várias conferências, gosto de me comunicar, mas nem sempre é o caso de oradores se comunicarem. E se você é um orador do Joker, então, como regra, você se encontra imediatamente em toda essa festa. E os participantes da conferência se juntam a isso. Existem caras que frequentam a conferência há muitos anos e agora estão fazendo apresentações. Por exemplo, Pasha Finkelstein se juntou a nós, ele esteve na conferência por muitos anos e agora está dando uma palestra. As pessoas no Coringa se conhecem, começam a conversar, o Coringa tem uma ótima atmosfera. As pessoas despejam nele. Isto é o que distingue o Joker de outras conferências para mim, eu definitivamente irei a ele.

Com muitos caras dessa atmosfera, estou em contato constante. Há todo tipo de caótico, por exemplo, alguns palestrantes participam do debriefing. De alguma forma, a comunidade existe constantemente. Existem pessoas que você encontra em diferentes reuniões. É ótimo que essa comunicação não se limite a dois dias, é constante.

Gleb Smirnov : Os próprios oradores nos dizem, especialmente os estrangeiros, quando conversam com um PC que ninguém nunca trabalhou com aplicativos com tanto cuidado. Verificamos cuidadosamente cada um: resumo, plano, slides, treinamento. Então, quase ninguém faz. Existem pessoas que não são muito adequadas para esse modo de operação, mas a maioria agradece, pois também são úteis para nós. Damos um feedback útil e, em troca, obtemos um bom relatório.


- Gostaria de algo para os leitores?

Victor Polishchuk : A competição no mundo Java, nas linguagens JVM, é o que faz essa plataforma evoluir. Assim que uma coisa vencer, não sobreviveremos. Venha para a conferência: quanto mais desenvolvedores de Java, Kotlin, Scala, outras linguagens baseadas em JVM, quanto mais somos, mais estável e animada será essa plataforma. Então vá e torne o Java ainda mais vivo do que é.

Dmitry Alexandrov: Esta conferência acabou sendo muito equilibrada. Eu acho que muitos dos visitantes encontrarão os aspectos necessários para aplicar todas as tecnologias para si. Não haverá muita coisa artificial e simplesmente interessante, haverá muita prática e o que pode se tornar prática, o que pode ser aplicado. Cobertura de tecnologia muito grande acabou. Eles acharão coisas interessantes para si mesmos, parece-me, tantas pessoas, adeptos de diferentes tendências, estruturas e plataformas. Todos podem aprender algo novo e ouvir como é feito por outros para tirar conclusões. Frequentemente, em uma conferência, discutimos tecnologias alternativas para algum tipo. Existe uma tecnologia, mas há uma alternativa. Esta é toda a frieza da conferência, na minha opinião. Equilíbrio do alcance do público. Veja, converse e analise todos os vídeos. Existe tecnologia, existe alternativa,que é digno de discussão e digno de saber sobre isso.

Gleb Smirnov : A conferência está sendo realizada no Expoforum, a dez minutos de carro, a partir do qual está localizado o subúrbio de Pushkin em Petersburgo. Do que cultural, você pode dar um passeio cultural. Eu recomendo especialmente fazer uma excursão ao memorial-museu-liceu: para ver onde Pushkin estudou, para se inspirar na idéia de uma grande causa comum, para encontrar simbolismo maçônico, todas as coisas :)

Para quem chega à conferência de outra cidade, eu definitivamente recomendo ir ao Hermitage, lá apenas uma exposição das obras de Rembrandt da coleção Leiden. No domingo depois da conferência - é isso!

Vladimir Sitnikov: Recomendo conhecer os palestrantes (e / ou outros participantes da conferência). Já planeja assinar um livro com Robert Scholte? A propósito, ele é o líder do Apache Maven. Interessado em desempenho? Então, no mínimo, vale a pena encontrar os autores dos melhores criadores de perfil do mundo, Marcus Hirt (JFR) e Andrey Pangin (async-profiler). E assim por diante
Nas conversas nos bastidores, você pode aprender muitas coisas úteis.

Todo o programa Joker pode ser visto no site . E faltam apenas alguns dias para a conferência - se você ainda não decidiu, é hora de fazê-lo!

Source: https://habr.com/ru/post/pt426555/


All Articles