The tenth anniversary CodeFest conference was held in Novosibirsk. The program was very rich: ten sections on development, testing, design, management and development. Employees of True Engineering two days summarized the reports, now we want to share this benefit with you.
We hope our review will be useful to those who will watch video recordings of performances. Some of the presentations have already been published in the public domain, so we have added some reviews with links to them. Reports are sorted by sections.

Design
How to show the interface to someone who does not see - Valeria Kurmak
We were hooked by the report of Valeria Kurmak from Sberbank on optimizing software for people with disabilities.
')
The main message of the report is that in fact there are a lot of people with disabilities. And this is not only absolutely blind people. These are all those who can no longer see as clearly as in youth: our grandparents, fathers and mothers are with you. These are our friends with you, who temporarily lost their ability to work due to physical injuries. These are from 2 to 8% of men who have difficulty in perceiving colors.
But for these people do not need a separate version of your application - everything has long been invented. Tritely making your website scalable, you make it more accessible to millions of people. Using standard controls or semantic layout, you greatly help your users.
Valeria, together with the staff of Sberbank, made an excellent guideline on this topic. The guideline is broken into several short manuals for different roles:
- for designers
- for iOS developers,
- for Android developers,
- for web developers
- and even for managers.
You can find it
by reference .
Backend
TCP died or the future of network protocols - Alexander Tobol ( presentation )
Densely packed with useful knowledge report on the TCP protocol and the problems that in the conditions of modern mobile communication networks lead to the limit of utilization and bandwidth.
In Odnoklassniki, the delivery of video content and news feeds plays a crucial role in the success of the service. With a small number of lost packets and an increase in network latency, its utilization drops to almost 50%. To solve the problem, the company saws its own protocols for each type of traffic to replace TCP. (The same goes for Google - the QUIC protocol). Big respect to the guys for not being afraid to shake the fundamental foundations.
The new standard http / 2 also rests on the neck of TCP, so the correct target for client-server systems is http / 3, which runs on top of QUIC.
As a result, "Classmates" got a good increase in system performance. The demo was visually visible multiple acceleration loading tape. Also, Odnoklassniki, the first in the world, began to broadcast Live HD video quality. Example: for some reason, American truckers like to broadcast on the network a record from the roads. Apparently, used as a DVR.
Teamlead
Refactoring: agree, plan, implement! - Alexey Kataev ( presentation )
Alexey claims that in the ten-year history of Skyeng, they have never rewrote their application from scratch. How do they maintain the quality of the code? Everything is simple - they refactor :) The report itself is not about what technical means to refactor, but how to convince the manager of its necessity.
The first thing developers should do is to stop complaining that the application has long been needed to be refined, and instead find a common language with the manager and agree. In short, in advance start the task of technical debt in the backlog of your project, evaluate, prioritize them and contact the manager with specific proposals. And be sure to read the book Gavin Kennedy, "You can agree on everything!".
The second important point of the report is not to lie. Do not include refactoring in feature evaluations. This makes the development process less transparent. You run the risk of getting bogged down in refactoring as you stop tracking the time spent on it.
Alexey also told how they use telegram bots to plan refactoring, and also shared a couple of checklists and a list of principles of their team. I would like to thank him once again for one of the most useful reports on Codefest X.
About engineering chauvinism: disgusting to be a manager - Evgeny Kot
The report is premium, theatrical groups nervously envy. The speaker is very talented, it is worth paying to his other reports. A wonderful presentation in the form of a story about the psychological problems of the transformation of an engineer into a tmlide.
Recommended for regular viewing for those who choose between management and recess in architecture and ask questions:
- If I become a team leader, I will be unclaimed,
- If I become a team leader, I will not be able to code,
- If I become a team leader, then where should I develop?
The speaker answered them, and also introduced the abbreviation "SOSO syndrome": fear, despair, shame, alienation. And then, on all the punt, I figured out where these emotions come from and how to deal with them.
Mobile
iOS. Everything is MVC: why do we need other architectures? - Evgeny Rtishchev
A very informative report that MVC in iOS is not perceived by many as entirely correct, and that this is in fact not evil. It is interesting that Eugene a few years ago gave a
report against MVC on Mobius , and then re-realized everything. He reviewed various types of controllers with examples from the SDK, the advantages of this architecture, and explained where the roots of the problems that stand out when working with MVC are growing.
Tips that Eugene shares:
- use 4 types of controllers,
- share responsibility
- avoid connectedness
- design from model
- quick and easy interface change,
- massive view controller - contrived problem.
It is especially interesting to listen to the report when you have already tried MVCC, MVVM, MVP, VIPER or other architectures and share the pain and the advantages that exist in each of them. More and more makes you think that, by and large, it’s not about what the architectural pattern is called.
iOS E2E UI tests: many, green and on Pull Request - Artem Razinov
Artyom talked about how reducing the volume of mandatory regression tests and increasing the volume of UI tests, the team significantly reduced the time of regression testing of a large application and began to be released more often.
It was useful to hear about the techniques and techniques that can be used to achieve an optimal result. Especially remember these:
- evaluate the feasibility of UI testing, based on the frequency of releases and time to update the tests,
- Impact analysis, so as not to run all the tests each time,
- regular full runs,
- parallel tests for acceleration.
We recommend this report to mobile developers.
Android Instant Apps, two years later - Yevgeny Saturov
In 2017, such a tool was introduced as Instant Apps - to put it simply, this application with instant launch. Surf got early access to this feature.
Eugene told what problems they encountered in the development and testing process. First, there was the problem of a severe SDK, which was supplied with a zip archive. Secondly, there was no documentation. It also had to meet stringent requirements in the application architecture. The application could not weigh more than 3 MB and it had to be broken into modules.
After development, two years later, Google introduced another solution - Android Dynamic Feature Delivery, which allows you to do roughly the same thing, but with different restrictions. The new SDK is also not particularly stable, difficult to test and has a bunch of bugs and crutches. One of the main restrictions - you need to give Google your key, which is signed by the application.
Eugene shared tips on what to read and how to solve all these problems. He talked about his experience using Dynamic Feature Delivery, summarizing the fact that it was still a raw thing.
Android Tools for solving problems in a large team - Vladimir Tebloev
Sberbank has a large Android development team - more than 100 people work on one project. At some point, the team began to grow, and developers needed to somehow be controlled. In the report, Vladimir shared a set of practices and tips that can help in interacting with the team, even if fewer people work there.
For example, a new employee is always assigned a mentor. For beginners, there is a knowledge base: design, architecture guides, code convention, how testing and documentation in Confluence are arranged - everything is up to the point of how to clone a project.
This does not mean that everything is limited to one stack. For new technologies, the company develops good and bad practices in separate modules, after which it makes a guide on using this technology. The process is structured as follows: they tried, wrote practices, proved the need for this technology, after which it is taken into use by the team.
An interesting idea of ​​Vladimir that sometimes dictatorship is a necessary evil. If you listen and try to please each of the 130 people, nothing good will come of it. Sometimes it is necessary to say, directively: “We do this.” This certainty and broadcast these guides.
Products
How artificial intelligence turns into new electricity - Ivan Yamshchikov
The report is from Ivan Yamshchikov himself, who participated in the creation of the neural network, which wrote
several songs in the style of Yegor Letov.
The author believes that artificial intelligence will change our world as much as electricity once changed it. The main practical message of the report was that it is high time to start thinking about what can be automated using artificial intelligence. Once electricity allowed to automate many industries in which physical force was previously used. Now, artificial intelligence can replace people in intellectual activity, for example, in working with documents. Artificial intelligence does not get tired, it has access to large amounts of data and it does not make mistakes.
The report charges with the feeling that the future is already here.
Frontend
Immersed in the Web - Luis Diego Gonzalez Zuniga
The speaker spoke about what an immersive web is (immersiveness - creating the effect of immersion, presence). Samsung browser, according to its statistics, ranks fourth in Russia in terms of usage. It sounds strange, but perhaps this is due to the fact that the default browser is placed on the new Samsung.
In general, we are talking about embedding virtual reality (WebXR) into browsers. The result is a browser with a wide range of capabilities, including various gamepads, joysticks, etc. right inside it.
Gonzales also talked about the differences between VR (virtual reality) and AR (augmented reality), and how all this makes up XR. According to him, “XR covers platforms and content where the user can take digital objects as reality, or, on the contrary, see physical objects present in the digital scene.” Also, the speaker showed how to enable the virtual reality mode in the Samsung browser. At the demonstration, I caught the bug, but I assured that “everything worked before the report”.
As a result, the shown looks really interesting. We expect, when such decisions will go to the masses and it will be possible to install the application or browser on any smartphone.
While the report has not been posted, Samsung’s immersive web can be found
here .
Future
Trends of the impossible - Evgeny Chereshnev ( presentation )
Evgeny Chereshnev is an IT researcher and journalist, a participant in the TED New York conference. The report was perfect for opening the Future section. In it, Eugene touched upon topics that we do not think about in everyday life, but which are waiting for us in perhaps the near future. In general, it was about innovation.
There are several basic thoughts:
- We are all unique from birth, but the system adjusts us to society. A person who was able to keep a child within himself retains the curiosity inherent in children, and with it the opportunity to seek and invent something new. Such people in the report are referred to as "the child who survived."
- Innovations are possible only in small companies, start-ups. Big companies, similarly to people, lose their ability to introduce something truly new with age and growth, since this is too risky for them.
- Problems in innovations in Russian startups are primarily related to the fact that “a Russian engineer is usually not about money,” which means that many companies burn out at the very beginning simply because they think “to make cool”, but not profitable. Chereshnev says that the product needs to be able to sell - “first money, then code”.
- One of the key thoughts of the report and Codefest as a whole is that soon artificial intelligence will be everywhere. The robots will start to force out a person gradually, since there is no need, for example, in a factory worker, if a robot that doesn’t need to pay, does a better job. In response to such trends, the speaker says that human DNA is the same code and data, which means you can work with them. The only way for humanity to continue to exist in normal mode is to transform itself, to improve as a code. Eugene himself, for example, has already implanted a chip in his hand. Who knows, maybe in 50 years we will all be a little cyborg.
Further, Eugene spoke about more pronounced trends - what will develop in the near future:
- Eco-energy,
- Automated medicine (the bot will respond to the patient's complaints, so there will be no need for a visit to the therapist),
- Omni-education (in the near future a person will not have a specialty, he will have to have several specialties at once in order to switch between them in time).
Eugene ended his report by saying that innovation is inevitable and evolution "extends to everything, living and nonliving."
Why being good for everyone is not good. And will not be - Alexander Orlov
“Why do you bomb your words and actions?” Why can't you insist on talking to someone? ”
This is a useful report on reality maps, on constructive confrontation, on the needs that we satisfy in the process, on how to switch from irritation to interest, from “I am right and you are not” to “why do you have it?”. It will be useful to everyone who interacts with other people, that is, in general everything!
It’s funny that the very next day the equipment about which Alexander spoke was useful: before drawing conclusions and getting upset, you can directly say about your expectations and ask why the interviewee does or thinks otherwise. Then it may turn out that there is no problem, and you just have a different vision.
Non-technological problems of “smart” products - Andrey Serbant ( presentation )
The report was devoted to the fact that it is not enough to come up with something innovative, be it artificial intelligence or unmanned vehicles - it is important to prepare people for the fact that innovations are not dangerous and will benefit society.
Sebrant identifies three main points about how people should be prepared for innovation:
- you do not need to talk about the product as well, as you would tell about it to your fellow developer - a person who is not immersed in the topic, it is not clear,
- in communications with consumers, it is necessary to focus not on rationality, but on emotions, to make the product a source of emotions for the consumer,
- the product for the end user must be magic, not a tool.
An example of such innovation are unmanned vehicles. Now it is not difficult to find on the Internet, how many fears such cars cause - they are unsafe, they will move people, get into accidents, they are not made for Russian roads and so on.
Sebrant says that such cars became “new electricity” - they were also afraid of electricity, and now we cannot imagine our life without a banal light bulb.
He spoke about the experience of managing emotions on the example of an unmanned taxi developed by Yandex. The first tests on the roads were carried out with the driver inside, who simply sat and did nothing - the car drove itself. Such a demonstration did not impress unprepared viewers. The presence of a person inside the car suggests that it is he who drives the car.
The following tests were conducted at a closed site, where it was possible to start the car without a driver. The opportunity to experience it was offered to all the same ordinary people who were spectators and the last time. The effect of a moving car with an empty driver's seat is difficult to describe. People took a completely new look at the same car - the very effect of “magic, not tool” was created.
Three small cockroaches on the way to a great future - Maxim Dorofeev
( presentation )
The report was significantly different from other reports in the Future section: it was not about the future, but about what we encounter every day - why we get tired, why we don’t have time to do something, why we don’t grow, etc. The main reasons for these everyday problems Dorofeev calls "three cockroaches."
- Cockroach first: "This is not urgent, then it means." The mistake of many people - there are urgent tasks, there are no urgent tasks. The order in which they are performed is most often determined solely by an indicator of urgency, but not importance - this is wrong.
- The second cockroach: "Now I will deal only with trifles." You come in the morning and start to do tasks little by little, for each of which you need 10-15 minutes, but as a result there are a lot of them and there is no time left for something really important.
- The third cockroach: “What if there is something urgent there?” Certainly, the situation is familiar to everyone - you work and in parallel someone sends you a letter or message in Skype with some “important” task - you get distracted, everything and nothing is done. There is also an effect of false importance - at the moment the task seems more important to you than it is, you send it to someone further, to that person it begins to seem even more important. At the end of the chain, a frightened developer starts in a panic quickly and quickly to do this initially unimportant task.
Dorofeev says that we all need to avoid meeting with these cockroaches at work and in life in general.
An important idea in the report is also the division of tasks into “red” and “green” ones. “Red” tasks are urgent tasks, for which non-fulfillment will be followed by inevitable punishment. “Green” tasks are tasks that are interesting and important for development, which are usually postponed due to turnover. It is better, having a “red” and “green” task, to do both at least somehow, but to get a more useful result than to do only the “red” task, but fine.
In general, the report was still a large number of practical tips for every day, filed very accessible and with humor. Such reports need to look.
Car of the future. We analyze Tesla for engineering solutions and breakthrough ideas - Igor Antarov
The report is almost impossible to retell in text format - there are a large amount of materials in the presentation, a story about Mask, what he does besides Tesla, etc. Let's go over the most interesting facts:
- Electric cars can flood the world for 15 years,
- The economy will be economical and environmentally friendly - thanks to electric cars,
- The difference between Tesla and other electric vehicles is that this is the first electric vehicle that is not only eco-friendly and economical, but also stylish and powerful.
- Mask had a “secret plan” for Tesla's development: to build sports cars, use money to create an affordable car, but while doing this, also provide opportunities for generating electricity with zero exhaust.
The plan had a sequel:
- Create a solar roof with a fully integrated battery.
- Expand the product line for electric vehicles to cover the main segments.
- Develop an autopilot that is 10 times safer than manual driving thanks to training the entire fleet
- Your car earns money for you while you do not use it - public car sharing.
Tesla at the moment is already able to drive on highways and traffic jams, park (with a driver), change lanes, offer a lane change, give way to rebuilding cars, stop at a red light (soon learn).
Tesla kills retail. Perhaps, soon there will be no dealers and dealers - the car will be available on the Internet, and she will come to you.
This electric car is an example of true Continuous Integration. The machine is no longer a machine, but an IT platform. I wonder how many years we will have the post of automotive developer?
30 professions of the future. 10 professions of the past. 2 professions outside of time and space - Evgeny Chereshnev
A report from the same Evgeny Chereshnev, who on the first day opened the CodeFest with “Trends of the Impossible”. This time the report was a closing keyout, it was easy to read and very unusual.
When they usually talk about the professions of the past, the future and the present, fairly standard options come to mind: professions of the past - those that will push out robots (places in factories, cashiers, etc.), professions of the future - something with engineering, robotics, timeless works teachers, scientists and other irreplaceable specialties.
The Chereshnev report is not like that. To understand this, simply look at the lists that he proposed.
The professions of the past turned out to be entirely from the past:
- Chimney sweep
- People alarm clocks
- Bowling Spreaders
- Pioneer counselors
- "Chelodary" - people who worked as radars before the appearance of the last
We now turn to the professions of the future:
- DNA engineer
- Farmer human organs
- Cyber ​​Pet Developer
- Infrastructure developer for driverless (to the word about Tesla above)
- Mars colonist
- Cosmo stewardess
- Deep Space Comms Engineer (establishing communications in space)
- Colonial troops
- Asteroid drilling operator (new perspectives for GGF NSU students)
- Drifting Cities: Architect, Captain
- Roy / Dyson Sphere Engineer
- Cyber ​​Security Officer
- Police: Artificial Intelligence Control Officer
- Police: prevention officer (people can be arrested for being susceptible to crimes by biological indicators, but have not yet committed them)
- VR-military, operators (as in Avatar, only in life)
- Full-Time Cybersportsman (to control the avatars discussed above, future operators)
- VR Space Architect
- Time-travel Experience Engineer (not a “back to the future” or “butterfly effect”, but rather a past reconstructed by artificial intelligence just to see what it was)
- Talent manager (he is HR - the eternal and necessary profession)
And finally, the eternal profession:
- Scout / Counter Scout
- Mathematician / Physicist (general, scientist)
- Writer
- Painter
- Archaeologist
- Philosopher
The report was easy, interesting and fantastic, and ended with a sweet note that no matter what time we lived, the profession of parents would be the most popular and important profession.