Как стать автором
Обновить
271.22
Ozon Tech
Команда разработки ведущего e‑com в России
Сначала показывать

Создание карты зависимостей: как увидеть системный уровень в процессах

Время на прочтение14 мин
Количество просмотров9.6K

Хабр, привет! Я Саша, Product Manager в Ozon. Хочу сегодня поговорить с вами об исследовании зависимостей между подсистемами проекта, в частности, и повышении прозрачности процессов в разработке в общем.

Обычное дело: в команду приходит заказчик, приносит суперзадачу — киллер-фичу, которая по приблизительным оценкам будет приносить не меньше N денег в секунду. Очень важная и нужная штука. Потом проходит 3 месяца, а фича так и не появляется на проде. Более того, команда к ней так и не приступала. 

Почему? 

– вместо суперзадачи команда занимается какой-то ерундой — проблемы с приоритизацией;

– команда не поняла, что фича принесёт реальные деньги и насколько это важно — сложности с коммуникацией с заказчиком;

– недостаточно описаны требования, команда отфильтровала задачу как «не готовую к взятию в работу» — продакт не доработал;

– задача потерялась в недрах бэклога — продакт проглядел.

Все эти варианты говорят нам о наличии рассинхрона команд, ожиданий и реальности, рассинхрона подсистем относительно общего процесса, вследствие этого команда(ы) делает «не то» «не так» или не делает вовсе.

Давайте разбираться — расскажу вам об инструменте, который поможет выявлять приводящие к подобным ситуациям серые зоны, нестыковки, зависимости между подсистемами проекта; поможет всё это дело визуализировать и анализировать. Инструмент я назвала картой зависимостей.

Читать далее
Всего голосов 17: ↑16 и ↓1+17
Комментарии0

Приглашаем на Ozon Tech Community QA Meetup

Время на прочтение2 мин
Количество просмотров1.2K

Привет, меня зовут Дима, я руководитель группы разработки инструментов тестирования. Миссия нашей команды предоставить инструменты которые позволяют тестировщикам измерить качество своего продукта и улучшить его. Мы хотим, чтобы тестировщики релизили быстро и без багов.

У нас есть интересные задачи и классные решения для них, которыми мы хотим поделиться.Приглашаю вас на открытый Ozon Tech Community QA Meetup, в Москве, 21 сентября в 19:00

На митапе подробно обсудим, как устроено тестирование в Ozon, поговорим про тестовое покрытие и узнаем, как работает QA в блоке по продукту и технологиям товарных операций, а именно в разработке склада.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Приглашаем на Ozon Tech Community Go Meetup

Время на прочтение2 мин
Количество просмотров1.5K

Всем привет! Я – Влад, руководитель группы поисковой оптимизации в Ozon. 

Go повсюду. И, конечно, ни при каких обстоятельствах мы не могли пройти мимо него в самом крупном направлении компании –  разработке маркетплейса.

Направление отвечает за разработку инструментов, которыми активно пользуются наши покупатели и продавцы. Сюда входит абсолютно всё, что нужно для того, чтобы продавец смог предложить товар или услугу, а покупатель — сделать заказ.

И нам есть чем поделиться. Приглашаем на открытый Ozon Tech Community Go Meetup, 20 сентября в Москве. На митапе подробно обсудим Go и технологии, которые мы используем в разработке маркетплейса Ozon. Узнаем, как устроена разработка доставки и пути совершения покупки. 

Читать далее
Всего голосов 9: ↑7 и ↓2+7
Комментарии2

Видеоредактор, работа с видео и зачем там Canvas

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.9K

Современные устройства и браузеры развиваются достаточно быстро, но все-равно этого бывает недостаточно для задач со сложными вычислениями. К таким задачам можно отнести обработку видео.

Одной из задач, где мы в Ozon используем Canvas, является обработка видео. Для это у нас реализован минималистичный видеоредактор. Зачем нужно было делать свой редактор для веба и почему не использовать готовый? Все ответы под катом.

Читать далее
Всего голосов 67: ↑67 и ↓0+67
Комментарии24

