📜 ⬆️ ⬇️

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



In the eyes of the philistine, the typical developer seems to be an unsociable bearded man sitting alone in the dark in front of a flickering monitor for complex tasks. Is it really? Of course not - moreover, in the modern world such a person simply would not have access to such tasks. What are actually often talented developers, and why does a good programmer need to master soft skills?

To answer these questions, I interviewed Vladimir vlkrasil Dyer, a developer from Yandex, about how he “came out of the shadows,” began to speak 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?

Vladimir: Speeches were always a part of my life, however, the way to speeches at IT conferences was long and thorny. I performed at reporting concerts and contests, while I was at children's music school No. 31 in St. Petersburg, I sang in a choir, and when I was older, I played funk and bossa nova in the Grano Salis group. So, the very format of a public performance, where you are on stage in front of an audience and you carry to the masses the good and eternal, I know well from childhood.

With performances for IT people 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 into others (what is popularly called “conversion”, “mapping” or “transformation”), was decided by five or in six different ways. Supporting code transformations based on different approaches became unnecessarily difficult, so the question was raised about leaving only one approach - of course, the best one. I began to understand the existing libraries for transformations, including Dozer, ModelMapper and Transmorph, and prepared a presentation for my working group. Later, the material became interested 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 gave a presentation for the ArchCom, having become acquainted with the then and present leader of the ArchCom, Misha Druzhinin. It was a time when in St. Petersburg the reports of the resurgent community of St. Petersburg Java developers JUG.RU were in full swing, and in the minds of its organizers Alexey 23derevo Fedorov and Andrei real_ales Dmitriev already had a plan to create a cool Java conference in St. Petersburg. Misha introduced me to Alexey and Andrey, who at that moment were just picking up reports and speakers and were interested in the topic of my presentation. As a result, the guys invited me to speak at their conferences, helped prepare and improve the report from the technical and presentation points of view. This is how my first report, “Java-mapping for pragmatic programmers,” was born, with which I spoke at the very first Joker conference in St. Petersburg in 2013. So began my collaboration with the guys from JUG.RU.



Then everything went, went somehow by itself: I just worked, and the side effect was the appearance of some material, which eventually turned into a report and a subsequent performance at a particular conference. For example, analysis of Java application monitoring tools turned into a 2014 Joker review report , logging micro-services refactoring turned into speeches at JBreak in Novosibirsk and at JPoint in Moscow in spring 2016 , and engaging in architecture on Big Data , with whom I will be speaking at Joker 2016 in St. Petersburg in October. My passion for open source turned into a series of webinars and reports on vert.x, the next of which I am also going to carry to the masses at the upcoming Joker.

JUG.RU: I know a lot of conferences where marketers and sales people speak. Their interest is clear. And what is the profit of an engineer? Do conference presentations help in work?

Vladimir: Preparing and conducting a report helps to really understand the topic of the report. One thing is when you are at work urgently 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, bring it to production just yesterday. And it is quite another thing 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 the details of the material, arguments, measurements and numbers. The final polishing of your knowledge on the topic takes place directly during the report, when you answer the questions of professionals from the audience or immediately after the report in discussion zones, conference margins or social networks. Then it becomes completely clear to you whether you are familiar with the topic or not, which aspects of the topic are not yet disclosed, in which directions you should still dig.

You also need to understand that all engineers, speakers, speak on behalf of the companies in which they work, and companies have their own self-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, the companies desperately need highly qualified specialists with technical experience and able to tell about this experience to 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 drop of sarcasm), open their mouth and communicate with the same schizoid like the personalities most programmers are.

