Какой хороший день, чтобы поделиться карьерной историей Алёны Свердловой, руководителя команды мобильного тестирования в Wildberries & Russ. Поговорили про карьеру, амбиции и поиск баланса.
Ещё больше историй наших коллег — читайте на Хабре
Ещё больше историй наших коллег — читайте на Хабре
🔥35❤19🎉8👍5🤩4😁1
Задали практичные вопросы Алексею Коровкину, техническому руководителю бэкенда клиентского приложения Wildberries.
Kafka применяется в следующих случаях:
— для асинхронных интеграций между командами,
— общения микросервисов внутри проекта без жёстких зависимостей,
— реализации event-driven architecture,
— паттерна Saga — чтобы максимально избегать распределённых блокировок.
Kafka хорошо справляется с высокими нагрузками за счёт горизонтального масштабирования. Ключевая возможность — перечитывание топика с любого смещения (offset). Чтобы эта функция работала эффективно, критически важно правильно настроить Retention Policy— политику хранения сообщений в топике.
Дробление строго по доменной области не всегда оправдано — домен может быть большим и содержать очень разные сущности. Самый надёжный и универсальный подход — разбивать топики по типам событий.
Kafka гарантирует порядок сообщений только внутри одной партиции (логического сегмента топика, который обрабатывается независимо). Если для сущности критична строгая последовательность статусов — используем идентификатор сущности как ключ партиционирования. Если порядок не важен — оставляем дефолтное поведение для равномерного распределения нагрузки по консьюмерам (компонент, который читает и обрабатывает сообщения из топика).
Основная проблема возникает, когда в топике есть сущности, которые нельзя обработать идемпотентно (повторная обработка того же сообщения не приводит к изменению результата). В таком случае сдвиг offset приводит к ошибкам, и консьюмер не может продолжить корректную работу.
Используем at-least-once — самый универсальный и безопасный вариант. Он исключает потерю сообщений (в отличие от at-most-once), а exactly-once слишком дорого стоит для брокера и всё равно не защищает от дублей при падении и перезапуске консьюмера.
С самого начала проектируем идемпотентную обработку: либо бизнес-логика безопасно обрабатывает дубли, либо на стороне консьюмера храним ключ идемпотентности сообщения, чтобы избежать повторной обработки.
Нарушение порядка — всегда признак проблемы в отправителе и повод для рефакторинга. Если это всё же происходит — отправляем событие в Dead Letter Queue (DLQ) на ручной разбор. «Силовое» переключение статуса маскирует проблему и часто приводит к трудноуловимым багам.
Самая критичная метрика — consumer lag (отставание консьюмера — разница между последним записанным и последним прочитанным смещением). Она сразу сигнализирует и о необходимости масштабирования, и о проблемах на стороне консьюмера.
Kafka — мощный, но не универсальный инструмент. Главные ошибки, которых стоит избегать:
— использование как замены базы данных;
— превращение в шину для синхронных RPC-вызовов;
— игнорирование ключей партиционирования;
— создание топиков без предварительного дизайна.
А какие вопросы по Kafka чаще всего возникают у вас в проектах?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤9👍9👏1
middle/гибрид
Ищем специалиста с опытом работы с PostgreSQL или MongoDB. Желателен опыт работы с геосервисами, картами или в сфере логистики. Вы обладаете хорошими знаниями алгоритмов, умеете глубоко анализировать поставленную задачу и находить нестандартные, эффективные решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7🔥5
26 марта 19:00 мск приглашаем вас на AntiDDoS-митап. В программе три технических доклада и нетворкинг с экспертами, которые каждый день работают с защитой в продакшне. Поговорим про инструменты генерации трафика, внедрение антибота в мобильное приложение без ущерба для UX и путь к VM-обфускации JavaScript.
— Гид по инструментам генерации трафика | Андрей Аксенов, QA Lead департамента защиты от DDoS-атак
Нагрузочное тестирование проще, чем кажется, если выбрать правильный инструмент под задачу. В докладе — практическое сравнение решений и четкие причины, почему перформанс-тесты должны стать регулярной практикой каждой команды.
— Антибот в мобильном приложении: зачем нужен и как работает | Денис Ульянов, руководитель продукта Antibot
Мобильный антибот требует баланса между жёсткой защитой и плавным UX. Расскажем, как адаптировать защиту под iOS и Android и почему мы перешли от скоринга устройства к машинному обучению для борьбы со сложными атаками.
— Как спрятать JavaScript на самом видном месте: путь к VM-обфускации в антиботе | Родион Черников, ведущий разработчик команды Antibot
Как сделать разбор защиты дорогим проектом для атакующего, найдя компромисс между инженерной сложностью и экономическими затратами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤16👍11
🥹 🤩 🤩 🥹 🤩 🤩 🤩 🥹 Go-разработчик🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹
Должность: Backend-разработчик (Go)
Ключевая характеристика: Пишет так, будто код завтра будут читать в суде. Минимализм, лаконичность, никаких лишних абстракций.
Главный страх: Что кто-то добавит в проект «чуть-чуть магии» и нарушит его идеальный context.
Что бесит больше всего: «Давай завернём это ещё в один слой»
Любимый напиток:
Американо. Без сахара. Без молока.
Эмоджи: ⚙️☕
Цитата: «Это можно написать проще»
🤩 🤩 🤩 🤩 🤩 🤩 🥹 Мобильный разработчик🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹
Должность: iOS / Android developer
Ключевая характеристика: Живёт между релизами, сторами и “ещё одну мелкую правку перед продом”.
Главный страх: Что после релиза на проде кнопка съедет на 2 пикселя и это увидит весь мир.
Что бесит больше всего: Стор отклонил билд / разная верстка на 347 устройствах
Любимый напиток: Матча или латте на альтернативном молоке
Эмоджи: 📱🚀
Цитата: «Локально всё работает.»
🥹 🤩 🤩 🥹 🤩 🤩 🥹 Фронтенд-разработчик🥹 🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹
Должность: Frontend developer
Ключевая характеристика: Человек, который держит визуальный мир на своих плечах и воюет с CSS.
Главный страх: Safari опять что-то решит по-своему.
Что бесит больше всего: правки без макета / legacy на 17 версиях React
Любимый напиток: Раф или латте
Эмоджи: 🎨💻
Цитата: «Это не баг, это фича рендера.»
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24😁22🤩11🔥2
🥹 🤩 🤩 🥹 🤩 🤩 🤩 🥹 🥹 QA-инженер🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹
Должность: Инженер по тестированию
Ключевая характеристика: Находит проблемы даже там, где их не было (именно поэтому прод жив).
Главный страх: релиз в пятницу.
Что бесит больше всего: «Не воспроизводится» / фича без требований
Любимый напиток: сидр.
Эмоджи: 🔍🧪
Цитата: «Повтори шаги, пожалуйста.»
🥹 🤩 🤩 🥹 🤩 🤩 🥹 🥹 🥹 DevOps🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹
Должность: DevOps / SRE
Ключевая характеристика: Человек, который знает, почему всё упало. И почему он не виноват.
Главный страх: -rm rf // кто-то нажмёт kubectl delete не туда.
Что бесит больше всего: ручные деплои ИЛИ отсутствие логов
Любимый напиток: Черный кофе.
Эмоджи: 🔥🚨
Цитата: «А мониторинг у вас вообще был?»
🥹 🤩 🤩 🥹 🤩 🤩 🤩 🥹 Системный аналитик🤩 🤩 🤩 🤩 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹 🥹
Должность: System Analyst
Ключевая характеристика: Переводчик с языка бизнеса на язык разработчиков и обратно.
Главный страх: Что требования «примерно такие».
Что бесит больше всего: «Давайте без документации» // изменения требований на этапе релиза.
Любимый напиток: зеленый чай.
Эмоджи: 📊📝
Цитата: «Давайте зафиксируем»
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51🔥22👍8
Почти все современные AI-агенты живут на тяжёлом стеке — Node.js, Python, длинные цепочки зависимостей. NullClaw выглядит на этом фоне почти по-другому: один бинарный файл, Zig, быстрый старт, мало памяти.
Проверили это на практике — замерили и сравнили с OpenClaw на реальных сценариях:
— Почему выбор языка влияет не только на производительность, но и на безопасность;
— Сравнение --help, agent-run и coding-задач: от 0.002 s и ~1.9 MB до 10 параллельных агентов;
— Почему разрыв по памяти в 10x важен не только на десктопе, но и на edge и wearables;
— ClawWatch как пример того, зачем вообще нужен компактный агентный runtime на устройстве.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍12🔥12
Знакомимся с программой и спикерами — листайте карточки.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤11👍8🤩3
Одна из самых прикладных задач финтеха сегодня — помочь пользователю пройти сценарий, который раньше казался неудобным или недоступным.
Сервис «Плати по миру» решает именно такую задачу: даёт доступ к виртуальной зарубежной карте прямо в Telegram для оплаты иностранных сервисов и покупок за границей.
https://t.me/wildberriesru_official/12524
Сервис «Плати по миру» решает именно такую задачу: даёт доступ к виртуальной зарубежной карте прямо в Telegram для оплаты иностранных сервисов и покупок за границей.
https://t.me/wildberriesru_official/12524
Telegram
WILDBERRIES
Пик — и всё оплачено! 😁
Покупки в отпуске за границей, подписки на иностранные сервисы — для всего этого нужна зарубежная карта. Завести её можно в сервисе «Плати по миру» и всегда держать под рукой, прямо в телеграме.
Выпустить карту проще простого. А…
Покупки в отпуске за границей, подписки на иностранные сервисы — для всего этого нужна зарубежная карта. Завести её можно в сервисе «Плати по миру» и всегда держать под рукой, прямо в телеграме.
Выпустить карту проще простого. А…
👍16🔥7❤6👏1
Никита Сатушев, Product Owner WB Track, поделился, как строится коммуникация в его команде и почему атмосфера становится ключевым драйвером успеха, скорости решений и способности быстро выходить из кризисов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤15🔥9