Ускоряем поиск по коду в Android Studio

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.3K

Рассмотрим возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.

Если вы опытный пользователь, то вам известно большинство нижеперечисленных лайфхаков. Но я узнавал о многих возможностях случайно, через многие месяцы работы в Android Studio, поэтому хочу рассказать всё, везде и сразу.

Читать далее
Всего голосов 18: ↑17 и ↓1+18
Комментарии22

Osquery&SIEM. Вы правила мониторинга продаёте? Нет, просто показываем

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.4K

Пока в сети появляется всё больше разговоров о запрете использования Apple-техники в определённых кругах, мы хотим показать, как у нас организован мониторинг macOS с точки зрения безопасности корпоративной инфраструктуры.

Статья является продолжением первой части из микросерии аналитических статей, посвящённых тому, как мы мониторим macOS в Ozon.

Тут будут боль мемы и немного примеров инцидентов :)

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Приглашаем на Ozon Tech Community Mobile Meetup

Время на прочтение2 мин
Количество просмотров1.1K

Всем привет!

Меня зовут Павел, я руководитель отдела разработки мобильных приложений торговой площадки.

Приглашаем на Ozon Tech Community Mobile Meetup, на котором подробно обсудим дизайн-систему — это продукт, который структурирует набор компонентов и гайдлайнов. Это позволяет дизайнерам и разработчикам создавать последовательный и согласованный визуальный язык для продуктов и услуг компании. 

Наша цель — упростить разработку интерфейсов для дизайнеров и разработчиков. Для этого мы создали и развиваем дизайн-систему BX для мобильных и веб-приложений.

Об этом поговорим на Ozon Tech Community Mobile Meetup в Москве, 29 августа в 19:00.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Clean Git History, или Тёмная сторона VCS

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров14K

Всем привет! Меня зовут Маша, и я Golang Backend Developer в компании Ozon. В этой статье я хотела бы поговорить о теме, так или иначе объединяющую все сферы нашего любимого мира IT. А именно — VCS Git.

Без системы контроля версий сейчас невозможно представить ни один проект. Это оплот любой кодовой базы, это мощнейший инструмент, с помощью которого эту базу можно изменять и отслеживать. Однако нередко чистотой истории изменений пренебрегают, полагаясь на старое доброе «И так сойдёт!», абсолютно игнорируя при этом сложность понимания и поддержки такой истории в будущем.

В этой статье я рассмотрю причины такого подхода, его недостатки, а также способы решения проблем, к которым он приводит. Я  выделила несколько основных принципов, которые помогут прийти к чистой истории изменений проекта. Давайте же вместе исследуем эту темную, неизведанную сторону Git, которая нам в этом поможет.

К тёмной стороне Git...
Всего голосов 50: ↑45 и ↓5+45
Комментарии62

Дорогая, что-то пошло не так. Гид по пустым состояниям и ошибкам + шаблоны на все случаи

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров32K

Всем привет! Меня зовут Кира Калимулина, я руководитель группы UX-редактуры в Ozon. Я занимаюсь всеми интерфейсными текстами в приложении и на сайте. 

UX-тексты сильно отличаются от маркетинговых — в них чаще требуется жёсткая унификация. Поэтому я начала собирать гайды по разным видам интерфейсных текстов. Первыми на очереди стали экраны пустых состояний и ошибок. В этой статьей я расскажу, что это вообще такое, как писать тексты для таких экранов, а главное — приведу готовые универсальные примеры из практики Ozon, которые вы сможете использовать в своих проектах.

Этот гайд будет полезен дизайнерам, фронтендерам, бэкендерам и мобильным разработчикам — словом, всем, кто в своей работе сталкивается с UX-текстами и иногда вынужден их писать. Если вы не являетесь пишущим специалистом, просто берите готовые шаблоны и адаптируйте для своего проекта. Пользуйтесь

Что же случилось?
Всего голосов 56: ↑55 и ↓1+63
Комментарии49

Отранжированные и смешные: создаем систему выстраивания пользовательской ленты

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.5K