By myself I can say that since I started speaking at conferences on behalf of Luxoft, I recognized a lot of people at the company and it turned out that quite a lot of people at Luxoft recognized me in absentia. As a result, they began to invite me as a speaker at the company's internal events and print my articles in a corporate magazine. As a result, various interesting opportunities and positions began to open up 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 switching to Yandex, you built your reports based on your experience at 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 airline concerns, and in real terms and with limited resources. I would say that Luxoft is not even a blacksmith shop, but simply a blast furnace shop of developers who are interested in developing and applying their skills in really large and complex projects, both from technological and social points of view. A huge number of various technologies, both proven by time and “still hot, just 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 one project, so it’s not surprising that there are a lot of interesting and practically useful topics for reports under these conditions. I owe to the appearance of my pragmatic ’reports about Java-mapping, monitoring and logging, as well as the upcoming“ Anti-introduction to Big Data ”, that I owe exclusively to the experience gained on projects at Luxoft.

At Luxoft, the desire and ability of technical specialists to speak publicly on behalf of the company is greatly encouraged. As soon as the girls from the marketing department Dilya Salakhetdinova and Nastya Tikhomirov noticed that I was not averse to preparing and “pushing the speech”, they began to invite me as a speaker at various internal and external events of the company, for example, informal Logeek Night open meetings that take place throughout Russia , Java Open Day in Sofia, and also gave me a series of webinars on vert.x within the Luxoft Technology Series . The company was happy to send me reports on business trips to carry out such comradely strategic missions and always had a compromise with my design and production tasks.

One man is not a warrior: On prospects, teams and senior'ah


JUG.RU: For a senior developer, there are not so many career paths, 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 “blue” developer has few career paths. You can dig deep into and become a technical guru who can quickly and efficiently solve problems according to his narrow specialization, give expert assessments, assess risks and save the company a lot of money. You can dig in breadth and become an architect who is able to reliably design and launch large and complex projects. You can connect to training centers, if they are in your companies, read ready-made courses or invent and develop your own, or just mentor June. In fact, everyone can create for themselves a position in the company that will be sharpened specifically for him, in which there will be ideal proportions for you between communication, mentoring, marketing and, of course, technology. One of such combinations of these activities has recently gained immense popularity in Russia, and it has long existed in IT companies for a long time - this is a position as a technical evangelist: a high-tech techie with excellent communication skills who represents the interests of his company at technical conferences and meetings all over the world.

Let's say a few words about the "synergy". On one of my projects, the word Siniere became, if not a curse, then sarcasm. If someone wanted to tinker with someone, then he could build a phrase something like this: “Well, you are a siner person, how can you not understand that a null test is necessary here?” Or like this: “The blueprints are gathered here, so stop playing with smartphones at the meeting and finally listen to me.” Well, and the like. But seriously, the "synergy" is not only an understanding of the nuances of the internals of the JVM or expert knowledge of several programming languages.

“Synergy” is first and foremost effective teamwork, multiplied by a clear vision of the goals - one’s own, one’s team and one’s company. The times when bogatyrs existed on the Russian land, in the sense, brilliant programmers, were long gone, and they were a full-fledged combat unit. Now there is no warrior in the field, and the time has come for effective teams. By the way, pay attention that on the speeches you can more and more often see a team of speakers on the stage, deftly throwing the main narrative thread to each other. I mean the most reactive couple from Alfa-Laboratory of Kirill tolkkv Tolkachev and Alexander aatarasoff Tarasov, and the famous Puzzlers with Yevgeny EvgenyBorisov Borisov, Baruch jbaruch Sadogusky from JFrog and Tagir lany Valeev, and the battle of the Maven vs Grads taps. there were already three speakers: 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 the team plays well. So, the really “blue-eyed” person organizes the work of the team in such a way as quickly and effectively to pull young and hot at least to the level of the average temperature in the hospital, and always covers the weakest link. On the other hand, the Senior himself will not be engaged in nonsense, and will not allow others to do so. Let me explain what I mean: often the blue-collar developers roll into some kind of 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 clear: we are essentially like small children, we are interested in finding out how everything works. For example, what would happen if a) just take and replace the Spring version with the latest one, b) just take and rewrite everything in Scala, c) just take and fasten Hibernate, d) well, you understand what I mean. But the fact of the matter is that, unlike children, adults (and I think this is the way to translate the word Senior from the English language in this context) have a clear understanding of what to do first, then later, and most importantly Why do you need to do this? And this is not because adults are not interested in knowing how things work, 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 first of all you need to do only what cannot be done to achieve the set task. That is why the developer’s “synergy” or “maturity” lies precisely in the permanent reconciliation of the course of his and teamwork with the internal compass of personal, team and corporate goals.

