
“The best performance is the story of a painful struggle and victory over evil,” - Vladimir Krasilshchik on technical reports

In the eyes of the average man, a typical developer seems to be an unsociable bearded man sitting in the dark alone in front of a flickering monitor for complex tasks. Is it really? Of course not - moreover, in the modern world, he simply would not have gained access to such tasks. What really often turn out to be talented developers, and why should a good programmer master soft skills?
To answer these questions, I interviewed Vladimir vlkrasil Krasilshchik, a developer from Yandex, about how he “came out of the shadows”, began speaking at technical conferences, and what came of it all.
In the beginning was the word. And the word was ... Legacy
JUG.RU: Vladimir, tell us how you started performing? What led to such a life?

With performances for IT specialists, everything turned out somehow simple, spontaneous and natural. I worked at Luxoft on a legacy project in which the same task, namely the conversion of some Java objects to others (what is popularly called “conversion”, “mapping” or “transformation”), was solved by five or in six different ways. It became unreasonably difficult to support the code of transformations based on different approaches, so the question was raised about leaving only one approach - of course, the best. I began to understand the existing libraries for transformations, including Dozer, ModelMapper and Transmorph, and prepared a presentation for my working group. Later they became interested in the material in ArchComm - Luxoft Architectural Community - as it turned out that this is a typical task for projects around, and the experience of our group can be useful for colleagues. I made a presentation for ArchCom, getting acquainted with the then and current leader of ArchCom, Misha Druzhinin. It was a time when the reports of the revived community of St. Petersburg Java developers JUG.RU were in full swing in St. Petersburg, and in the minds of its organizers Alexei 23derevo Fedorova and Andrey real_ales Dmitriev has already matured a plan to create a cool Java-conference in St. Petersburg. Misha introduced me to Alexei and Andrey, who at that moment were just picking up reports and speakers and became interested in the topic of my presentation. As a result, the guys invited me to speak at their conference, helped to prepare and pull up the report from a technical and presentation point of view. So my first report “Java-mapping for pragmatic programmers” was born , which I made at the very first Joker conference in St. Petersburg in 2013. So began my collaboration with the guys from JUG.RU.