Всех приветствую! Меня зовут Кирилл, я Go-разработчик в компании Ozon. Сейчас моим полем деятельности является разработка микросервисов в департаменте Fresh, однако я также успел принять участие в некоторых других интересных проектах.

Сегодня мне бы хотелось поговорить с вами о ранжировании информации для её последующей выдачи в пользовательскую ленту. Предлагаю поговорить о самом термине «ранжирование», а ещё об использовании этого процесса в современных информационных системах. Во время обсуждения я набросаю простую схему ранжирования внутри продукта, выбранного в качестве примера, а также поделюсь некоторыми примерами из опыта построения подобной системы.

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии0

Osquery&Fleet. Применение в корпоративной сети на примере яблочных девайсов

Время на прочтение6 мин
Количество просмотров4.3K

Я расскажу о том, что мы с командой сделали для поднятия сервиса по сбору событий и низкоуровневой телеметрии на примере MacOS: как готовили архитектуру, с какими проблемами столкнулись и как их решали.  Подробнее остановлюсь на возможностях osquery&Fleet и на том, какие must-have-события рекомендую собирать.

Немного о себе: я работаю в группе инфраструктурной безопасности в команде Ozon около двух лет.  До этого я уже имела опыт работы с MacOS-устройствами, поэтому у меня есть представление о том, что это за «фрукт».

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Приглашаем на Ozon Tech Intro meetup: как работают системы поиска, рекомендаций и рекламы

Время на прочтение2 мин
Количество просмотров1.5K

UPD: Добавили записи докладов и слайды

Всем привет!
Меня зовут Алексей, я руководитель отдела по продукту и технологиям «Рекомендации и персонализация».

Мы уделяем много времени проектированию архитектуры, улучшению скорости и оптимизации алгоритмов:

Ищем пути продукта и UX.

Ускоряем рантайм поиска.

Используем ML для рекламной платформы.

Обучаем модели для наилучшего результата рекомендаций.

И со всем этим ещё и закапываемся в аналитику и проводим множество A/B-экспериментов.

Наша команда решает задачи, в которых используются интересные структуры данных и алгоритмы. 

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии2

Приглашаем на Ozon Tech Intro meetup: строим складские системы на .NET

Время на прочтение2 мин
Количество просмотров2.1K

UPD: Добавили записи докладов и слайды

Всем привет!
Меня зовут Мария, и я занимаюсь разработкой автоматизированных систем измерения ОВХ (объемно-весовые характеристики товаров). А если брать шире, то я представляю огромный блок по продукту и технологиям товарных операций.
Что это такое? Об этом наша команда поговорит на Ozon Tech Intro meetup: строим складские системы на .NET, 24 июля в Астане. И онлайн тоже будет!

На митапе ребята подробно обсудят систему управления складом WMS (Warehouse Management System), которая принимает, хранит, собирает и отправляет покупателям миллионы заказов каждый день. WMS построена на микросервисной архитектуре и работает на распределённом между дата-центрами кластере K8s. Система состоит из 100+ сервисов на .NET Core, которые хранят данные в базах PostgreSQL, взаимодействуют через gRPC и обмениваются сообщениями через Kafka.

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии1

Как построить систему, способную выдерживать нагрузку в 5 млн rps

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров50K

Всем привет! 

Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go.

Читать далее
Всего голосов 102: ↑99 и ↓3+108
Комментарии58

Хозяйке на заметку: автоматизируем рутинные процессы и экономим время

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров12K

Каждый день разработчики и тестировщики сталкиваются с рутиной, которая отнимает время и энергию. А ведь хочется заниматься более творческими задачами. К счастью, технологии сегодня позволяют автоматизировать многие рутинные процессы, что значительно экономит время и повышает эффективность работы. 

В этой статье я расскажу о неочевидных автоматизациях, которые сделали нашу жизнь проще, и покажу, как реализовать их. В большинстве случаев нужна только техническая учётка для баг-трекера или DevOps-платформы.

Читать далее
Всего голосов 29: ↑24 и ↓5+22
Комментарии19

Скажи что-нибудь на разрабском, Figma

Время на прочтение5 мин
Количество просмотров20K

