Как стать автором
Обновить
64.8
Сначала показывать

Продуктовый матчинг, или туда и обратно с миллионами товаров

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

Привет, Хабр! На связи команда продуктового матчинга ecom.tech. 
В серии статей мы расскажем о разработке матчера для Мегамаркета. Первым делом – давайте вместе  посмотрим с разных сторон на задачу продуктового матчинга и разберёмся, почему любому маркетплейсу критически важно уметь её решать (и решать хорошо).
Disclaimer: все названия вымышлены, все совпадения случайны. Кроме Мегамаркета – он настоящий.

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

Как мы обучаем коллег исследованиям: подход ecom.tech

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

Привет! Меня зовут Костя Коваленко, я руководитель отдела продуктовых исследований в ecom.tech. Мы разрабатываем ИТ для ритейла реального времени, на наших технологиях работают Самокат и Мегамаркет. Последние 2,5 года я развиваю практику и отдел исследований в компании. 

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

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

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

Пишем плагин для Atlassian Jira — добавляем на экран задачи вкладку с логом автоматизаций

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

Когда Jira обрастает кастомной логикой, автоматизациями и интеграциями, рано или поздно возникает потребность в отслеживании действий, которые произвели (или не произвели) с задачей все эти роботы.

- Если вам периодически приходят баги о неработающей автоматизации и вы начинаете смотреть логи scriptrunner, automation и прочих JWME – этот момент настал.

- Если заказчик просит фиксировать факт отправки сообщения во внешнюю систему в комментарии к задаче – этот момент точно настал.

- Если вы уже и сами начали создавать комментарии из автоматизаций и groovy-скриптов – момент настал совершенно абсолютно точно.

Этот туториал будет полезен начинающим разработчикам в стеке Atlassian и администраторам Jira, пробующим себя в разработке плагинов.

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

Как безболезненно внедрить исследования в продуктовую разработку

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

Дизайнеры Samokat.tech начали проводить продуктовые исследования внутренними силами команды. «‎Что из этого вышло» и «‎Как внедрить такой подход» – разбираем на конкретных примерах от первого лица.

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

Как сделать А/B-тест в офлайне, на примере ускорения доставки в Самокате

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

Привет! Меня зовут Илья, я продуктовый аналитик в Samokat.tech. 

Делать A/B-тесты – довольно привычная вещь для аналитиков. Но как быть, если нужно провести эксперимент в физическом мире? Какие особенности и ограничения есть в офлайне? Как выбирать и оценивать метрики? 

Давайте расскажу на примере – как мы пробовали доставлять заказы Самоката ещё быстрее.  

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

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

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

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

Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.

Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.

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

От 20 до 200 человек за полтора года: как мы строили дизайн-департамент Samokat.tech

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

Привет! Меня зовут Олег, я руковожу дизайн-направлением Samokat.tech. За последние пару лет наша команда выросла в 10 раз и стала одним из крупнейших департаментов компании. 

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

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

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

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring

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

Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. 

Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), и первые шаги делал по мануалам Atlassian, я сталкивался (и продолжаю) с проблемами, решений которых вендорская документация не подскажет, и эти решения приходится открывать самому. 

В этой статье мы вместе с вами напишем свою Spring-аннотацию, которая будет с помощью кастомного бин-постпроцессора (который мы тоже напишем) отключать в нашем плагине для Jira ненужный в проде отладочный функционал.

Эта статья ориентирована на начинающих разработчиков в стеке Atlassian и администраторов, пробующих себя в разработке плагинов для Jira. Те, кто до знакомства с Atlassian SDK уже разрабатывал «под ентерпрайз», не обязательно найдут здесь что-то новое, остальных – приглашаю под кат.

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

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде

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

Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. 

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

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

Как мы боролись с овербукингом Kubernetes-кластеров

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

Привет! Меня зовут Александр Лебедев, я SRE в Samokat.tech. Мы строим надёжную платформу для сервисов быстрой доставки и в зону ответственности моей команды входят поддержка Kubernetes-кластеров и управление их ресурсами.

Под катом история о том, как мы пришли к своему варианту resource management через борьбу с овербукингом по CPU.

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

Приходите на Flow 2023 Meetup #9 про системный и бизнес-анализ

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

Когда: 21 июня (среда), 17:30 — 21:30 (СПб)

Формат: офлайн (СПб) и онлайн 

Задать вопросы спикерам и узнать больше о докладах можно в Telegram-чате.

Регистрация на митап тут

Послушаем спикеров из Samokat.tech, Почтатех и USABILITYLAB. Поговорим об изменениях в жизни аналитиков и разработчиков при переходе на микросервисы, совместной работе юзабилити-исследователя и бизнес-аналитика, а также инструментах для моделирования сквозных процессов между продуктовыми командами.

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

Посмотреть описание докладов
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Load2SRE: от нагрузки к доступности, без потери производительности

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

