- PVSM.RU - https://www.pvsm.ru -
В Новосибирске прошла юбилейная, десятая конференция CodeFest. Программа была очень насыщенной: десять секций о разработке, тестировании, дизайне, управлении и развитии. Сотрудники True Engineering два дня конспектировали доклады, теперь хотим поделиться этой пользой с вами.
Надеемся, наш отзыв пригодится тем, кто будет смотреть видеозаписи выступлений. Часть презентаций уже опубликована в открытом доступе, поэтому мы дополнили некоторые отзывы ссылками на них. Доклады отсортированы по секциям.
Нас зацепил доклад Валерии Курмак из «Сбербанка» об оптимизации программного обеспечения для людей с ограниченными возможностями.
Главный посыл доклада состоит в том, что на самом деле людей с ограниченными возможностями очень много. И это не только абсолютно слепые люди. Это все те, кто уже не может видеть столь же ясно, как в молодости: наши с вами бабушки и дедушки, отцы и мамы. Это наши с вами друзья, которые временно потеряли трудоспособность из-за физических травм. Это от 2 до 8% мужчин, которые испытывают затруднения в восприятии цветов.
А ведь для таких людей не нужна отдельная версия вашего приложения — все уже давно придумано. Банально делая ваш веб-сайт масштабируемым, вы делаете его доступнее для миллионов людей. Используя стандартные элементы управления или семантическую верстку, вы сильно помогаете своим пользователям.
Валерия совместно с сотрудниками «Сбербанка» сделала отличный гайдлайн по этой теме. Гайдлайн разбит на несколько коротких руководств для разных ролей:
Найти его можно по ссылке [1].
Плотно набитый полезными знаниями доклад об устройстве TCP-протокола и о проблемах, которые в условиях современных сетей мобильной связи приводят к пределу утилизации и пропускной способности канала.
В «Одноклассниках» доставка видеоконтента и ленты новостей играет решающую роль в успехе сервиса. При незначительном количестве потерянных пакетов и росте задержки сети ее утилизация падает почти до 50%. Чтобы решить проблему, в компании пилят свои протоколы для каждого вида трафика на замену TCP. (Тем же самым занимается Google — протокол QUIC). Большой респект ребятам за то, что не побоялись пошатнуть фундаментальные устои.
Новый стандарт http/2 также упирается в горлышко TCP, поэтому правильная цель для клиент-серверных систем — http/3, который работает поверх QUIC.
В итоге «Одноклассники» получили хороший прирост производительности системы. На демо было визуально видно многократное ускорение загрузки ленты. Также «Одноклассники» первые в мире стали транслировать Live видео HD-качества. Пример: почему-то американские дальнобойщики любят транслировать в сеть запись с дорог. Видимо, пользуются как видеорегистратором.
Алексей утверждает, что за десятилетнюю историю работы Skyeng они ни разу не переписали свое приложение с нуля. Как же они поддерживают качество кода? Все просто — они рефакторят :) Сам доклад совсем не о том, какими техническим средствами делать рефакторинг, а о том, как убедить менеджера в его необходимости.
Первое, что следует сделать разработчикам — это перестать жаловаться на то, что приложение давно нужно зарефакторить, а вместо этого найти с менеджером общий язык и договориться. Если кратко, то заранее заводите задачи технического долга в бэклоге своего проекта, оценивайте, приоритезируйте их и обращайтесь к менеджеру с конкретными предложениями. И обязательно прочитайте книгу Гевина Кеннеди «Договориться можно обо всем!».
Вторая важная мысль доклада — не врать. Не стоит включать рефакторинг в оценки фич. Это делает процесс разработки менее прозрачным. Вы рискуете погрязнуть в рефакторинге, так как перестанете отслеживать время, затрачиваемое на него.
Еще Алексей рассказал, как они используют телеграмм-ботов для планирования рефакторинга, а также поделился парой чеклистов и списком принципов своей команды. Хочется еще раз сказать ему спасибо за один из самых полезных докладов на Codefest X.
Доклад премиум-класса, театральные труппы нервно завидуют. Спикер очень талантливый, стоит обратить на его другие доклады. Чудесная подача в виде истории о психологических проблемах трансформации инженера в тимлида.
Рекомендовано к регулярному просмотру для тех, кто выбирает между менеджментом и углублением в архитектуру и задается вопросами:
Спикер ответил на них, а также ввел аббревиатуру «синдром С.О.С.О.»: страх, отчаяние, стыд, отчуждение. И далее по всем пунтам разобрал, откуда появляются эти эмоции и как с ними бороться.
Очень насыщенный доклад о том, что MVC в iOS многими воспринимается не совсем корректно, и что это на самом деле не зло. Интересно, что Евгений несколько лет назад выступал с докладом против MVC на Mobius [3], а потом всё переосознал. Он рассмотрел разные типы контроллеров с примерами из SDK, преимущества данной архитектуры и объяснил, откуда растут корни проблем, которые выделяют при работе с MVC.
Советы, которыми делится Евгений:
Особенно интересно слушать доклад, когда ты уже попробовал MVCC, MVVM, MVP, VIPER или другие архитектуры и разделяешь боль и те преимущества, которые есть в каждой из них. Всё больше заставляет задуматься о том, что, по большому счёту, дело не в том, как называется архитектурный паттерн.
Артём рассказал о том, как уменьшив объем обязательных тестов регресса и увеличив объем UI тестов, команда заметно сократила время регрессионного тестирования большого приложения и стала чаще релизиться.
Было полезно послушать о техниках и приемах, которые можно применять для достижения оптимального результата. Особенно запомнились такие:
Рекомендуем этот доклад мобильным разработчикам.
В 2017 году был представлен такой инструмент как Instant Apps — если говорить упрощённо, это приложение с мгновенным запуском. Компания Surf получила ранний доступ к этой фиче.
Евгений рассказал, с какими проблемами они столкнулись в процессе разработки и тестирования. Во-первых, была проблема сурового SDK, которое поставлялось zip-архивом. Во-вторых, не было никакой документации. Также нужно было выдерживать строгие требования в архитектуре приложения. Приложение не могло весить больше 3 Мб и его нужно было разбить на модули.
После разработки спустя два года Google представил другое решение — Android Dynamic Feature Delivery, которое позволяет делать примерно то же самое, но уже с другими ограничениями. Новый SDK тоже не особенно стабилен, сложно тестируемый и имеет кучу багов и костылей. Одно из главных ограничений — нужно отдать Google свой ключ, которым подписывается приложение.
Евгений поделился советами, что почитать и как решать все эти проблемы. Он рассказал о своем опыте использования Dynamic Feature Delivery, подытожив тем, что это всё ещё сырая штука.
У Сбербанка большая команда по Android-разработке — на одном проекте работает больше 100 человек. В какой-то момент команда начала расти, и разработчиков нужно было как-то контролировать. В докладе Владимир поделился набором практик и советов, которые могут помочь во взаимодействии с командой, даже если там работает меньше людей.
Например, новым сотрудникам всегда назначается ментор. Для новичков есть база знаний: гайды по дизайну, архитектуре, code convention, как устроено тестирование и документация в Confluence — расписано всё, вплоть до того, как клонировать проект.
Это не значит, что все ограничивается одним стеком. Для новых технологий компания вырабатывает в отдельных модулях хорошие и плохие практики, после чего делает гайд по использованию этой технологии. Процесс выстроен так: попробовали, написали практики, доказали необходимость этой технологии, после чего ее берет в использование команда.
Интересная мысль Владимира о том, что иногда диктатура — это необходимое зло. Если прислушиваться и пытаться угодить каждому из 130 человек, ничего хорошего из этого не выйдет. Иногда нужно директивно сказать: «Мы делаем так». Эту определенность и транслируют эти гайды.
Доклад от того самого Ивана Ямщикова, который участвовал в создании нейросети, написавшей несколько песен [4] в стиле Егора Летова.
Автор полагает, что искусственный интеллект изменит наш мир столь же сильно, как его когда-то изменило электричество. Основной практический посыл доклада состоял в том, что уже давно пора начинать думать над тем, что можно автоматизировать с использованием искусственного интеллекта. Когда-то электричество позволило автоматизировать множество производств, в которых ранее использовалась физическая сила. Сейчас же искусственный интеллект может заменить людей в интеллектуальной деятельности, например, в работе с документами. Искусственный интеллект не устает, ему доступны большие объемы данных и он не ошибается.
Доклад заряжает ощущением того, что будущее уже здесь.
Докладчик рассказал про то, что такое иммерсивный web (иммерсивность — создание эффекта погружения, присутствия). Samsung браузер, по его статистике, занимает четвертое место в России по использованию. Звучит странно, но, возможно, это связано с тем, что браузер по умолчанию ставится на новые Samsung.
В целом речь идет о встраивании виртуальной реальности (WebXR) в браузеры. В результате получается браузер с широким спектром возможностей, в том числе различными геймпадами, джойстиками и т.д. прямо внутри него.
Гонзалес также поведал про различия VR (виртуальная реальность) и AR (дополненная реальность), и как все вместе это образовывает XR. По его словам, «XR охватывает платформы и контент, где пользователь может принимать цифровые объекты за реальность, или, напротив, видеть физические объекты присутствующими в цифровой сцене». Также спикер показал, как включить в браузере Samsung режим виртуальной реальности. При демонстрации словил багу, но уверял, что «вот до доклада все работало».
В итоге показанное выглядит действительно интересно. Ожидаем, когда такие решения пойдут в массы и можно будет установить приложение или браузер на любой смартфон.
Пока доклад не выложили, с иммерсивным web от Samsung можно познакомиться здесь [5].
Евгений Черешнев – IT-исследователь и журналист, участник конференции TED New York. Доклад отлично подходил именно для открытия секции Future. В нем Евгений затронул темы, о которых мы не задумываемся в повседневной жизни, но которые ждут нас в, возможно, недалеком будущем. В целом, речь шла об инновациях.
Можно выделить несколько основных мыслей:
Далее Евгений говорил уже о более выраженных трендах – что будет развиваться в ближайшее время:
Свой доклад Евгений закончил тем, что инновации неизбежны и эволюция «распространяется на все, живое и неживое».
«Почему от слов и действий каких-то людей у тебя бомбит? Почему в разговоре с кем-то ты не можешь настоять на своем?»
Это полезный доклад о картах реальности, о конструктивной конфронтации, о потребностях, которые мы удовлетворяем в процессе работы, о том, как переключиться с раздражения на интерес, с «я прав, а ты нет» на «почему у тебя так?». Будет полезно всем, кто взаимодействует с другими людьми, то есть вообще всем!
Забавно, что уже на следующий день пригодилась техника, про которую рассказывал Александр: прежде чем делать выводы и расстраиваться, можно прямо сказать о своих ожиданиях и спросить, почему собеседник делает или думает иначе. Тогда может оказаться, что и проблемы-то никакой нет, а у вас просто разное видение.
Доклад был посвящен тому, что мало придумать что-то инновационное, будь то искусственный интеллект или беспилотные автомобили — важно подготовить людей к тому, что новшества не опасны и принесут пользу обществу.
Себрант выделяет три основных тезиса о том, как надо готовить людей к инновациям:
Примером такой инновации являются беспилотные автомобили. Сейчас нетрудно найти в интернете, сколько опасений вызывают такие машины — они небезопасны, они будут переезжать людей, попадать в аварии, они не созданы для российских дорог и так далее.
Себрант говорит о том, что такие автомобили стали «новым электричеством» — электричества также боялись, а теперь мы не можем представить своей жизни без банальной лампочки.
Он рассказал об опыте управления эмоциями на примере беспилотного такси, разработанного Яндексом. Первые испытания на дорогах проводились с водителем внутри, который просто сидел и ничего не делал — автомобиль управлял собой сам. Такая демонстрация не впечатлила неподготовленных зрителей. Присутствие человека внутри машины наталкивает на мысль, что именно он управляет автомобилем.
Следующие испытания проводились на закрытом полигоне, где можно было запустить автомобиль уже без водителя. Возможность испытать его предлагалась все тем же обычным людям, которые были зрителями и в прошлый раз. Эффект от движущейся машины с пустым водительским сидением сложно описать. Люди совершенно по-новому взглянули на тот же самый автомобиль – был создан тот самый эффект «магии, а не инструмента».
Доклад существенно отличался от других докладов в секции Future: в нем рассказывалось не про будущее, а про то, с чем мы сталкиваемся каждый день – почему устаем, почему не успеваем что-то сделать, почему не растем и т.д. Основными причинами этих повседневных проблем Дорофеев называет «тремя тараканами».
Дорофеев говорит о том, что всем нам надо избегать встреч с этими тараканами в работе и в жизни в целом.
Важной мыслью в докладе также является разделение задач на «красные» и «зеленые». «Красные» задачи – это задачи срочные, за невыполнение которых последует неминуемое наказание. «Зеленые» задачи – это задачи интересные и важные для развития, которые обычно из-за текучки откладываются на потом. Лучше, имея «красную» и «зеленую» задачи, сделать обе хотя бы кое-как, но получить при этом более полезный результат, нежели сделать только «красную» задачу, но хорошо.
В целом в докладе было еще большое количество дельных советов на каждый день, поданных очень доступно и с юмором. Такие доклады нужно смотреть.
Доклад практически невозможно пересказать в формате текста – в презентации большое количество материалов, рассказ о Маске, о том, что он делает кроме Теслы и т.д. Пройдёмся по самым интересным фактам:
У плана было продолжение:
Тесла на данный момент уже умеет ездить по хайвеям и пробкам, парковаться (с водителем), перестраиваться по поворотнику, предлагать смену полосы, уступать дорогу перестраивающимся машинам, останавливаться на красный свет (скоро научится).
Тесла убивает ритейл. Возможно, вскоре не будет дилеров и автосалонов – машину можно будет купить в интернете, и она сама к вам приедет.
Этот электромобиль – пример настоящего Continuous Integration. Машина теперь не машина, а IT-платформа. Интересно, через сколько лет у нас появится должность автомобильного разработчика?
Доклад от того же Евгения Черешнева, который в первый день открывал CodeFest «Трендами невозможного». На этот раз доклад был закрывающим кейноутом, оказался легким для восприятия и очень необычным.
Когда обычно говорят о профессиях прошлого, будущего и настоящего на ум приходят довольно стандартные варианты: профессии прошлого – те, которые вытеснят роботы (места на заводах, кассиры и так далее), профессии будущего – что-то с разработкой, робототехникой, вечные работы – учителя, ученые и другие незаменимые специальности.
В докладе Черешнева все не так. Чтобы это понять, достаточно просто посмотреть те списки, которые он предложил.
Профессии прошлого оказались совсем из прошлого:
Теперь перейдем к профессиям будущего:
И напоследок вечные профессии:
Доклад был легкий, интересный и фантастический, а закончился милой ноткой о том, что в какое бы время мы ни жили, самой востребованной и важной профессией будет являться профессия родителей.
Автор: true_engineering
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/313638
Ссылки в тексте:
[1] по ссылке: http://specialbank.ru/guide/index.html
[2] презентация: https://speakerdeck.com/codefest/codefest-2019-alieksiei-kataiev-skyeng-riefaktoringh-doghovarivaiemsia-planiruiem-vniedriaiem
[3] докладом против MVC на Mobius: https://2016.mobiusconf.com/talks/rtishchev/
[4] несколько песен: https://music.yandex.ru/artist/4445922
[5] здесь: https://youtu.be/JsOxaE1amPU
[6] презентация: https://speakerdeck.com/codefest/codefest-2019-ievghienii-chierieshniev-biolink-dot-tech-triendy-nievozmozhnogho
[7] презентация: https://speakerdeck.com/codefest/codefest-2019-andriei-siebrant-iandieks-nietiekhnologhichieskiie-probliemy-umnykh-produktov
[8] презентация: https://speakerdeck.com/codefest/codefest-2019-maksim-dorofieiev-mnogosdelal-dot-ru-tri-malien-kikh-tarakana-na-puti-k-bol-shomu-budushchiemu
[9] Источник: https://habr.com/ru/post/446718/?utm_campaign=446718
Нажмите здесь для печати.