Привет! С вами Виктор 👺, тэнгу‑хранитель одной из дизайн‑систем Ozon.

В июне 2023 года Figma выкатила мощное обновление, во многом ориентированное на разработчиков. Точнее на поиск общего языка между проектировщиком и программистом. Я давно занимаюсь дизайн‑системами и знаю как тесно связан дизайн и код. Насколько взаимопонимание между дизайнером и разработчиком ускоряет доставку продукта до пользователя.

Однако, кое‑где у нас порой, отношения дизайнера и разраба токсичны и контрпродуктивны. Связано это, как всегда, с непониманием. Разный взгляд, незнакомый язык, непохожие ценности. Кроме вариантов решения продуктовой задачи, дизайнер видит ритм отступов, гармонию сочетания цветов, всякие золотые сечения и правила внутреннего и внешнего. Ну, должен видеть. А разработчик смотрит на сложность реализации, на переиспользуемость компонентов, отображение на разных размерах экрана, поведение при переполнении или отсутствии данных.

Помогут ли новые фишки Figma наладить общение?

Потрогаем Dev Mode →
Всего голосов 41: ↑41 и ↓0+41
Комментарии15

Бизнес-партнёр по информационной безопасности: взгляд изнутри

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров5.9K

 

В этой статье описана роль бизнес-партнёра по информационной безопасности (БП ИБ) и мой опыт работы в этой роли. Сегодня она относительно непопулярна на рынке, но её значимость начинает расти, причём как в России, так и за границей (там это называется Business Information Security Officer (BISO)). Сразу подчеркну, что всё сказанное здесь основывается на моём видении и опыте, и может отличаться от практик, принятых в других компаниях.

В статье подняты такие вопросы как: функционал, польза для бизнеса, компетенции, отличия от других схожих ролей, взаимодействие с другими командами, карьерный путь, обзор рынка.

Читать далее
Всего голосов 29: ↑28 и ↓1+28
Комментарии7

Изнутри: Swift макрос — #Preview

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.1K

Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко создавать превью для своих View, чтобы визуально оценить, как они выглядят и взаимодействуют.

Сейчас доступно много информации о том, как писать макросы, много примеров и на удивление хорошая документация. Сегодня мы будем не создавать свой макрос, а подробно рассмотрим приватные макросы, предоставляемые Apple, а именно #Preview.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии9

Осознанная оптимизация Compose

Уровень сложностиСредний
Время на прочтение29 мин
Количество просмотров47K

Привет, меня зовут Андрей Богомолов, я Android-разработчик в команде Платформа приложения Ozon Seller.

Jetpack Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.

Наша команда Ozon Seller также столкнулась с этой проблемой. Мы решили собрать воедино все советы и наработки по написанию оптимизированного Compose-кода. Активное применение этих советов при оптимизации существующих экранов и написании новых существенно улучшило наши метрики: длительность лага по отношению к длительности скролла (hitch rate; чем меньше, тем лучше) экранов со списками упала в среднем с 15-19 % до 5-7 % (на 90-м перцентиле). Все эти советы и наработки мы описали в этой статье. Она будет полезна и начинающим, и опытным разработчикам, в ней подробно описаны оптимизации и механизмы Compose, а также рассказано про слабо задокументированных особенности и исправления ошибок, которые есть в других статьях. Давайте же начнём.

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии15

Приглашаем на Ozon Tech Community Platform Meetup

Время на прочтение2 мин
Количество просмотров1.9K

UPD: Добавили записи докладов и слайды

Разводим не мосты, а кипучую деятельность.

Привет, меня зовут Ильяс и я старший разработчик в Ozon Tech.

Мы много и часто рассказываем на митапах про то, как устроена наша технологическая платформа. В этот раз мы не только расскажем, но и покажем демо, как это выглядит в реальной жизни. Решая одну из задач, мы шаг за шагом пройдём по пути создания сервиса и запустим его прямо в продакшене!

А потом я расскажу про наше собственное Service Mesh Warden, реализующее все виды дискаверинга и балансировки. 

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии4

Информация

Сайт
ozon.tech
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия