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

Какая документация нужна вашему проекту и кто должен её писать

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

Привет! Меня зовут Катя, я руководитель команды технических писателей в Ozon.

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

Разбираемся в вопросе
Всего голосов 14: ↑12 и ↓2+16
Комментарии3

Мониторинг пет-проектов на коленке: Netdata, Monitoror, N8N

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

Привет, я Паша из Ozon. В рабочее время занимаюсь тестированием поиска, а по вечерам надеваю маску инди-разработчика. И моя самая частая задача — написать скрипт → залить его на сервер → периодически мониторить, что сервер доступен. Эта статья как раз и будет строиться вокруг последнего пункта.

Вы наверняка в курсе, что существуют Grafana, Prometheus, Kibana, LogDNA и другие инструменты для мониторинга, визуализации и анализа данных. C первыми двумя я вплотную познакомился в Ozon, а про Kibana слышал когда-то давно и только в паре со словом «логи». Чтобы графики в Grafana рисовать — придется штат аналитиков нанять (ба-дум-тсс). Для пет-проекта это перебор, нужно что-то сильно проще (с точки зрения стоимости, простоты настройки и удобства). Ниже расскажу, какие готовые инструменты для мониторинга небольших пет-проектов я нашёл в пучинах интернета, а также оставлю комментарии и рекомендации по использованию.

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

Масштабируем команду мобильной разработки: как мы в Ozon справились с ростом до 44 iOS, Android и QA на одном приложении

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

У нас в компании 8 мобильных приложений и почти столько же мобильных команд. Конкретно наша работает с приложением для покупателей. Когда нас было немного, по 6-10 человек в iOS, Android и QA–командах, мы отлично справлялись с задачами. С ростом столкнулись с проблемой: чем больше у тимлида людей в подчинении, тем меньше он может уделить времени каждому, меньше времени имеет на погружение в задачи. В итоге качество управления команд начинало ухудшаться и с этим нужно было что-то делать 

Решение мы нашли в распределении команд по стримам. 

В этой статье расскажу как у нас организована работа для 30+ мобильных разработчиков и 14 QA: как мы планируем, делимся знаниями и что нам даёт этот подход.

Как мы справились?
Всего голосов 10: ↑10 и ↓0+10
Комментарии8

Шаблон заведения бага

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

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

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

Почему PostgreSQL тормозит: индексы и корреляция данных

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

"Хочешь ускорить запросы, построй индекс" – классический первый шаг по увеличению производительности в PostgreSQL. Вот только на практике можно встретить ситуацию, когда индексы в PostgreSQL есть, но тормоза никуда не делись. Не все индексы являются эффективными. Одна из возможных причин тормозов индексов – это отсутствие корреляции данных. Давайте поговорим о пенальти на производительность, которое дает расположение данных: почему это происходит и как это можно предотвратить.

Ускорить свой PostgreSQL
Всего голосов 46: ↑46 и ↓0+46
Комментарии29

10 практик «ответственного» тимлида

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

Тимлидами редко рождаются, чаще — становятся. Самый частый пример, который я видел — тимлидом назначают самого ответственного разработчика из команды. Наделить ответственного человека еще большей ответственностью — сильное и эффективное решение, правда же? 

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

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

Осторожно, «пятничный» контент!
Всего голосов 22: ↑20 и ↓2+21
Комментарии11

Почему мы решили создать Школу Go? Про доступное образование, брата-близнеца и смысл жизни

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


Привет, меня зовут Слава Вершинин. В марте 2021 года Ozon запустил проект Go to Ozon — бесплатный курс по разработке на языке Go для middle-программистов. В этом посте — о том, почему мы решили запустить такой проект, какие он дает плюсы, причем тут мой брат-близнец, а также немного о смысле жизни. Но главное, если вы давно задумываетесь о том, чтобы научиться программировать на Go, возможно, этот курс был создан специально для вас.
Читать дальше →
Всего голосов 14: ↑11 и ↓3+13
Комментарии17

Онбординг нового сотрудника как прохождение игры

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

Недавно, проходя очередной уровень в моих любимых третьих Героях, я понял, что игра до удивления похожа на реальную жизнь. И решил сопоставить все этапы устройства-выхода на новую работу со сценарием в Homm3.

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

Майним еще больше данных: настраиваем сбор рекламной статистики TikTok за день

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

Привет, меня зовут Маша, я работаю маркетинговым аналитиком в Ozon. Наша команда "питонит" и "эскьюэлит" во все руки и ноги во благо всего маркетинга компании. Одной из моих обязанностей является поддержка аналитики для команды медийной рекламы Ozon.

Медийная реклама Ozon представлена на разных площадках: Facebook, Google, MyTarget, TikTok и другие. Для эффективной работы любой рекламной кампании необходима оперативная аналитика. В данной статье речь пойдет о моём опыте сбора рекламных данных с площадки TikTok без посредников и лишних заморочек.

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

Чиним проблемы нагрузок в Go с помощью настройки пула HTTP-соединений

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