Then everything went and went somehow by itself: I just worked, and a side effect was the appearance of some material, which eventually turned into a report and subsequent presentation at a particular conference. For example, the analysis of tools for monitoring Java applications resulted in a review report at Joker in 2014 , refactoring of logging in micro-services turned into speeches at JBreak in Novosibirsk and at JPoint in Moscow in the spring of 2016 , and a lesson in architecture generated a report on Big Data , which I will be playing at Joker 2016 in St. Petersburg in October. My passion for open source turned into a series of webinars and reports on vert.x, another of whichI am also going to carry to the masses at the upcoming Joker.
JUG.RU: I know a lot of conferences that marketers and sales speak at. Their interest is understandable. And what is the engineer’s profit? Do conferences at conferences help in work?
Vladimir:The preparation and conduct of the report helps to truly understand the topic of the report. It's one thing when you at work urgently and urgently understand a dozen libraries or tools, choose more or less working as you need, prepare it in half with a tambourine, so that, as they say, put it into production yesterday. And it’s a completely different matter when you are preparing a report on your exploits for a technically competent and experienced audience: this requires a completely different level of study of material details, arguments, measurements and numbers. The final polishing of your knowledge on the topic occurs immediately during the report, when you answer questions from professionals in the audience or immediately after the report in discussion areas, on the sidelines of the conference or on social networks. Then it becomes completely clear to you whether you own the topic or not,
You also need to understand that all the speaker engineers speak on behalf of the companies in which they work, and the companies have their selfish interest at conferences, expressed, as a rule, in the search for talented specialists and, as it is fashionable to say, “strengthening loyalty to the company’s brand” in technical and informational communities. For these purposes, companies desperately need highly qualified specialists with technical experience and the ability to share this experience with the general public. Therefore, companies love and encourage techies who crawl out of their convenient project “shells” at conferences and meetings and, making incredible efforts on themselves (there is not a bit of sarcasm), open their mouth and communicate with the same schizoid such as the personality that most programmers are.
On my own, I can say that since I started speaking at conferences on behalf of Luxoft, I recognized a lot of people in the company and it turned out that quite a lot of people in Luxoft recognized me in absentia. As a result, they began to invite me as a speaker to internal events of the company and print my articles in a corporate magazine. As a result, various interesting opportunities and positions began to open before me, in particular, my last position as a Big Data architect, which I held until the transition from Luxoft to Yandex.
JUG.RU: As far as I understand, before moving to Yandex you built your reports based on your experience in Luxoft. Did the company help you in this direction?
Vladimir:Luxoft is a real “bloody enterprise” in the best sense of the word, namely: a technology and service company that solves the real problems of very respectable customers, in particular banks, car and air concerns, and in real time and with limited resources . I would say that Luxoft is not even a forge, but simply a blast furnace workshop for developers who are interested in developing and applying work skills in really large and complex projects, both from a technological and social point of view. A huge number of diverse technologies, both time-tested and “still hot, fresh from the oven” can be closely intertwined within the framework of one project. Moreover, people from different cities, countries and even continents can work on the same project, so it’s not surprising, that in these conditions there are a lot of interesting and practically useful topics for reports. The appearance of my “pragmatic” reports on Java mapping, monitoring and logging, as well as the upcoming “Anti-introduction to Big Data”, I owe exclusively to the experience gained on projects at Luxoft.
Luxoft greatly encourages the desire and ability of technical specialists to speak publicly on behalf of the company. As soon as the girls from the marketing department Dilya Salakhetdinova and Nastya Tikhomirova made it clear that I did not mind preparing and “giving a speech”, they began to call me as a speaker at various internal and external events of the company, for example, informal open meetings Logeek Night, which take place throughout Russia , Java Open Day in Sofia, and also gave me a series of webinars dedicated to vert.x as part of the Luxoft Technology Series . The company gladly sent me reports on business trips to carry out such company-wide strategic missions, and there was always a compromise with my design and production tasks.
Alone in the field is not a warrior: About prospects, teams and Senior'ah
JUG.RU: There are not many career paths for a Senior Developer if you don’t go into managing people. How do public speaking affect professional development?
Vladimir:I would not say that in addition to managing people, a “blueprint” developer has few career paths. You can dig deep into and become a technical guru who can quickly and effectively solve problems in his own specialization, give expert assessments, assess risks and save companies a lot of money. You can dig in breadth and become an architect who is able to reliably design and run large and complex projects. You can connect to training centers, if any, in your companies, read ready-made courses, or come up with and develop your own or just mentor junes. In fact, everyone can create a position in the company that will be tailored specifically for him, in which there will be ideal proportions for you between communication, mentoring, marketing and, of course, technology.
Let’s say a few words about “synergy”. At one of my projects, the word "Sinier" became, if not a curse, then sarcasm. If someone wanted to pick someone up, then he could construct the phrase something like this: “Well, you are a siren person, how can you not understand that a null check is needed here”. Or like this: “The siren people gathered here, so stop playing with smartphones at the meeting and finally listen to me.” Well and the like. But seriously, “synergy” is far from just understanding the nuances of the workings of the JVM internals or expert knowledge of several programming languages.
“Synergy” is, first of all, effective work in a team, multiplied by a clear vision of goals - your own, your team and your company. The time has long passed when the Russian heroes, in the sense of brilliant programmers, existed on the earth, and they were a full-fledged combat unit. Now one is not a warrior in the field, and the time has come for effective teams. By the way, pay attention that at speeches more and more often you can see a team of speakers on the stage, deftly throwing each other the main narrative thread. I am referring to the reactive pair of Alfa-lab Cyril tolkkv Tolkachev and Alexander aatarasoff Tarasova and famous Puzzlers with Eugene EvgenyBorisov Borisov, Baruch jbaruch Sadoguskim from JFrog and Tagir lany Valeev, and the battle of the Maven vs Gradle vs SBT tula , where at the same time there were already three speakers on the stage: all the same Eugene and Baruch, plus Anton antonarhipov Arkhipov from ZeroTurnaround.

