Save the date: встречаемся 22 апреля на iOS Meetup Wildberries & Russ
22 апреля в 19:00 мск приглашаем на iOS-митап. В программе три технических доклада и нетворкинг с инженерами, которые ежедневно строят мобильную разработку в Wildberries & Russ. Поговорим про автоматизацию релизного процесса, масштабируемое UI-тестирование и тонкости работы с файловой системой iOS.
— Автоматизация релизов в Wildberries | Севастьян Жуков, Deploy Lab Team Lead
Как команда с нуля создала инструмент для управления релизным процессом мобильного приложения и масштабировала его на другие продукты компании. Разберём этапы автоматизации и работу с App Store API: управление релизами и отслеживание их статуса.
— UI-тестирование приложения Wildberries | Руслан Колчаков, iOS TestLab Lead и Валерий Карачаков, iOS TestLab Dev
Руслан расскажет про вызовы при организации тестирования, инфраструктуру и метрики здоровья TestLab. Валерий дополнит докладом про распределённое UI-тестирование на динамически формируемом кластере раннеров: как избежать простоев, эффективно утилизировать ресурсы и ускорить тестирование.
— Работа с файловой системой на iOS | Александр Игнатьев, iOS-разработчик команды Асто
Разберём нюансы работы с файлами, структуру iOS Sandbox и App Group как способ выйти за её пределы.
⏹️Формат: офлайн в Москве + онлайн-трансляция Регистрация
Привет, Хабр! Задали насущные вопросы про технологии и команду Александру Сырцову, Head of Frontend клиентского сайта Wildberries. Первая часть — здесь. А мы продолжаем.
Какое главное качество отличает хорошего фронтенд-разработчика в крупной команде?
Системное мышление — умение видеть не только свою текущую задачу, но и то, как она соотносится с предыдущими решениями команды и как повлияет на реализацию следующих задач. Инженеры с таким мышлением способны строить гибкие системы, готовые к трансформации и масштабированию.
Как выбрать правильный стек технологий для нового большого проекта?
Всё начинается ещё до разработки. Необходимо понимать две базовые вещи: текущий технологический ландшафт и ситуацию на рынке.
Важно учитывать экосистему и долгосрочную жизнеспособность выбранных решений: есть ли активное сообщество, кто стоит за технологией, насколько легко найти разработчиков, какие отзывы о ней дают практикующие инженеры и техлиды.
Далее следует анализ бизнес-требований: нужен ли серверный рендеринг для SEO, какая требуется интерактивность, какие браузеры необходимо поддерживать. Если проект нужно запустить в сжатые сроки, критичным фактором становится совместимость с существующей инфраструктурой: будет ли выбранная технология работать с текущими CI/CD-процессами, мониторингом и бэкендом.
И, наконец, ключевой вопрос — экспертиза команды. Есть ли внутри необходимые компетенции? Если нет, готовы ли мы инвестировать в обучение и дополнительный найм?
В целом, для нашей компании важны стабильность, производительность и возможность найма предсказуемо сильных специалистов.
Какие методы применяют в твоей команде для поддержания высокопроизводительного фронтенда?
На этапе разработки мы активно используем профилирование, следим за количеством и скоростью запросов, временем выполнения кода и системно применяем кэширование.
В продакшене — постоянно мониторим Core Web Vitals (LCP, FCP, CLS и другие) в реальном времени и на всех типах устройств. Мы не ориентируемся исключительно на показатели Lighthouse, поэтому особое внимание уделяем телеметрии с реальных пользовательских устройств.
Как ты мотивируешь команду оставаться креативной и находить нестандартные решения?
В компании выстроена культура, в которой разумный эксперимент, даже если он не привёл к ожидаемому результату, воспринимается не как провал, а как ценный опыт. Ключевое — уметь быстро откатиться и сделать выводы.
Внутри команды создана среда, где каждый может предложить нестандартное решение или техническую инициативу — и быть услышанным. Мы регулярно проводим техновстречи: любой участник команды может выступить в роли спикера и поделиться своим опытом. При этом ключевые технические решения не принимаются в одиночку — их обсуждает коллегия наиболее опытных разработчиков, где идеи проходят совместное обсуждение и взвешенное принятие.
Привет, Хабр! Задали насущные вопросы про технологии и команду Александру Сырцову, Head of Frontend клиентского сайта Wildberries. Мини-интервью — ниже.
Какие самые большие мифы вокруг фронтенд-разработки тебе встречались?
Миф 1. Фронтенд обязательно должен быть «глупым». Получили данные — отрисовали, изменили — отправили обратно на сервер.
В масштабах маркетплейса Wildberries фронтенд, наоборот, должен быть «умным»: мы сознательно выносим часть бизнес-логики на устройства клиентов, чтобы снизить нагрузку на серверные мощности. При этом сами микросервисы стараемся упрощать.
На таких высоконагруженных проектах, как наш, фронтенд — это сложная инженерия: управление состоянием тысяч динамических элементов, оптимизация времени загрузки на медленных соединениях, построение архитектуры, которая масштабируется вместе с ростом бизнеса, а также прямое влияние на конверсию и Core Web Vitals.
Миф 2. Мобильная и десктопная версии могут сильно отличаться.
Для нас критически важна консистентность. Пользователь может начать покупку в приложении или мобильном браузере, а завершить её на десктопе. Поэтому единая логика, дизайн-система и API — это не nice to have, а обязательное требование.
Миф 3. Производительность фронтенда — это забота только фронтенд-разработчиков.
На практике — это командная работа. Бэкенд должен отдавать оптимальные данные, дизайнеры — учитывать производительность своих решений, менеджеры — закладывать время на оптимизацию.
Мы уделяем этому направлению много внимания, потому что наш фронтенд должен одинаково хорошо работать на самых разных устройствах и с самыми разными техническими характеристиками.
Какое самое необычное решение по оптимизации фронтенда тебе когда-либо приходилось применять?
Это была не моя идея, но эффект меня действительно удивил. В некоторых местах мы сознательно пошли против парадигмы SPA и стали заранее держать в DOM-дереве подготовленные в фоне части приложения. Смысл подхода в том, чтобы при переходе пользователя в раздел не начинать рендер с нуля, а как можно быстрее показать заготовленный контент.
Мы измерили метрики для обоих подходов — классического и «революционного» — и увидели, что пользователи значительно чаще совершают заказы, если могут максимально быстро увидеть страницу и начать с ней взаимодействовать.
Какие изменения произошли в экосистеме фронтенд-технологий за последнее десятилетие и как они повлияли на твою работу?
Десять лет для мира фронтенда — это целая вечность. Мы прошли путь от MVC-фреймворков к компонентному подходу, пережили расцвет TypeScript, серверного рендеринга и его эволюции к гибридным моделям. Вслед за бэкендом научились строить микросервисы на фронтенде — микрофронтенды, и это лишь часть изменений.
Существенно выросла кривая входа: сегодня уже нельзя сказать, что фронтенд — это просто вёрстка и кнопочки. При этом в самой работе радикальных изменений не произошло. Что-то стало удобнее и проще, где-то требуется больше знаний, чтобы понимать, как всё работает под капотом.
Я отношусь к новым технологиям как к инструментам. Здорово, когда у тебя есть удобный «мультитул» — молоток с фонариком и отвёрткой в одном устройстве. Но настоящий инженер должен уметь работать с любым инструментом и выбирать тот, который лучше всего подходит под конкретную задачу.
Save the date: встречаемся 27 ноября на Wildberries & Russ Golang Meetup!
27 ноября в 19:00 приглашаем на Golang Meetup, где поговорим о том, как строить надёжную бизнес-логику, управлять памятью без потерь производительности и проектировать масштабируемую событийную архитектуру.
В программе — три доклада от инженеров Wildberries & Russ, которые решают эти задачи в продакшене каждый день: про иерархические стейт-машины в Go, реальные кейсы оптимизации GC и указателей, а также опыт создания единой платформы событий Databus.
🎤 Доклады:
Иерархические стейт-машины: инструмент для организации бизнес-логики | Сергей Шлянин, Go-разработчик в WB Bank.
1000 в 1: единая платформа для событий Databus | Виктор Такташов, Go-разработчик в платформе Trust & Safety.
Указатели в Go: от аллокации до GC — разбираем ошибки производительности на реальных примерах | Александр Бруяко, Unit Lead в сервисах Медиа.
После докладов — афтепати и нетворкинг с разработчиками Wildberries & Russ.
Приглашаем на Infra Meetup от Wildberries & Russ! Расскажем про внутреннее файловое хранилище собственной разработки, поговорим о методах автоматизации репозиториев в Nexus, разберём существующие сервисы и процедуры их сопровождения, обеспечивающие бесперебойную работу. И обязательно затронем важнейшую тему культуры инженерного взаимодействия в команде.
В программе:
Файловое хранилище Wildberries: бескомпромиссный HighLoad | Иван Волков, CTO CDN
Как устроено одно из важнейших файловых хранилищ Wildberries
1,2+ млн RPS на выдачу фото и видео — и это не предел
Код Оккама: органический подход к разработке и процессам
Путь автоматизации репозиториев в Nexus | Владислав Раев, DevOps & DevTools Engineer
Автоматизация без стандартизации, или путь в никуда
Что работает для 10, может сломаться на 100
Меньше состояния — меньше проблем
Явное лучше неявного
У вас завелся сервис: рекомендации лучших сервисоводов (наверное) | Александр Стовбунский, Tools Team TechLead
«Пап, можно мы его оставим?» — почему приносят одни, а чиним мы
«А выгуливать кто будет?» — что может требовать тот, у кого нет права отказаться
«Он большим не вырастет!» — как считать трудозатраты и сроки
Вредные советы: как гарантировано всё испортить
Для участия в офлайне она обязательна. После докладов — продуктивный нетворкинг и афтерпати.
Уже через неделю, 28 августа, встречаемся на RecSys Meetup!
Когда? 28 августа, старт в 18:00 Где? Москва + онлайн-трансляция
Обсудим актуальное из мира рекомендаций: от передовых архитектур для построения Semantic IDs и их внедрения в продуктивные системы, до тонкостей балансировки интересов пользователей и продавцов маркетплейса с помощью онлайн-доранжирования и байесовской оптимизации.
В программе:
«Semantic IDs: архитектура и наш опыт внедрения» | Александр Тришин, Data Scientist в команде персональных рекомендаций
«Счастье пользователя vs счастье продавца. Онлайн-доранжирование и байесовская оптимизация в товарных рекомендациях» | Андрей Ветров, Data Scientist в команде товарных рекомендаций
«Как мы обучаем CLIP-ы для текстовых тегов» | Михаил Киндулов, CV Engineer в команде Поиска по фото
«Трансформеры в персональных рекомендациях: от гипотез до AB-тестирования» | Иван Ващенко, DS Stream Lead в команде персональных рекомендаций
В программе доклады от спикеров Wildberries & Russ и Альфа-Банка, Q&A-сессия с розыгрышем мерча, нетворкинг и фуршет для классного завершения вечера.
Поговорим о том, как оживить виджеты, подружить Compose с Koin и навигацией, а заодно встроить одно Android-приложение в другое без боли...или с болью:
«Виджеты на Android: это просто?» Александр Гирев, Android Team Lead продуктовой команды WB Partners
«Compose+Koin+JetpackNavigation: что мы поняли за 2 года» Арсений Шпилевой, Android-разработчик кор-команды WB Partners
«Интеграция Android-приложений: подходы и лучшие практики» Абакар Магомедов, главный техлид разработки в Альфа-Банке
Когда: 4 июля 18:00 (сбор гостей с 17:00) Где: Москва, пространство Весна + онлайн-трансляция
Регистрация уже открыта — присоединяйтесь онлайн или офлайн!
Интересно применение ML и AI в борьбе за безопасность и доверие пользователей? Тогда Trust&Safety AI Meetup точно для тебя 👀
Когда? 22 мая, 18:00 Где? офлайн в Москве + онлайн-трансляция
В программе будут 2 технических доклада, интересная дискуссия, спикеры из Wildberries&Russ, Avito, AI Masters. А еще розыгрыш классного мерча среди активных участников и нетворкинг с полезными знакомствами.
Регистрация закроется 21 мая — выбирай формат участия и успей отправить заявку. До встречи на Trust&Safety AI Meetup!