- Ребята, кажется, вы таймаутите. Вот трейс, на котором видно, что мы не дождались от вас ответа за 2 секунды. 

- Ничего подобного, у нас все норм — мы за 200 миллисекунд отвечаем в 99% запросов. А вот вы по какой-то причине часто преждевременно обрываете соединение. 

Такой разговор однажды произошёл у нас в Ozon между моей командой личного кабинета продавца и коллегами, которые пишут сервис аутентификации. Причина проблемы оказалась в дефолтных настройках Go для пула HTTP-соединений. Как так вышло, как мы обнаружили проблему и как исправлять подобные ситуации в микросервисах на Go – об этом моя сегодняшняя история. 

Так что же там было?
Всего голосов 19: ↑13 и ↓6+12
Комментарии15

«Работе с данными нельзя научить»: Александр Дьяконов для OzonMasters

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

Поговорили с Александром Дьяконовым — преподавателем курса по машинному обучению OzonMasters и одним из самых известных специалистов по машинному обучению в России о старте карьеры в Data Science, соревнованиях и о своем опыте преподавания.

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

Как строить диаграмму Гантта по Jira-тикетам

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

Статья для менеджеров, которым необходимо вести управление проектами в изменчивом мире Agile. Поделюсь опытом использования двух приложений Jira Roadmap и Structure Gantt.

Читать далее
Всего голосов 12: ↑10 и ↓2+11
Комментарии19

Новая роль в команде: технический писатель

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

Привет! Я Катя, руководитель группы технических писателей в Ozon. Сейчас нас уже 9 человек и целая платформа документации, но коллеги всё ещё не всегда понимают, чем мы занимаемся ​:)

Из непонимания появляются запросы вида: “Хотим себе собственного техписателя в команду, но не знаем, чем именно он будет заниматься”. В итоге команда подстраивается под тренды и заводит себе документацию, но через пару месяцев оказывается, что доку не читают, а техписатель плавно превратился в аналитика.  

Поэтому пришло время делиться опытом и рассказывать о каких-то концептуальных штуках ​:)

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

За что банит Apple(и Google)

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

У платформодержателей мобильных сторов множество причин для блокировок. Если напрямую с этим не сталкиваться, то, кажется, что все просто - не нарушай описанные правила и все будет отлично. На деле не все блокировки легко предугадать простым следованием гайдлайнов.

Читать далее
Всего голосов 20: ↑18 и ↓2+21
Комментарии14

Figma: плагины для продуктового дизайна. Локальный топчик с видео-инструкцией

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

Для Figma написан целый легион плагинов на все случаи жизни. Постоянно появляются рейтинги и топ-листы супер-пупер-мега-лучших. Но этот инструмент используют люди разных конфессий, решая разные свои задачки. Рыцари фриланса рисуют лендинги, студийные братья собирают промо-сайты, еретики даже визитки и плакаты пытаются делать в Figma. И для всех есть свои плагины. Поэтому делать общий топ-100 — пустое занятие.

Но можно накидать локальный местечковый топчик для продуктового дизайнера например. В нём не будет плагинов в духе «смотрите, какая любопытная идея» или «если вдруг вам когда-нибудь понадобится заменить все картинки на фото Николаса Кейджа». Только ежедневные трудяги. Я уверен, этот список будет полезен не только UI-дизайнерам и сочувствующим. Что-то полезное найдут для себя и все остальные фанаты Figma.

Дайте двадцать лучших!
Всего голосов 9: ↑9 и ↓0+9
Комментарии19

Адаптивная балансировка нагрузки или как повысить надёжность микросервиса

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

Привет, меня зовут Геннадий, я работаю в Ozon, занимаюсь разработкой backend-сервисов.

Избыточностью компонентов, кластеризацией или балансировкой уже никого не удивишь в наши дни. Это очень важные и нужные механизмы. Но так ли они хороши? На сколько они защищают нас от возможных отказов?

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

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

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

Как мы пришли к релизам мобильных приложений раз в неделю

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

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

С чем мы столкнулись, пока выпускали релизы по этой схеме: 

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

Архитектура кода программного обеспечения: декорируем стратегией. Рассказ в 10 эпизодах, основанный на реальных событиях

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

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

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

Хорошие новости для тех, кто всё ещё использует row-level локи в PostgreSQL

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

Для организации совместного доступа к данным в PostgreSQL программисты часто использую row-level локи. В статье поговорим об оверхеде, который получается от такого подхода и какие есть альтернативы. Давайте посмотрим, как можно поторопить слона!

Источник изображения

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

Запускаем AssemblyScript в Go

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

Пока одни обсуждают что не так с WebAssembly, я думаю как его можно использовать вне браузера. Например написание wasm фильтров для Envoy. AssemblyScript был взят потому, что это не C++ и не Rust, т.е. ожидается более низкий порог вхождения. Под катом будет дико примитивный код и пару бенчмарков. Картинка взята из бенчмарка.


Читать дальше →
Всего голосов 8: ↑7 и ↓1+9
Комментарии3

Информация

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