"PC", but not "personal computer": an interview with the Joker program committee
Any Java developer understands how much important remains invisible to the end user. Buttons on the site are visible to everyone - but when viewed from the side, you can never think about the backend, without which these buttons would not work.
And the Java conference Joker, like any other conference, has its own backend. “Frontend” can be considered as speakers: they are visible to everyone, their huge contribution is understandable. But there is a lot of work going on behind the scenes. Who makes sure that the reports are at a decent level, and helps the speakers to reach it? Who decides which topics are appropriate for the event? Who helps to attract foreign stars?
The program committee of the conference is the “back-tenders” of the program, and in anticipation of the Joker, we decided to ask the PC. First, you can see the event from the side, usually invisible to the participants. And secondly, there are concrete practical benefits from the interviews: since they have personally seen all the reports of the upcoming Joker, they can tell you what to look for.
- To begin with, tell us briefly about yourself: who are the people who make important decisions about the Joker program?
Ivan Krylov : I am a leading engineer in Azul Systems, I am engaged in JIT compilers and virtual machines.
Andrei Kogun : I am from Moscow, in IT for more than 15 years. Now I work in CROC, for more than 6 years. During his career, he took part in a large number of projects on custom development, mainly electronic document management systems and business process automation for a number of large Russian companies in the role of lead developer and architect. I teach for students of Moscow universities courses on the fundamentals of development using Java-technologies. Founder and organizer of meetings of the Moscow community of Java developers JUG.MSK .
Gleb SmirnovA: I work for Plumbr, we monitor reliability and performance. Over the past four years I have been involved in many things: from manipulating the internal structures of a Java machine "live" in native memory to managing an on-call command. Now we are not so much a startup, and I’m more focused on the reliability of our own services.
Dmitry Alexandrov : I am from Petersburg, I live in Bulgaria. I work as an architect in T-Systems. I love Java, I have the title of Java Champion, the leader of the Bulgarian Java User Group, the organizer of many conferences within the country (for example, JPrime).
Oleg Anastasyev: I have been working as a leading developer on Odnoklassniki since 2007 on the platform team. I am engaged in the development of architectures and solutions for high-load systems, large data warehouses, solving problems of portal performance and reliability.
Victor Polishchuk : I am a speaker, an alcoholic and a handsome man. They love me not for this, but mostly for the fact that I try to tell people the most useful information. I am a terrible techie and I love this thing. One of my main tasks is to have more techies and less humanities in the world. Let's get rid of them! Well, in fact, I am not very much against the humanities, but I still drown for techies.
Vladimir SitnikovA: I am engaged in optimizing Java / Oracle DB application performance at Netcracker. I committer to Apache JMeter, Apache Calcite, PostgreSQL JDBC. I like to learn new things, and I help speakers at Joker, JPoint, Devoops, Heisenbug conferences.
- How did you get into the PC?
Gleb Smirnov : Some time ago I wrote a lot of articles on Habré in the Java hub, they then collected a lot of advantages. Then I was contacted by Lyosha 23derevoFedorov and offered to make a report. For several years I have been actively speaking at conferences around the world, including Joker. But it takes a lot of time to prepare good new reports, and I stopped. And then they called me to the PC, and I got accustomed, I liked it. It turned out that you can spend as much time per year as you would on preparing your own reports, only as a result you will get more than one report, but a bunch. Just not with you, but with other people. It's great.
Vladimir Sitnikov : I took it off my tongue! It's like that.
Ivan Krylov : The first time I got to Joker as a participant, after some time I became a speaker and spoke at several conferences, and in this cycle I decided to try myself on the PC.
Andrey Kogun: I have been involved in the PC of all Java conferences of the JUG.ru Group for quite a long time, as well as in the DevOops PC. I remember the story of Joker since those early times, when this conference did not have a program committee, and Andrei Dmitriev was solely involved in the program. Then the speakers were easy: take and call the obvious people, many were from Oracle. But then the conference grew, reached a serious level, and all the obvious speakers had already visited, and it was necessary to grow at the expense of new ones. Then the PC appeared, and it seems to me that the conference itself became better. For me, it’s important to participate in something like this where I don’t make money, but I bring some benefit.
Victor Polishchuk:Now I will tell you why I agreed to participate in the PC and took upon myself this responsibility, although I imagined the amount of work, and I would not even come to this Joker.
When I used to go to Joker, JPoint and other conferences, there were always some organizers under the hood, and they did something for me to get my knowledge. And now it's time to return the favor.
I would like to see at the conference reports that will help people make the right decisions that someone has already worked and then came and told about them. On the other hand, I want a flight of thought for those engineers who work with a bloody enterprise, so that they have additional food for the mind. I think this development, it allows you to promote ideas. I really like the marketplace of ideas - for that I love conferences.
- What exactly does the program committee do?
Ivan Krylov : The PC does several things. First, it forms the general structure of the conference: decides which reports will be more, and which less - and on which topic. The PC is watching applications that come to us; we call a number of people on the conference alone. As a rule, these are very busy and well-known speakers, it is hard to ensure that they themselves are submitted to the conference, so we send them individual invitations.
Next, select the application, build our program. To avoid imbalance, we think about how many reports we want for each of the topics. After the outline and agenda of the conference have been formed, what will be on it, we work with the speakers. Especially with speakers who do not have much experience speaking at conferences. We listen to the reports and help to improve their quality so that the reports collect maximum marks from the audience at the conference.
Dmitry Alexandrov: Considering that I have a lot of conference experience (and not only in Russia), I think that I am relatively trendy. I understand what they are talking about in the West, and what kind of people we have. For example, we don’t just have a lot of European reports, because we want hardcore, we want a case study, we want details, a very clear and understandable statement. And there are many cases when the coolest European speakers have failed, not meeting these requirements. Therefore, in the PC, an important job is to understand whether the topic is really relevant to the conference, whether it is applicable and how the speaker talks about it taking into account our specifics. A lot of these nuances. I am familiar with many foreign speakers and try to bring them to Russia, explaining our specifics to them.
- In the preparation of the conference, each PC participant is responsible only for specific reports assigned to him, or do you intersect?
Ivan Krylov : We have intersections for the following reason: it is important that there is no situation in which the opinion of one person determines everything. Therefore, we try to take such areas so that there is a certain intersection and at least two people make up a full-fledged opinion about the report.
Short descriptions of reports read everything in the PC. And then, when there is work directly with the detailed content of the report, at least two people watch it and give their comments, because everyone sees a little from a different angle. For example, if I only looked at reports on virtual machines or on reports related to low-level things, then the report from the corresponding speaker would have turned out to be focused exclusively on the developers of virtual machines. While the listeners are different: someone is actually developing virtual machines, and someone wants to get a glimpse for a Java developer about things related to virtual machines. And here comes my colleagues, they pull me down, and as a result something turns out to be interesting to the majority.
- What reports on Joker 2018 do you supervise? Would you recommend something specific in advance?
Gleb Smirnov : The closest topics to me are from a lower level: JVM device, profiling, all sorts of guts. This year, for example, I am responsible for the “Integration of .NET and Java virtual machines” by Grigory Koshelev, an interesting report. Especially noteworthy is its unusual perspective for a Java conference. Usually, everyone talks about how to jerk native from Java, for example, to the same .NET — and Gregory, on the contrary, tells how to get from .NET into a Java machine.
I would also recommend the report “Jlink and Custom Runtime Image”from Yuri Artamonov. It’s about how to build a minimal Java machine image using Java 9 features and deliver it to client servers without having to have a ready-made Java machine there.
But not all the reports are low-level: for example, I supervise the report of Vladimir Plizga "Spring Boot 2: what is not written in the release notes" . About how you kind of updated on the second Spring Boot, and then a few more weeks you go and collect bumps on your forehead. Vladimir carefully describes the rake and gives many sensible recommendations on how not to step on them.
Andrey Kogun: I used to want to review reports in which I understand something, for example, about Spring. In general, I am an application developer. And now I have come to the conclusion that I show a greater interest in those reports in which I probably do not understand anything. I increasingly look at all this in such a way that I, as a member of the PC, can be the first to see all the reports and give an assessment from the point of view of the entire conference audience: will it be clear? I am looking precisely at the quality of the report itself, and not of the content.
We believe that the speakers that we admit to the program are already experts in their subject. But to help structure the report, make it high-quality, work on the submission - this is what the PC can do. In particular, recently listened to a report about FuzzingThis is a completely new thing for me. And when you try to realize what you are talking about, you convey to the speaker, where something was not obvious to you, and ask him questions, this prompts the speaker to make some thoughts. For me, as a person who also gave reports, this is the most valuable thing in preparation - when they can give you this kind of feedback.
There are experts in different areas in the PC, and quite often, of course, there is help with the content, something is added. For example, we are talking now with Kirill Tolkachev and Maxim Gorelikov about their report., and they directly ask the opinion: good or bad, whether to add an example or something else. Here I understand what is at stake. If we talk about Baruch, he does not like to prepare much in advance, but he loves to be given some thoughts. In particular, we came up with some cases that were on his reports about Alexa during a brainstorm as part of a PC call.
Dmitry Alexandrov : We have a very balanced program. There are interesting case studies, there are guts, there are smoothies and JVM themes, there are performance themes, framework themes, there are even themes that are knocked out of Java. For example, machine learning, Postgres, and so on. It turned out, in my opinion, a good balance. There is no twist of the conference in the direction of Spring or in the direction of performance, there is everything.
As for specific reports, this is one of the conferences, the records of which everyone wants to review. It will be a great show from Venkat Subramaniam . There will be Tagir, he has a good topic in my opinion, it is very relevant. There will be an interesting case study with algorithms of public behavior when planning tickets for the World Cup. This is cool because it happened recently, and this is an interesting way to algorithmize the whole thing.
I really liked what we have about Postgres. This is knocked out of Java, but we all use it. There will be good in my opinion. There will be machine learning for beginners. Big Data and machine learning are cool topics, but they haven’t really done a good input on them yet. They took a small piece, went deep into the topic, and the usability of such reports was small. And here usability will be great. Plus there will be a show, and hardcore, and there will be Scala - I really like it. Scala is an incubator of ideas that subsequently travel to Java. Although those topics that will be at the conference, physically purely in Java will not enter, because there is not enough language constructs to write the whole thing. However, this is cool because hardcore rockers will find a good topic for themselves to listen to. The topic is not new, but a friend will present it in a good way.
Oleg Anastasyev : I, of course, understand best of all, what is interesting about Vadim Tsesko’s report about jet distribution of music in Odnoklassniki.
On the one hand, it is interesting from the point of view of how to squeeze everything out of a piece of iron in Java. There is a lot of music, it is necessary to distribute it to many people at the same time and quickly. Therefore, although Java and “write once, run anywhere”, there is a close integration with the operating system to squeeze to the maximum. At the same time, there is no native code there, this is all Java with one-nio .
On the other hand, it is interesting from an architectural point of view, because
resiliency issues are addressed. Everything is built so that the service does not stop work for customers. This is a rare case of a resilience first system, where fault tolerance or fault tolerance is protected from architecture to the lowest-level pieces.
And on the third hand, it is interesting from the point of reactivity. Our jet stream can open, starting from the HDD in the data center, on which the desired track lies, and will be forwarded through the entire infrastructure of Odnoklassniki up to this distributor. The distributor will stream directly from the disk. For this, we had to write our own jet system - we didn’t just take Reactive Spring, put a couple of @Autowired annotations, and it all worked.
Vladimir Sitnikov: On the choice of reports, I recommend to find someone from the PC at the conference and ask. And / or find a speaker and ask about his report. It works. I myself do this when I am not a member of the PC conference. Yes, the reports have a description (everyone reads it? :)), but two reports will not work right away, and it is much better if you immediately get a more useful report than walking between the halls for the first 5-10 minutes.
- Is there any thing in the program that you did not know, something that surprised you - perhaps far from your main specialization?
Gleb Smirnov: I almost always find out something new for my runs. For example, I have never worked with Java 4 bytecode. So lucky that our Java-agent has always supported client applications compiled at least under Java 5. And Joker will speak Zhenya Mandrikov, who talks about how unclearly some language structures are translated into byte-code, and he has archaeological there Java 4 example. From there I learned that there used to be a jsr instruction (Java Subroutine). Through it, for example, it was possible to express the finally-blocks rather compactly. But with verifiability everything is bad there, so it was cut out to Java 5.
Victor Polishchuk : One of the most unusual reports that I saw was about cascading transactions. He hooked me, because I, as an industrial developer, saw a lot of horror when people connect distributed transactions to code, and after that the code stops working. Sometimes he rolls in the places where you expect the least. Relatively speaking, there is no normal implementation of distributed transactions.
A friend will tell in English how they were at TransferWise using simple tools to collapse complex two-phase transactions into normal single-phase transactions, to which we are used and with which no problems arise. It seems to me that this approach is the future of the entire distributed world. When developing microservices, transactionality and atomicity are needed. And it can be achieved either with the help of distributed transactions (which do not exist, and nobody still knows how to do them), or with the help of some changes in the architecture of your code. By slightly changing the approach, you get the same guarantees, only much simpler and
more reliable. It seems to me that this will be a very useful
report for practicing engineers . That report, which should help all-all-all.
Vladimir Sitnikov: One of my interests is functional programming. Without fanaticism, of course, but there is something attractive about these approaches. So: this time there will be as many as two John McClean reports on the performance of persistent collections and Oleg Nizhnikov on the tagless final . And these are not mathematical reports for mathematicians, but reports with direct practical use.
- What is remembered in preparation?
Andrey Kogun: I really like the stage of selection of applications. There are many applications, many interesting people, many unexpected moments. Sometimes you think, is it really someone who is interested in this topic or technology, that is, it is an opportunity to look at the world more broadly. I would not say that I have any advantage over the conference audience in that you still have to see reports in the form in which they are not shown at the conference. I like the selection of applications and the opportunity to form a program that will be at the conference, put the reports in such a way that they look organic. It happens cool when you know that during the conference you can go for 3-4 reports, and they will complement each other. So it turns out, because there is some kind of technology that is currently the most fashionable and many who want to report on it, some new trends. Rarely talk about something outdated. When we select applications, there happens a lot of unexpected and interesting, interesting acquaintances and communication. We have more than ten applications for one place at the last conference. With all we call up, communicate with all, and this is really cool.
Ivan Krylov : This situation turned out with Ivan Uglyansky. Ivan works for Excelsior LLC, for many years he is an engineer of the runtime team, he is a virtual machine developer. The remarkable report he originally proposed was with a strong focus on listeners who are deeply versed in the details of the virtual machine. At the same time, we understand that most of the audience want to understand the patterns and anti-patterns of Java programming, they want to see examples and lessons they can learn from the reports. A dry story about the algorithm of the garbage collector device will not allow them to take out any clearly applicable tips from the report. Therefore, Ivan and I worked and he added a number of examples that would be really useful.
- How is Joker different from other conferences?
Andrei Kogun : In my opinion, Joker is a very spiritual place, it's always nice to go there. This atmosphere is created by communication: I have been to different conferences, I like to communicate, but it is not always the case that even the speakers communicate with each other. And if you're a Joker speaker, then, as a rule, you immediately find yourself in this whole get-together. And this is joined by the conference participants. There are guys who went to the conference for many years, and now they themselves make reports. For example, Pasha Finkelstein joined us, he went to the conference for many years, and now he gives a report. People on Joker get acquainted, start chatting, on Joker a healthy atmosphere. People pour into it. This is what distinguishes Joker from other conferences for me; I will definitely come to it.
With many of the guys from this atmosphere, I am in constant contact. There are all sorts of chat, for example, some of the speakers participate in the debriefing. In some form, the community exists constantly. There are people with whom you meet at different meetings. It's great that this communication is not limited to two days, it is permanent.
Gleb Smirnov : The speakers themselves speak to us, especially foreign ones, when communicating with a PC, that no one has ever worked so thoroughly with applications. We carefully check each of them: abstract, plan, slides, training. So almost no one does. There are individuals who are not very suitable for this mode of operation, but most are grateful, because they are useful to us too. We give useful feedback, and in return receive a good report.
- Would you like something for your readers?
Victor Polishchuk : Competition in the Java world, in the JVM languages, is what makes this platform evolve. As soon as one thing wins, we will not survive. Come to the conference: the more Java developers, Kotlin, Scala, and some other JVM-based languages, the more of us, the more stable and more alive this platform will be. So go and make Java even more alive than it is.
Dmitry Alexandrov: This conference was very balanced. I think that many of the visitors will find the right aspects of applying all the technologies for themselves. There will not be a lot of artificial and just interesting things, there will be a lot of practice and what can become practice, what can be applied. Very large coverage of technology turned out. Many people will find interesting things for themselves, adherents of different trends, frameworks and platforms. Everyone can learn something new for themselves and hear how it was done for others to draw conclusions for themselves. We very often at the conference discuss alternative technologies to some kind. There is one technology, but there is an alternative. This is all the coolness of the conference, in my opinion. The balance of audience coverage. View, talk and review all videos. There is technology, there is an alternative to it,
Gleb Smirnov : The conference takes place in Expoforum, ten minutes by car from which is located the St. Petersburg suburb of Pushkin. Than cultural thump, you can instead go cultural stroll. I especially recommend going on an excursion to the memorial museum-lyceum: see where Pushkin studied, get into the idea of a great common cause, find Masonic symbolism, everything :) I
definitely recommend going to the Hermitage to those who come to the conference from another city exhibition of works by Rembrandt from the Leiden Collection. On Sunday after the conference - the most it!
Vladimir Sitnikov: I recommend to meet the speakers (and / or other conference participants). Have you already planned to sign the book with Robert Scholte? He, by the way, the leader of Apache Maven. Interested in performance? Then, at a minimum, it is worthwhile to meet the authors of the world's coolest profilers Marcus Hirt (JFR) and Andrey Panguin (async-profiler). And so on.
In the backroom conversations you can learn a lot of useful things.
The whole program Joker can be seen on the site . And before the conference itself there are only a few days - if it is still undecided, it's time to do it!