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

Ускоряем pandas, не переписывая код. Мой опыт с FireDucks

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

Привет! Меня зовут Егор Лукьянов, я старший аналитик данных в Ozon Tech. В своей работе я часто сталкиваюсь с проблемой масштабируемости в pandas. Код, который быстро работает на гигабайте данных, начинает невыносимо тормозить на десяти. Уверен, эта боль знакома многим.

Сейчас есть быстрые альтернативы, например, Polars. Я сам пробовал переводить на него свои проекты. Скорость действительно впечатляет, но как в анекдоте есть нюанс: приходится переписывать чуть ли не весь код и привыкать к новому синтаксису. А это большая работа, на которую не всегда есть время.

И вот здесь я наткнулся на FireDucks — библиотеку, которая обещает решить эту проблему, просто заменив одну строку импорта. Звучало слишком хорошо, чтобы быть правдой. После опыта с Polars я был уверен, что где-то должен быть подвох.

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

Читать далее

От товара к предложению: как Ozon учитывает цену и доставку в ранжировании

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

Всем привет! Меня зовут Станислав Ким, я ML-разработчик в команде качества поиска Ozon. В этой статье расскажу, как мы перешли от ранжирования товаров к ранжированию предложений, внедрили «матрицу памяти» для переноса статистики и получили +0,9% к GMV на пользователя.

Представьте простую ситуацию. Вы — продавец электроники. Выводите на Ozon новую модель робота-пылесоса. Чтобы ворваться на рынок, вы ставите цену на 20% ниже конкурентов и отгружаете партию на ближайший склад, чтобы доставка была «завтра». Логика подсказывает: алгоритмы увидят выгодное предложение (дёшево + быстро), подкинут товар в топ, и продажи взлетят.

Реальность: проходит день, два... а товар висит на 5-й странице выдачи. Потому что для алгоритма ранжирования ваш пылесос — «чистый лист». У него нет истории продаж, нет кликов, нет отзывов. Рядом в топе — конкуренты: они дороже, доставка дольше, но у них есть история: тысячи заказов за прошлый год. Алгоритм «любит» их за накопленную статистику, а ваше выгодное предложение игнорирует — он просто не знает, чего от него ждать. В индустрии эта проблема называется cold start — и с ней сталкиваются все крупные маркетплейсы.

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

Читать далее

Не самый сильный разработчик в комнате: как из QA я стала тимлидом разработки

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

Всем привет! Меня зовут Юлия Новикова, и в мае 2025 года я стала Team Lead группы фронтенд-разработки в Ozon. В моей команде сейчас 5 разработчиков и 2 тестировщика, и мы создаём фронтенд для админок, которые управляют работой складов, РЦ (распределительный центр) и дарксторов. Но путь мой сюда был не самым тривиальным — до этого я была QA Lead, а не разработчиком.

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

Читать далее

Стоит ли ходить на стажировки QA? Мой опыт в Ozon Tech от отклика и до нашей эры

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели10K

Привет, Хабр! Я Маша, младший инженер по тестированию в Ozon Tech, а совсем недавно — стажёр. Сейчас я опишу, как здесь оказалась и что будет с вами происходить, если вы начнёте карьерный путь в Ozon Tech (но это не точно, у каждого из нас свой путь и команда!).

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

Читать далее

Как устроена архитектура факторов ранжирования в runtime поиска Ozon

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.9K

Привет, Хабр! Меня зовут Лев. Я работаю в поиске Ozon. Сегодня я буду рассказывать про одну из составляющих поиска, а именно про ранжирование.

В этой статье расскажу:
- Что такое ранжирование и факторы ранжирования.
- Как работает поисковое ранжирование в Ozon.
- Как мы работаем с факторами ранжирования.

Я буду переходить от простых примеров к сложным — от орехов и белок к товарам и сервисам.

Читать далее

Query Prediction, или как мы отказались от ANN и полюбили обратный индекс

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели9.8K

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

Читать далее

Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 2

Уровень сложностиСредний
Время на прочтение42 мин
Охват и читатели15K

Мы продолжаем наше погружение в мир аутентификации и будем разбирать всё на простых примерах с практикой на Go.

В первой части статьи мы разобрали, как устроен JWT, зачем нам refresh и access токены и почему в распределенных системах нам необходимо использовать асимметричные алгоритмы подписи. 

Теперь пришло время двигаться дальше и познакомиться с тем, что стоит поверх JWT: JWKS, OAuth 2.0, OIDC.

Читать далее

Поддержка как фундамент для входа в IT или честный разбор пути от L1 к L2 в Ozon

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели8.4K

Год назад я обрабатывал тикеты по инструкциям. Сегодня анализирую логи, пишу SQL-запросы и разбираю баги с разработчиками. Как же я дошёл до жизни такой?..

Привет, Хабр! Меня зовут Азиз (по паспорту Жавлонбек, но с детства все зовут Азиз — спасибо старшему брату за второе имя, которое прижилось). Я младший специалист поддержки внутренних сервисов в Ozon. Начинал на L1, через год перешёл на L2.

Это история о том, как реально меняется работа при переходе с первой линии поддержки на вторую. Честный разбор, что изменилось, какие навыки понадобились и почему поддержка стала для меня фундаментом для роста в IT.

Читать далее

Влияние селекторов CSS на скорость рендеринга web-приложения

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

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

Читать далее

Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1

Уровень сложностиПростой
Время на прочтение27 мин
Охват и читатели27K

JWT, SSO, OAuth, OpenID Connect — названия знакомые каждому разработчику. Но стоит спросить: «Зачем в продакшене нужен JWKS?» или «Чем отличается OAuth2 от OpenID Connect?» — уверенность сразу исчезает.

В этой статье мы разберём как устроен JWT и его подпись, зачем нужны access и refresh токены, что такое JWKS и в чём отличие OAuth от OpenID Connect.

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

Читать далее

Защита от SYN-flood: теория, практика и где искать подвох

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели13K

Провайдер Panix в Нью‑Йорке внедрил систему блокировки спама по «чёрному списку» хостов, после чего стал мишенью затяжной SYN‑flood DDoS‑атаки, начавшейся 6 сентября 1996 года и на несколько дней фактически парализовавшей его почтовые, веб-серверы и серверы новостей, а также системы логина и DNS. Эта атака является одной из первых крупных DDoS-атак в истории.

SYN-flood по-прежнему остаётся одним из самых популярных инструментов в арсенале злоумышленников. Согласно отчёту Cloudflare за Q2 2025, этот вектор атак составляет 27% всех DDoS-атак на 3 и 4 уровнях, уверенно занимая «почётное» второе место. В таких условиях надёжная защита от SYN-flood критически важна для любого сервиса.

Меня зовут Лейли, я инженер по информационной безопасности в Ozon Tech, и сегодня расскажу о том, как мы внедряли и контролировали самый простой механизм защиты от SYN-flood и о подводных камнях.

Читать далее

«Проходите, покажу»: экскурсия по новому офису Ozon Tech глазами команды

Время на прочтение4 мин
Охват и читатели25K

Привет, Хабр! Меня зовут Вера Маневич, я IT-HRD Ozon. За последние годы команда разработки Ozon заметно выросла — сегодня нас более 7 500 человек, и мы работаем в нескольких часовых зонах. Старый офис в Санкт-Петербурге перестал соответствовать нашим масштабам; нам нужно было переехать туда, где действительно «видно новые горизонты». Сейчас мы уже обустроились в новом офисе и хотим показать его вам. 

Санкт-Петербург — один из ключевых технологических центров Ozon Tech с сильной инженерной командой. В новом пространстве у нас есть конференц-зал на 400 человек и уютные переговорки формата 1 × 1. Здесь можно провести презентацию в кинозале, отпраздновать релиз на террасе с видом на Финский залив или устроить митап с коллегами из других компаний. Давайте осмотримся!

Читать далее

Миссия выполнима: как мы добились актуальности двух тысяч кешей

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели10K

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

Прежде чем перейти непосредственно к актуальности кешей, давайте разберёмся, почему это так важно. Представьте: вы добавляете товар в корзину, но что-то пошло не так, и покупку совершить не удаётся — склад больше не возит в ваш ПВЗ. Даже 0.1% таких ошибок — это тысячи недовольных пользователей каждую секунду. А когда что-то массово меняется, разработчики вынуждены расследовать инцидент, чтобы понять, что проблема была всего лишь в устаревших кешах.

Читать далее

API как продукт: честный взгляд изнутри Ozon Seller API

Время на прочтение8 мин
Охват и читатели10K