To guide the work of their colleagues in the right direction, we need the skills of negotiation, teamwork, effective presentation and correspondence. After all, experienced "nonsense" perfectly able to argue the absolute need for their experiments, alterations and improvements. And they will be absolutely right, but only in the context that their activity is necessary for them and only for them, but in no way helps to solve the tasks of the working group and the company. Moreover, the arguments of the “nonsense” sound very pompously and strategically correct, like “so that in the future we have no problems” or “but then if someone needs to change something in this code”, or “this g @% but “It’s absolutely impossible to maintain a code, so I’ll rewrite everything on annotations,” and the like. And it is here that the “adult” developer will need skills that you cannot read in any specimen and cannot learn on any Senior course 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 brainwashing "nonsense." After all, it is necessary 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 that after your “water procedure” you still have a comfortable, creative, but same time productive atmosphere.

I read somewhere about the principle 15 to 85, which personally turned out to be very close to me. It sounds 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 specificity, let it be success in the narrow sense of the word - a successful career growth of a “blue” developer. So, from principle 15 to 85 it follows that any “adult” developer simply needs to develop so-called soft skills or communication skills. You can imagine the most unsociable position of a technical guru, sitting alone in a dark, pretemous private office in front of four flickering monitors, to which sinyeri, directors and even the chief accountant go to bow with reverence. But in order to get it, you also need to agree with a bunch of people, so that without the ability to agree, you can't see it like your ears! Therefore, when, in his striving to become better and more successful, the developer decides to once again technically upgrade and learn another programming language, to learn a newfangled framework or Big Data technology, he pumps only 15 percent of the potential that can lead him to success.

Video of their technical reports or webinars and participation in open-source or own projects is the optimal professional portfolio of an “adult” developer. I remember the times when many people were fond of getting all sorts of certificates. I had a friend, whose whole wall was hung with Benchmark gold cards, maybe someone else remembers them. Now there is certification too, nobody has canceled it, but nothing can give a potential employer such a quick and accurate picture of a candidate as the opportunity to just pick up 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 handles stressful situations, how he answers tricky questions. And I want to emphasize this point once again: yes, the employer always assesses the candidate’s technical skills, but he also looks at the kind of person in front of him, whether he understands and how well he will fit into the company's team and microclimate.

Shake, but do not mix: Recipe blockbuster report


JUG.RU: Where do 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 give rise to a reliable, interesting and useful report. After all, the people who come to our conferences solve real problems with which they have to suffer in combat conditions, that is, with limited time and resources. And to solve just such everyday tasks, people are extremely useless, even curiously and informatively, to listen to reports that grew up 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" speech. Oddly enough, all the right performances are built on the same simple principle. So, the right performance is literally ... "the story of how the main character fights painfully and ultimately successfully defeats some evil." Nothing like? Yes, yes, this is all the same old as the world principle, according to which all books are written and films are shot. Do you know what makes a good 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 struggling with the same evil, or people recognize what is evil, it turns out, is and how to deal with it. Try to remember any bright report you like. I am sure that this will be a report in which a person on the scene tells how something suddenly broke on his project or performance dropped sharply or urgently needed to do something that could not be. And now, having rolled up its sleeves, it profiles and benchmarks, dismembers and glues, imaginable and inconceivable efforts of the mind, resourcefulness and will, and, oh, a miracle: a brilliant discovery, an instant of insight or a cool framework, finally align performance charts, eliminate memory leaks or make some other technological miracle. Therefore, in order to identify the audience of techies with the main character (in this case, the speaker) happened naturally and seamlessly, the actual “combat” developer must be on the scene, and he should only tell his own real story of the struggle between good and evil, full of pain sorrow and courage. Well and, of course, the speech should be completely built on the Stanislavsky system, but this is so, the details already =)

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