As in any other field, be it music or football, the team plays as well as the least experienced member of this team plays well. So, a really “sirenny” person organizes the work of the team in such a way as to maximally quickly and efficiently pull the young and hot to at least the average temperature in the hospital, and will always cover the weakest link. On the other hand, Senior himself will not engage in nonsense, and others will not allow it. I’ll explain what I mean: often “blueprint” developers slip into some endless optimizations, upgrades or improvements and spend a lot of time on this kind of entertainment, while justifying them beautifully and competently. The motive of the developers is understandable: we are essentially small children, we are interested in learning how everything works. For instance, what will happen if a) just take and replace the Spring version with the latest, b) just take and rewrite everything on Scala, c) just take and screw Hibernate, d) well, you understand what I mean. But the fact of the matter is that, unlike children, adults (and I think that’s how you translate the word Senior from English in this context), there is a clear understanding of what needs to be done first, and then, and most importantly why do you need to do this at all. And this is not because adults are not interested in learning how everything works, not at all. This is because adults are well aware of the limited resources at their disposal and especially value time. Therefore, adults clearly understand that in the first place you need to do only what cannot be done to achieve the task.
To direct the work of your colleagues in the right direction, you need skills in negotiation, teamwork, effective presentation and correspondence. Indeed, experienced "nonsense" are well able to argue the absolute need for their experiments, alterations and improvements. And they will be absolutely right, but exclusively in the context that their activity is necessary for them and only for themselves, but does not help to solve the tasks of the working group and company. Moreover, the arguments of “nonsense” sound just very pathos and strategically correct, like “so that we don't have problems in the future” or “but then if someone needs to change something in this code”, or “this g @% but “The code is completely impossible to maintain, so I will rewrite everything on annotations,” and the like. And here, the “adult" developer will need skills which you can’t read in any specs and learn at any Senior courses in 21 days - these skills are naturally developed during the preparation and conduct of technical public speeches, and each experienced speaker has his own unique style of communication with the audience and washing brains to "bullshit". Here, after all, you need to firmly besiege the troll from the hall or the “coding cowboy” from the team, but do it in such a way that the person does not “get up and go out”, and so that after your “water procedure” a comfortable, creative, but at the same time reigned the same time a productive atmosphere. and each experienced speaker has his own unique style of communicating with the audience and brainwashing the “bullshit”. Here, after all, you need to firmly upset the troll from the hall or the “coding cowboy” from the team, but do it in such a way that the person does not “get up and go out”, and so that after your “water procedure” a comfortable, creative, but at the same time reigned the same time a productive atmosphere. and each experienced speaker has his own unique style of communicating with the audience and brainwashing “bullshit”. Here, after all, you need to firmly besiege the troll from the hall or the “coding cowboy” from the team, but do it in such a way that the person does not “get up and go out”, and so that after your “water procedure” a comfortable, creative, but at the same time reigned the same time a productive atmosphere.
I read somewhere about the principle of 15 by 85, which I personally found to be very close. It sounds something like this: our success is 15 percent dependent on what we can do, and 85 percent on how we can negotiate with people. Of course, the definition of success is different for everyone, but for specifics, let it be success in the narrow sense of the word - the successful career growth of a "blueprint" developer. So, from the principle of 15 to 85 it follows that any "adult" developer simply needs to develop the so-called soft skills or communication skills. One can imagine the most uninvited position of a technical guru, sitting alone in a dark, pretentious separate office in front of four flickering monitors, to which signiers, directors and even the chief accountant go with reverence. But in order to get it, also need to agree with a bunch of people, so that without the ability to negotiate it, you can’t see it like your ears! Therefore, when in his desire to become better and more successful, the developer decides once again to upgrade technically and learn another programming language, to master the new-fangled framework or Big Data technology, he pumps only 15 percent of the potential that can lead him to success.
Video of your technical reports or webinars and participation in open source or your own projects is the optimal professional portfolio of an “adult” developer. I remember the times when many were keen on getting all kinds of certificates. I had a friend who had a whole wall hung with golden cardboard from Benchmark, maybe someone else remembers such. Now there is certification, it has not been canceled, but nothing can give a potential employer such a quick and accurate idea of a candidate as the ability to just take and read his code on github. And then just take and see how the candidate works with people during speeches at conferences or meetings, how he copes with stressful situations, how he answers tricky questions. And I want to emphasize this point again: yes,
Shake, but do not mix: Recipe for a blockbuster report
JUG.RU: Where does the material for the reports come from? What gives more texture: work, own projects, something else?
Vladimir:Only the main work on which you spend most of your life can provide the basis for a reliable, interesting and useful report. After all, people who come to our conferences solve real problems that they have to suffer in combat conditions, that is, with limited time and resources. And to solve just such everyday tasks, it is extremely useless for people, even if curious and informative, to listen to reports that have grown in greenhouse research greenhouses or father's garages in the backyard. After all, what is, in fact, a useful report? And let me tell you a little secret of the “right” performance. Oddly enough, all the correct performances are built on the same simple principle. So, the right performance is literally ... "the story of as the protagonist painfully struggles and ultimately successfully defeats some evil. " Doesn’t resemble anything? Yes, yes, this is still the same old principle as the world, according to which all books are written and films are made. Do you know what makes a correct performance successful, a book a bestseller, and a movie a blockbuster? Lecture hall. Success comes when the audience fully associates itself with the main character, firstly, because the main character is like her, and secondly, because people already know this evil, at the moment they are fighting the same evil, or people will recognize what evil is, it turns out, is and how to deal with it. Try to recall any bright report that you liked. I’m sure this will be a report in which the person on the stage tells how something suddenly broke on his project, or productivity dropped sharply, or urgently needed to do something that could not be at all. And now, having rolled up his sleeves, he profiles and benchmarks, dismembers and glues, with imaginable and inconceivable efforts of the mind, resourcefulness and will and, lo and behold: a brilliant discovery, a moment of insight or a cool framework, finally align performance graphics, eliminate memory leaks or make some other technological miracle.