Когда слышишь слово «API», первое, что приходит в голову — это технический набор функций для программистов. Но в нашей работе с Ozon Seller API я убедился, что API — это целый продукт, в котором нужно думать не только о коде, но и о двух разных аудиториях, метриках, бизнес-логике и даже внутренней политике большой компании.

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

Меня зовут Лев Савельев, я старший менеджер по продукту Ozon Seller API. В этой статье расскажу, как мы развиваем Seller API как продукт, с какими вызовами столкнулись, какие ошибки сделали и чему научились, и как вся работа связана с экосистемой Ozon — порталом dev.ozon.ru и существующим Магазином приложений для селлеров.

Читать далее

Как устроен Vulnerability Management в Ozon: внутренняя кухня киберзащиты

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

Всем привет! Меня зовут Андрей Иблеминов, я инженер группы управления уязвимостями в Ozon, в сфере информационной безопасности работаю более 5 лет. В данной статье я поделюсь своим личным опытом (и опытом моей команды) решения задач, связанных со своевременным обнаружением и устранением уязвимостей в ИТ-инфраструктуре Ozon.

Читать далее

Data Quality в масштабе Big Data: как мы построили систему контроля качества данных в Hadoop

Время на прочтение9 мин
Охват и читатели10K

Качество данных — это не просто вопрос наличия значений в столбцах таблиц. Это вопрос доверия к данным в целом. Мы можем создавать сложные системы отчётности, но если на каком-то этапе ETL в данных возникают пропуски, дубликаты или они не соответствуют ожиданиям, вся система теряет доверие потребителей. В результате приходится тратить много времени на поиск и устранение причин таких проблем.

Читать далее

Дашборды: между красотой и эффективностью

Время на прочтение7 мин
Охват и читатели13K

В современном мире дашборды стали неотъемлемой частью любого бизнеса. Однако часто мы сталкиваемся с тем, что красивые, но бесполезные панели данных не приносят реальной пользы. В этой статье мы разберем основные проблемы создания дашбордов и посмотрим как их решить на практике.

Читать далее

Ошибка выжившего: почему рынок упускает будущих звёзд IT

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели18K

Когда речь заходит о стажёрах, многие представляют себе беспомощных новичков, которым требуется постоянная опека. В этой статье я хотел бы развенчать это заблуждение. Хочу показать, что среди начинающих специалистов много талантливых людей, которые не требуют чрезмерного контроля и способны удивить своими навыками. Для этого я постараюсь показать, что грейд (стажёр, джуниор, мидл или сеньор) — это не одномерный показатель, а среднее из нескольких аспектов, некоторые из которых более важны, а потому заслуживают особого внимания. Но обо всём по порядку.

Прежде чем углубиться в детали, позвольте представиться. Меня зовут Анзар, я работаю фронтенд-разработчиком уже 9 лет, последние 3 из которых — в Ozon Tech, где я занимаю позицию тимлида. За это время я побывал на десятках, а может, и сотнях собеседований — и как кандидат, и как интервьюер. Кроме того, у меня за плечами многолетний опыт менторства и мне приходилось наблюдать, как различные факторы влияют на скорость роста. Все это заставило меня глубоко задуматься о системных проблемах найма разработчиков. Думаю, эта статья будет особенно полезна нанимающим менеджерам, рекрутерам и, возможно, HR-специалистам — она поможет пересмотреть подход к найму.

Читать далее

Из эксперта IT в преподавателя: что может помочь быстрее влиться в новую роль

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели9.8K

Привет, Хабр! Меня зовут Настя, я работаю методологом в команде проекта Route 256 — онлайн-курсов продвинутой разработки от экспертов Ozon Tech. В год мы запускаем несколько потоков обучения. И на каждый запуск мы набираем не только студентов, но и экспертов из направления IT в качестве преподавателей. В этой статье хочу поделиться тем, как начать путь спикера и преподавателя на примере внутренних курсов компании. Здесь я не касаюсь темы научного преподавания и работы с вузами, а скорее даю универсальные рекомендации для тех, кто хочет делиться своими знаниями и опытом с другими, но пока не знает, как это сделать. 

Читать далее

Как мы победили «сковородочный апокалипсис» — буферизация резервации товаров в Ozon

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9K

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

Всем привет!
Меня зовут Александр Исай, я тимлид в Ozon Tech. Сегодня я расскажу историю о том, как мы спасали нашу систему резервации товаров от краха в самый горячий момент года.

Читать далее
1
23 ...

Информация

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