DartUP 2020 online conference: just like offline. Event Report Through Surf Eyes

This year the DartUP conference took place online for the first time. It brought together over 450 developers from different companies: Google, Yandex, Wrike, EPAM, Meduza and others. The guys from Surf also gave their reports. We tell you what topics were raised by our developers and what DartUP will remember this year.







Online is rock and roll and almost offline



The conference turned out to be unlike other online events: thanks in large part to SpatialChat. Because of it, the "online" was not felt at all: there is a stage, people occupy some places inside, and this affects the volume of their microphone - as if they are really standing closer or further.



People around can leave comments, put emoticons, turn on the camera with a microphone and communicate with speakers or among themselves. It turned out a lot of networking in an atmosphere unusual for an online - this is sorely lacking at conferences in covid times. At the same time, all the advantages of online have remained: for example, there is no need to waste time on the road and put on masks. It's a cool format, real rock and roll among conferences.







Surf and conference organizer Wrike had their own booths. We were given freedom of creativity: Wrike supported all our activities and did not refuse anything - for this we are very grateful to them.



They put cool professionals on the stage



Our booth consisted of two parts: a virtual stage for presentations and a code review area. The schedule of the first day was busy:







We gave reports:



  • Zhenya Saturov is a co-author and host of the Flutter Dev Podcast . He's also the Surf team lead and Flutter evangelist. Can explain to anyone why he needs or does not really need Flutter.
  • Masha Dolgusheva is an experienced and permanent HR Surf. Masha selects specialists for us, conducts interviews and resolves sometimes misunderstandings in the team.
  • Artyom Zaitsev is a thunderstorm for the students of our Flutter course and the head of the Flutter department at Surf .


Artyom and Zhenya talked about our projects on Flutter:





10-15 people came to listen and ask questions - it's almost a crowd. It is good that the conference was online, otherwise we would not have been able to provide a social distance of 1.5 meters.



Helped developers choose vacancies and taught how to talk with HR



Masha and Zhenya held an HR-talk - this is how we called the format where viewers can ask the HR-talker for answers to the most pressing questions about work.



For HR-talk, we have collected the most popular questions from developers and answered each of them. For example:



  • How to prepare for an interview to feel confident?
  • What companies are looking for Flutter developers?
  • Why are they asked to do a test task and what does it give the developer?




For a developer, there is nothing more important than code examples



Masha spoke about the labor market: the level of salaries, the number of vacancies and resumes, and Zhenya was the host of the speech. It was the most lively non-Flutter conversation at the conference: many people connected, they actively responded with emoticons and comments.



It turned out that homework is not enough, because the developers ask a lot of interesting questions. For example, such: "Why are HRs so obsessive?" After the presentation, Masha continued to communicate with the audience. She has amassed so many questions from developers that she can now publish a book with answers if she wants.







The second day was similar to the first: Masha repeated the basic information for those who missed yesterday's presentation, but this time the performance was more like a stand-up than a dialogue. Probably, the developers' questions are over. It was not without stories about how hard life is for HRs - those present could understand this profession a little better. Understand and forgive.



They told why you shouldn't listen to advice



Meanwhile, Zhenya switched to a new presentation. Together with the Flutter-developer of Surf, Lesha Korpatenkov, they talked about our project The Hole . It is a video streaming platform for Medium Quality, the largest publisher of Russian Youtube.







Even at the stage of choosing a technology, everyone around said that there was no need to make such an application on Flutter. The guys went their own way, and everything worked out. It is unlikely that the project would have turned out if Zhenya and Artyom had listened to the outside opinion.



Climbed under the hood of a Flutter machine



At the same time, Flutter-developer Misha Zot'ev and head of Flutter-department of Surf Artyom Zaitsev were dismantling “Flutter under the hood”. Their report turned out to be very voluminous and useful.



In 2020, Misha plunged into the "insides" of Flutter more than once, dealt with the algorithms and approaches that the framework uses. On the most interesting topics, he wrote articles for Habr. Over time, Misha accumulated a lot of material, which was structured and turned into a report "Flutter under the hood". This is not only new knowledge, but also real examples of how it can be applied in practice.





We were watched simultaneously by about 270 people. This is an almost full hall of a large cinema.



After the presentation, Misha went to answer the participants' questions, and Artyom took over the longest and most difficult - code review.



Review or repositories



Artyom reviewed the repositories and answered questions from the participants for two hours. Five applications were submitted for the review, and 15 people followed the process.





The code review took place on our YouTube channel



Code Review is useful for everyone: beginners learn something new, and experienced developers get a fresh perspective. Here SpatialChat let us down a little: the video slowed down, someone did not see anything at all. We decided to show the stream from our channel, but for some reason YouTube didn't allow it. I had to go in a roundabout way: they left a QR code at the stand so that viewers could read it and switch to our channel. 15 people came, and 25 stayed to watch at our stand.



Artyom evaluated the repositories live, commented on the code, and gave advice. But due to technical problems with SpatialChat, there was not enough feedback: I had to communicate with viewers through comments.



It turned out to be a lamp, we liked it. People listened carefully and left useful comments. We came to the conclusion that the code review is a good format and then it will be possible to hold a similar event.



Revealed our secrets



The second day's schedule was less crowded. On the stage - all the same people.







The main event of the second day is Flutter TeamLead Zhenya Saturov's presentation “Gear Up”. He shared solutions that help optimize processes in a Flutter project.



We love Flutter as much as we love native development. Two years ago, Flutter was just a

hype technology with unclear prospects. We were uncomfortable, somewhere even scared, but we made a bet and have already created several large projects and a large repository with open source developments - SurfGear . He has a cool mission - to speed up development and simplify the implementation of typical tasks.





Zhenya's speech. Pleases the last comment: "Hurray, Eugene!"



We wanted to tell you about our SurfGear and run a contest to collect ideas. Unfortunately, there weren't many responses here, but one idea really reflects the pain of the community. Flutter developers now have two approaches when working with dependencies and DI:



  1. The get_it service locators are mostly singletones. Everything is stored in one place, dependencies often live all the time the application is running.
  2. "Forwarding" on a tree. For example, using provider. Here it is possible to select scopes - to limit the lifetime, because the dependencies are essentially created in one or another widget. But this is how we mix the service and UI layers. This is also not very good.


We were sent the idea of ​​an “ideal” approach that would allow us to decouple business logic from the UI, while still allowing us to limit the “lifetime” of dependencies. A specific solution has yet to be found: perhaps the koin package can provide something similar - the author of the idea himself drew attention to it. We will investigate this matter with him and come to a decision.



***

Online is not a substitute for offline, but Wrike has organized the most lively remote event we've been able to attend - for that we would like to thank them.



Have you been to DartUP 2020? What do you remember the most?



All Articles