Fear and Loathing Technical Conferences


JUG.RU: Surely, you also participated in conferences as a participant, not only as a speaker. Can you compare the difference between these two formats?

Vladimir: For the first time as a conference participant, I attended the Sun Tech Days conference in St. Petersburg in a dashing two thousandth. I admit honestly: I didn’t know what a Java technical conference was, how and why it was held and what benefits to expect from it, and the maximum goal was to “snatch a branded black backpack with the Sun emblem and eat a free lunch” =) Backpack to me 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 with scattering T-shirts in the hall was wild, recruiting girls on the stands scared rather than attracted (both as girls and recruiters), but in general, the very atmosphere of what was happening was revolutionary Jana and inspiring. From technical reports, I still remember impressive presentations about JavaFX and RTJS - Real-Time Java Specification.

It so happened that since the time of the Sun conferences I came to Java conferences only as a speaker, and as a participant I attended Mobius (mobile development conference) and HolyJS (frontend conference) that started for me. However, after reading the report, I try to walk around and listen to other speakers the rest of the time, in order to, among other things, evaluate their style and manner of presenting the material, adopt some techniques for keeping the attention of the audience and working with the hall, making slides presentations or live coding.

Perhaps the most difficult thing for a conference participant is to decide on which reports to go: usually several reports are made at the same time, and it can be painfully difficult to give preference to any one of them. Should I choose an area in which I already know something or am I a specialist in order to learn for myself those missing pieces of information that will lead me to a truly expert level? Or go to the report, in the title of which there are a bunch of incomprehensible words to expand the technical horizon of knowledge? It seems to me that the organizers of the conferences need to significantly work in this direction in order to more actively help the participants choose the right report for them, and short descriptions of reports and tags “runtime”, “hardware”, “big data” or “microservices” next to the names of the reports here obviously not enough. Maybe, like in the film industry, short trailers for reports, in which participants could understand in one or two minutes what will be in the report, see the speaker live, evaluate his style as a speaker and, as they say, “try on” his demonstration material for yourself?

JUG.RU: What feedback did you get after your speeches? This is not so much about evaluations of reports, but about some interesting cases: did someone ask you to join the team, offer their projects or give valuable advice, recommendations? Maybe there was some unexpected negative feedback?

Vladimir: The most constructive feedback occurs, oddly enough, before the conference. I'm not sure if the people are in the know or not, but after submitting the application for the report, you and your material are carefully reviewed by the conference program committee, which is headed by the conference program director 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 done, during and after which you are literally “shot” at close attention with comments, comments and tricky questions by your own colleagues! You become immediately aware of both the strengths and weaknesses of your report, which you don’t know, and most importantly - it’s decided whether people need your report or whether you can bring your main message to the audience or not: opinion of colleagues on PC In this sense, a great litmus test. Taking this opportunity, I want to especially thank Volodya vladimirsitnikov Sitnikov from NetCracker as the most fastidious, tough, uncompromising, and therefore the most valuable for me revieruer program committee: if you manage to agree with Volodya, then no hall is not terrible! =)



The most pleasant feedback during the conference is if you manage to make the audience laugh. You know, the conference is hard work not only for the speakers, but also for the participants: you have to decide on the reports you are going to attend, and keep your attention with the brain on at full capacity for about an hour, because the report and the series of questions and answers usually last so long . 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, introductory and final speeches in the conference program, which are usually not the most hardcore and are more likely to be an encouraging and motivating action than to be teeming with technical subtleties. But still, I am very sorry for the participants, and I think that I simply have to bring elements of the show into my performances in order to let the audience relax, recharge, recharge and re-enable their brains for a few seconds.

There was another such case. , , , , , , – . , . , . , , . « », : FPS- . , , , , … , . ? . , - , , , . , , , - . , , , 5-7, . , , , , . - «» , . « XYZ?», . , , «» , , : , , .



Java-, , – Joker 2016 !

, , (, , ):

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


All Articles