Own or open source projects usually generate less powerful stories and reports, because you spend much less time on them than on the main work, and they are not so hard checked for durability by users and time, like the same working projects (if this, of course, not open source projects such as Linux, OpenJDK, Spring or Kotlin). In my case, it turned out just the opposite: the study of the tools for monitoring Java applications during the preparation of the report resulted in its own Drozd project - a plugin for Intellij IDEA that would allow the developer, without leaving the interface of the good old IDE, to monitor remote Java applications, while not requiring the developer to install any additional agents on remote servers, instruct or modify programs running on them.

Fear and Loathing of Technical Conferences
JUG.RU: Surely you participated in conferences as a participant, not only as a speaker. Can you compare the difference between the two formats?
Vladimir:For the first time as a conference participant, I visited the Sun Tech Days conference in St. Petersburg in the dashing two thousandth. I admit honestly: I generally didn’t know what a Java technical conference was, how and why it was being held, and what good it was to expect from it, and the maximum goal was to “grab a signature black backpack with the Sun logo and eat a free lunch” =) I need a backpack then I didn’t get it, but what was happening on the stage and on the sidelines was not clear to me: the overseas format of conferences throwing t-shirts into the hall was wild, the girls-recruiters at the stands were more scared than attracted (both girls and recruiters), but on the whole the atmosphere of what was happening was revolutionary dull and inspiring. From technical reports I still remember impressive presentations about JavaFX and RTJS - Real-Time Java Specification.
It just so happened that since the time of the Sun'ov conferences I came to the Java conference only as a speaker, and as a participant I visited Mobius (a conference on mobile development), which was not quite profile for me , and HolyJS (a conference on frontend) that started this year . Nevertheless, after giving a lecture, I try to walk around and listen to other speakers the rest of the time in order to, inter alia, evaluate their style and manner of presenting the material, adopt some tricks to hold the audience’s attention and work with the audience, and design slides presentations or live coding.
Perhaps the most difficult thing for a conference participant is to decide which reports to go to: usually several reports go simultaneously, and it can be painfully difficult to give preference to one of them. Should I choose an area in which I already know something or am an expert in order to draw for myself those missing bits of information that will take me to a truly expert level? Or go to a report in the title of which there are a lot of obscure words to expand the technical horizon of knowledge? It seems to me that the organizers of the conferences need to work significantly in this direction to actively help participants choose the report that suits them, and short descriptions of the reports and the tags "runtime", "hardware", "big data" or "microservices" next to the names of the reports here clearly not enough. Can,
JUG.RU: What feedback did you receive after your performances? It is not so much about evaluating reports, but about some interesting cases: did someone ask you to join your team, offer your projects or give valuable advice or recommendations? Maybe there was some unexpectedly negative feedback?
Vladimir:The most constructive feedback occurs, oddly enough, before the conference. I’m not sure whether people are aware or not, but after submitting an application for a report, you and your material are carefully reviewed by the program committee of the conference, led by the program director of the conference Andrei Dmitriev. The committee consists of experienced and “powerful” speakers - reviewers, by the way, this time I also enter it. So, at a certain stage, a test run of the report is made, during and after which you are literally “shot” at point blank point by your own colleagues with comments, comments and tricky questions! You immediately understand both the strengths and weaknesses of your report, which you do not know, and most importantly - it is decided whether people need your report at all or not, whether you manage to convey your main idea to the audience or not: the opinion of colleagues on the PC in this sense is a great litmus test. I take this opportunity to especially thank Volodya vladimirsitnikov Sitnikov from NetCracker as the most fastidious, tough, uncompromising, and therefore the most valuable program committee reviewer for me: if you manage to reach an agreement with Volodya, then no audience is afraid! =)