Привет! Меня зовут Кирилл Юрков, я SRE Team Lead в Samokat.tech. Уже более десяти лет занимаюсь ускорением и проблемами производительности, а также нагрузочным тестированием. 

Отвечая на вопрос, что делает SRE в Samokat.tech, скажу, что это те, кто занимается инцидентами и проблемами на всём их жизненном цикле, от этапа архитектуры и разработки до postmortem'а после инцидента.

В этом посте я хочу рассказать, как из нагрузочного тестировщика превратиться в SRE-инженера. Поделюсь, как этот путь проходил я сам, с какими сложностями сталкивался и что случалось на каждом этапе. Также раскрою в деталях саму роль SRE-инженера, чем он занимается и чем полезен. Возможно, после этого вы в команде решите, что вам такая роль тоже нужна (если у вас её ещё нет).

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

Приходите на Samokat.tech Meetup про Golang-разработку

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

Когда: 18 мая (четверг), 18:00 – 20:15 МСК/СПБ

Формат: онлайн-трансляция 

Задать вопросы спикерам и узнать больше о докладах можно в Telegram-канале.

Регистрация на митап тут

Послушаем спикеров из Samokat.tech, Авито и Тинькофф. Поговорим об особенностях использования Go в разработке и перехода на него с других языков. Только конкретные примеры из практики и личный опыт спикеров.

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

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

Посмотреть описание докладов
Всего голосов 8: ↑4 и ↓4+1
Комментарии0

Как сделать единый заглушечный контур и освободить себя от рутины

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

Привет, Хабр! Меня зовут Ира, я SRE в команде Samokat.tech. В этом посте хочу поделиться подходом в тестировании, которым мы пользуемся сами. Если вам при подготовке тестов часто приходится писать похожие друг на друга как две капли воды заглушки (или, как их ещё называют, «моки»), а затем заботиться о том, чтобы их развернуть, то вам может понравиться наше решение. Освободившись от части рутинных забот, вы можете уделить больше времени чему-то более важному.

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

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

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

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

Приглашаем на Samokat.tech Meetup #2 — безопасность, Next JS и микрофронтенды

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

24 марта 2023 года проведем в Москве Samokat.tech Meetup про frontend. Мы делаем этот митап, чтобы рассказать, как устроена технологическая сторона ритейла реального времени. В программе — три доклада от спикеров из e-commerce и e-grocery. Посмотрим, чем разработка для этих индустрий похожа или отличается от фронтенда в других сферах. После митапа — интерактив и afterparty.

Samokat.tech Meetup пройдет 24 марта в 18:00, офлайн (в Москве) и онлайн (на YouTube).

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

Эволюция подходов к работе с таблицами во фронтенде

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

Всем привет! Меня зовут Аня Ланда, я фронтенд-разработчик в Самокате. В компании я больше двух лет, общий стаж во фронтенде – 6 лет и всё это время я делаю таблицы. В этом посте расскажу про эволюцию подходов к работе с ними, что меняется на пути от нескольких сотен до сотен тысяч элементов в таблице.

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

Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose

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

Привет, я Данильян, работаю в Самокате фронтенд-разработчиком, разрабатываю бэкофисное приложение с использованием React. Когда я только начинал изучать Jetpack Сompose, я наткнулся на статью, в которой простым языком для людей, пришедших из мира веб-технологий в мир мобильной разработки, расписано, как писать код для мобильных устройств, чтобы было как в React. Из материала в статье особенно подкупали примеры: вот, что вы делали в React, а вот, как в Jetpack Compose получить то же самое. 

Делюсь с вами переводом этой статьи.

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

Как тестировать современный фронтенд

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

Бывало, замечаешь в коде «нехороший» модуль или функцию и тут же тянутся руки их отрефакторить. Но как потом убедиться, что правки не сломали какой-нибудь сценарий в приложении или вовсе не положили продакшен? Этих ситуаций можно избежать, если в проекте есть тесты. 

Меня зовут Александр Моргунов, я техлид в Самокате. Пишу на TypeScript, React, ReactNative. В разное время писал тесты для фронтенда, бэкенда и мобилок. В этом посте хочется поговорить о том, как можно тестировать современные фронтенд-приложения и какие подходы к тестированию сейчас актуальны. 

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

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

Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза

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

Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.

Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.

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

Нюансы поддержки npm в Deno

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

Всем, привет! Меня зовут Данильян, я работаю в Самокате фронтенд-разработчиком и разрабатываю бэкофисное приложение с использованием React. Помимо работы, у меня есть несколько сайд-проектов, в которых я широко использую Deno. В последнее время этот проект радует новыми фичами чуть ли не каждую неделю и об одной из них я хотел бы рассказать в этом посте.

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

Информация

Сайт
ecom.tech
Дата регистрации
Численность
1 001–5 000 человек
Местоположение
Россия
Представитель
Алексей Долгушев