The most enjoyable feedback during the conference is if you can make the audience laugh. You know, a conference is hard work not only for speakers, but also for participants: you need to decide on the reports that you go to and keep your mind on for about an hour, because the report and a series of questions and answers usually last exactly . Moreover, it is necessary to repeat this cycle 5, 6, or even 7 times a day, often two days in a row. Of course, there are breaks in the conference program, opening and closing speeches, which are usually not the most hardcore ones and are more likely to be inspiring and motivating than to abound in technical subtleties. But anyway, I am very sorry for the participants, and I believe that I simply have to introduce the elements of the show in my performances in order to let the audience relax for at least a couple of seconds,
There was such a case. I lectured the report, answered questions, thanked the audience and bent over the laptop to disconnect it from the projector and the network, and when, literally a couple of seconds later, I raised my eyes, I was slightly numb from surprise. Around me was a dense ring of guys with burning eyes, and those closest to me were still breathing noisily. I did not understand what was going on. The feeling was as if for a moment, and everyone would be ready to pounce on me. In each look, it read “now the tear”, and even became a little scary: it all looked like a scene from a movie or an FPS game about zombies. And, most importantly, everyone was crowding, looking at me point blank, saying nothing and just breathing noisily ... And I stand, too, begin to slowly breathe noisily. And where to go then? Surrounded thoroughly. I think something like that probably blurted out, rightly for me. Then the brains turned on, it dawned on everyone that, probably, they were in a terrible hurry to be the first to ask some personal question. And to get on stage in a couple of seconds, while I was picking with a laptop, I had to very quickly go around the room and climb the rather steep stairs, steps 5-7, and with the physical preparation of the programmers you yourself know how. So they stand, they catch their breath, they want to ask their question, but no one wants to be the first, they are embarrassed. Finally, someone from the "siege" either caught his breath, or gained courage. A typical salutary question was raised: “Have you tried to use XYZ?”, And then the conversation went like clockwork. And then the director of the conference, Alexei Fedorov, arrived in time and, as they say, “towed” me into the discussion area to free up the stage for the next speaker, after which we continued talking with people in a more comfortable environment: with a flipchart, mineral water,
In an interview, Vladimir talked about his reports at Java conferences, if you want to see what it is - come to Joker 2016 !
And if after reading the article you decided to try your hand at the field of technical presentations, we will be glad to see your applications at the next conferences, at which the reception of reports is open (yes, it's free, we do not sell reports):