Как стать автором
Обновить
46.26
Mindbox
Автоматизация маркетинга
Сначала показывать

Из менеджера клиентов во frontend-разработчика: как менять свои роли в компании

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 763
Блог компании Mindbox Карьера в IT-индустрии
Кейс

Привет! Меня зовут Петя Никитин. Я пришел в Mindbox менеджером клиентского сервиса и за четыре года перешел во frontend-разработку. Расскажу, как я учился и что помогло мне проходить внутренние собеседования.

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

Бесперебойный деплой микрофронтендов с Kubernetes: как настроить

Время на прочтение 13 мин
Количество просмотров 3.5K
Блог компании Mindbox Kubernetes *
Из песочницы

Фронтенд-разработка может жить без независимого деплоя, пока у нее не больше 7 микрофронтендов. Но, чем выше число, тем сильнее страдают процессы. Наша команда в Mindbox прошла через это с Octopus, когда деплоила в Yandex Cloud S3. Причем на все обновления был один свободный бакет. Заливаешь код в мастер, а в это время то же самое делают еще пять разработчиков. Скапливается очередь, код еле ползет, а через час деплой вообще обваливается — Octopus не справился с нагрузкой. Пока чинишь это, оказывается, что твои обновления уже попали в продакшен заодно с чужими. 

Когда число проектов возросло до 14, все это повторялось с каждым разработчиком по несколько раз в день. Поэтому мы решили вслед за коллегами-бэкендерами перейти на независимый деплой в Kubernetes.

В этой статье собран опыт платформы автоматизации маркетинга Mindbox по реформированию фронтенда:

Kubernetes вместо Yandex Cloud S3: деплоим микрофронтенды без сбоев

Автоматизированный вывод метаданных: экономим ресурсы разработки

Постепенный переход: меняем деплой без вреда для пользователей

Хот-тестинг: ускоряем обновление фронтенда

Советы: как улучшить деплой без микрофронтендов и Kubernetes

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

Как инженеру выбрать работу

Время на прочтение 18 мин
Количество просмотров 13K
Блог компании Mindbox Карьера в IT-индустрии IT-компании

Даже на текущем рынке кандидата, каждая смена работы — это серьезное решение, инвестиция нескольких лет жизни или — неприятная строчка в резюме, причина для неудобных вопросов вроде «А почему вы ушли из компании X, проработав там немногим более года?».

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

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

За 18 лет в индустрии, в том числе на роли исполнительного директора и позднее CEO, мне удалось познакомиться с большим количеством бизнесов и поучаствовать примерно в тысяче инженерных интервью. На основе этого опыта и опыта коллег по Mindbox сложилась система, которой тут делюсь. И буду благодарен за предложения в комментариях, как ее улучшить.

Хоть я лицо и заинтересованное, надеюсь помочь и себе, и вам. Благо, в моих интересах не заманить всех и каждого, а чтобы приходящие к нам делали свой выбор рационально. Работали у нас долго, были довольны и мотивированы. 

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

gRPC в .NET — рецепты счастья

Время на прочтение 12 мин
Количество просмотров 17K
Блог компании JUG Ru Group Блог компании Mindbox .NET *

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

раздельный деплой и рефакторинг;

удобное масштабирование частей системы;

прозрачное разграничение ответственности команд;

снижение бласт-радиуса;

снижение когнитивной нагрузки на разработчика.

При этом создает другие проблемы: взаимодействие сервисов существенно сложнее и дороже, чем взаимодействие объектов в памяти. Частично упростить его можно с помощью протокола gRPC.

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

Из этой статьи вы узнаете, когда стоит применять gRPC, а когда лучше воздержаться, как решаются типичные задачи, включая конфигурирование, отладку, healthcheck, а также то, о чем умалчивает документация. 

По материалам выступления на конференции DotNext.

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

Миллиард отправок в неделю и 730 тысяч запросов в минуту. Как справляемся с ежегодным удвоением и не унываем

Время на прочтение 5 мин
Количество просмотров 3.6K
Блог компании Mindbox .NET *C# *Agile *DevOps *
Четвертый ежегодный отчет о развитии разработки Mindbox по итогам черной пятницы — недели максимальной нагрузки.

Маркетинговая CDP — это не только коммуникации, приносящие значимую долю выручки, но и механики реального времени: расчет чеков, персонализация мобильных приложений и сайтов. Mindbox задуман и всё чаще работает как центральная back-end система бизнеса, интегрирующая другие. Так, например, выглядит схема интеграций одного из давних и продвинутых клиентов:

image

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

  • как справляемся с надежностью при росте нагрузке (кажется, неплохо);
  • что для этого уже сделали;
  • что будем делать дальше: планы по технике и продукту.
Читать дальше →
Всего голосов 7: ↑5 и ↓2 +3
Комментарии 5

Как грумить задачу: чек-лист с примерами

Время на прочтение 8 мин
Количество просмотров 8.8K
Блог компании Mindbox Программирование *Управление разработкой *
Наша разработка постоянно растет, поэтому приходится онбордить по несколько человек в месяц и каждому рассказывать, как правильно грумить задачи. Обучать груму «вручную» больно, потому что это отнимает много времени, какие-то знания теряются по дороге и выскакивают ошибки, которых можно было избежать. Чтобы облегчить жизнь лидам и новичкам, мы собрали чек-лист с описанием этапов грума и примерами. Он будет полезен разработчикам продуктовых компаний, которые онбордят или которых недавно приняли в штат. Чек-лист поможет разбивать задачи на этапы, чтобы ничего не терялось и результат соответствовал ожиданиям.

Все примеры ниже — специфичные и подойдут не каждому, они построены в основном на продуктах Mindbox «Рассылки» и «Программа лояльности». Продукты помогают нашим клиентам запускать автоматические рассылки по триггерам (действиям или событиям), чтобы не спамить пользователей, выдавать промокоды и выстраивать бонусные системы. Если поймете, что чек-лист полезен, можете заменить примеры на свои и использовать.

Ниже подробнее о том, как сделать качественный грум:

  • цель грума,
  • необходимый минимум,
  • уточнение требований и контекста,
  • типичные этапы,
  • особенности при доработке механик.
Читать дальше →
Всего голосов 8: ↑4 и ↓4 0
Комментарии 13

Как уменьшить размерность метрик в Prometheus, если вы не DevOps

Время на прочтение 5 мин
Количество просмотров 3.4K
Блог компании Mindbox DevOps *Kubernetes *
Иногда команда разработки сталкивается с задачей, в которой у неё мало экспертного опыта, и через пробы и ошибки она находит неочевидное решение. Так произошло и с нами, когда понадобилось перенести сбор метрик из Infux в Prometheus. Их итоговая размерность оказалась 1,5 миллиона, и мы решили ее уменьшать. Инфраструктуру по сбору метрик (Prometheus, k8s, деплой через Helm) создавали DevOps-инженеры из другой команды, у которых не было ресурсов для нашей задачи. Поэтому мы заручились их советами, изучили документацию и решили снижать размерность метрик силами разработки.

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

  • как в два шага уменьшить размерность метрик с помощью двух ServiceMonitor,
  • какой есть эталонный способ уменьшить размерность метрик без «костылей»,
  • почему не стоит тратить время на снижение размерности метрик с помощью Pushgateway.
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 8

Как масштабировать разработку при 400 000 RPM и не надорваться

Время на прочтение 10 мин
Количество просмотров 3.2K
Блог компании Mindbox Высокая производительность *Управление разработкой *Agile *IT-компании
Если бизнес идет вверх, то запросы и нагрузка на разработку увеличиваются в разы. Рано или поздно каждый управленец сталкивается с выбором из двух крайностей: встать на сторону бизнеса, двигать продукт и демотивировать разработчиков бесконечным техдолгом или дать свободу разработке и потерять контроль над задачами бизнеса.

Mindbox 15 лет развивает B2B-продукт и вырос с 3 до 70 человек в разработке. Мы тестировали разные подходы к масштабированию и готовы поделиться опытом, чтобы вам не пришлось наступать на те же грабли. Ниже расскажу, как попробовали полную автономию команд и централизацию, роняли надежность, демотивировали команды, как в результате с этим справились и выработали свою систему масштабирования.

По материалам выступления на Agile Days 2021:


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

Стоит ли переходить с Powershell DSC на Ansible и как это сделать

Время на прочтение 11 мин
Количество просмотров 4.6K
Блог компании Mindbox IT-инфраструктура *DevOps *
Об IaC под Windows пишут мало, потому что DevOps/SRE ассоциируется в основном c Linux и Kubernetes. Мы решили исправить эту ситуацию и сравнить инструменты, которыми можно управлять IaC на базе Windows. Статья будет полезна разработчикам, которые работают с Windows-инфраструктурой и выбирают способы управления, и тем, кто уже внедрил Powershell DSC или Ansible, но сомневается в своем решении. Ниже поделимся опытом и расскажем:
  • как устроен Powershell DSC и чем он отличается от Ansible при управлении инфраструктурой на Windows;
  • почему мы перешли на Ansible;
  • с какими проблемами столкнулись и как их решали;
  • как соотносятся ожидания и реальность после перехода на Ansible;
  • кому стоит выбрать Powershell DSC, а кому — Ansible.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 5

Как с помощью нейросети определить лучшую дату отправки email и повысить доход рассылки в 8,5 раз

Время на прочтение 6 мин
Количество просмотров 6.4K
Блог компании Mindbox Python *Big Data *Машинное обучение *Natural Language Processing *
Recovery mode
Чтобы email-рассылка не затерялась во входящих, а клиенты чаще открывали письма и покупали, важно угадать правильное время отправки. С помощью нейросети мы проанализировали поведение клиентов и спрогнозировали дату отправки следующего email, чтобы порекомендовать клиенту товары в то время, когда он захочет их купить. Протестировали в зоомагазинах на рассылках с предложением повторной покупки и оценили результат с помощью AB-тестов. Получили следующие результаты:

в 23 раза
больше целевых отправок email с помощью нейросети по сравнению с триггером

в 8,5 раз
увеличился доход от email-рассылки по атрибуции last click

в 2 раза
уменьшился процент отписок

в 17 раз
выросло число открытий в абсолютном значении


Ниже поделимся опытом и расскажем:

  • почему решили использовать LSTM-модель нейросети для предсказания даты отправки email вместо алгоритма градиентного бустинга;
  • как устроена LSTM;
  • какие данные нейросеть использует для обучения;
  • какую архитектуру нейросети использовали и с какими сложностями столкнулись;
  • каких результатов достигли и как их оценивали.
Читать дальше →
Всего голосов 23: ↑12 и ↓11 +1
Комментарии 24

Рост 100% в год и 400 тыс. RPM. Эволюция разработки 2018—2020: процессы, люди, техника и планы

Время на прочтение 8 мин
Количество просмотров 2.1K
Блог компании Mindbox .NET *C# *Agile *DevOps *
Mindbox — два миллиона строк кода b2b бизнес-логики под нагрузкой. Наши продукты: CDP, программа лояльности, персонализация сайта, транзакционные и массовые рассылки — критичные по надежности и скорости работы элементы инфраструктуры бизнеса.

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

Это — третий ежегодный пост про разработку по итогам черной пятницы — недели максимальной нагрузки. Почему наконец думаем, что мы молодцы; что для этого сделали; почему столкнулись с трудностями и что планируем делать дальше.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 8

Data Science в обувном магазине: предсказали поведение клиентов и увеличили конверсию сайта на 16%

Время на прочтение 6 мин
Количество просмотров 3.2K
Блог компании Mindbox Data Engineering *
Из песочницы
Российский производитель обуви Mario Berluchi автоматизировал маркетинг, внедрил привычные для интернет-магазинов механики, но не остановился на этом и запустил направление Data Science. Теперь магазин с помощью алгоритмов машинного обучения предсказывает действия клиента: что он сделает после добавления товара в корзину — купит или уйдет, а если уйдет, то когда вернется.

Предсказание помогает в нужный момент побуждать клиента к покупке или, наоборот, не трогать его, если он купит и так. В рамках AB-теста механика персонализации сайта на основе предсказания помогла увеличить конверсию интернет-магазина на 16,5% и ARPU на 35,7% относительно контрольной группы.

Азамат Тибилов, директор по маркетингу Mario Berluchi, рассказывает о механике с предсказанием, измерении результатов, истории запуска направления Data Science и делится советами для интернет-магазинов, которые тоже хотят растить выручку за счет полезного и основанного на данных маркетинга.

Mario Berluchi — российский производитель обуви, сумок и аксессуаров с пятью офлайн-магазинами в Москве и онлайн-магазином.

Масштаб. 200 тысяч посетителей сайта в месяц.

ИТ. Сайт на Bitrix, бэк-офис на «1С», платформа клиентских данных Mindbox.

Задача. Повысить выручку за счет работы с накопленными данными.

Результат. Рост конверсии сайта на 16,5% в рамках AB-теста, рост ARPU на 35,7%, снижение доли брошенных корзин на 17,2%.

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

Открыт набор в Школу разработчиков с перспективой стажировки в Mindbox

Время на прочтение 7 мин
Количество просмотров 3K
Блог компании Mindbox Карьера в IT-индустрии
Школа разработчиков — первый шаг к стажировке в Mindbox. Программа предназначена для студентов 3–4 курса и выпускников технических вузов с базовыми навыками программирования.
Первый набор Школы стартует 6 сентября, курс разбит на 8 занятий по 4–5 часов.

Чтобы записаться, оставьте контактные данные — пришлем тестовое задание, рассчитанное на два часа. Но сначала убедитесь, что обучение в Школе разработчиков Mindbox — это то, что вам нужно. Все подробности — под катом.

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

Черная пятница: взгляд на нагрузку глазами разработчика

Время на прочтение 4 мин
Количество просмотров 2.4K
Блог компании Mindbox

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

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

Как мы разрабатываем персональные товарные рекомендации

Время на прочтение 8 мин
Количество просмотров 6.9K
Блог компании Mindbox Алгоритмы *Машинное обучение *Интернет-маркетинг *

image
Наши клиенты-магазины хотят делать крутой маркетинг. Чтобы люди больше покупали, они регулярно шлют им email-рассылки. И каждый раз думают: “Что же написать в письме?”.




Можно писать просто: “Покупайте у нас почаще!”, но это не очень-то работает. Идея получше — вставлять в письмо рекламу товаров. Желательно, рекламу товаров, которые заинтересуют покупателей.


Дальше расскажу о том, как мы с нуля делали настоящие персональные рекомендации.

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

Как вызвать перемены при помощи ретроспективы

Время на прочтение 5 мин
Количество просмотров 6K
Блог компании Mindbox Agile *

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


Регулярные ретроспективы вызывающие изменения снизу — важнейший признак организовавшейся живой команды.


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


Для проведения ретроспективы желателен опытный фасилитатор. Особенно это важно в стартующих командах.


Если вы такой человек и хотите углубить ретро, в статье вы найдете советы и оригинальный взляд на эту встречу с т.ч. работы мозга и цели стимуляции личностного роста участников.


Цель


Распространено мнение, что цель ретроспективы — улучшить работу. Это упускает ключевую деталь — самостоятельность. Считаю, цель ретроспективы — чтобы команда сама улучшила свою работу.


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


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


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

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

Как мы написали еще один алгоритм RFM-анализа

Время на прочтение 5 мин
Количество просмотров 13K
Блог компании Mindbox Алгоритмы *Машинное обучение *Интернет-маркетинг *

КДПВ Недавно мы рассказали, почему придумали свой RFM-сегментатор, который помогает сделать RFM-анализ за 20 секунд, и показали, как использовать его результаты в маркетинге.


Теперь рассказываем, как он устроен.


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

RFM-анализ одной кнопкой или как мы облегчили клиентам жизнь

Время на прочтение 6 мин
Количество просмотров 12K
Блог компании Mindbox CRM-системы *Машинное обучение *Интернет-маркетинг *

image
С тех пор как в компании Mindbox впервые произнесли Machine Learning, общей целью стала Большая Зеленая Кнопка. Это такая кнопка во весь экран, при нажатии на которую всё работает само и приносит прибыль.


В аналитическом проекте «RFM» цель менее амбициозная — Маленькая зеленая кнопка. Нажимаешь, и база автоматически делится на сегменты, по которым запускается отправка писем (например).




Чтобы добиться цели, мы написали автоматический RFM-сегментатор и разработали специальный отчет, чтобы наглядно представлять результаты.


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

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

Немного о ретроспективе

Время на прочтение 6 мин
Количество просмотров 11K
Блог компании Mindbox Agile *
Для команды разработки важно регулярно проводить ретроспективу, чтобы постоянно совершенствоваться. Но какой она должна быть?

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

  • на ретро тратили по 2 часа и сильно выматывались
  • обсуждения периодически уходили в затяжные бесполезные споры
  • некоторые мелкие проблемы не успевали решить и постоянно переносили на следующее ретро
  • отдельным членам команды надоедали ретроспективы из-за однообразия

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

Прошлой весной я сходил на Okademy от ScrumTrek. Это обширный курс, включающий в себя много полезного для скрам-мастера, но для меня самым полезным оказалась часть о том, как эффективнее проводить ретроспективы. Хочу рассказать, как это нам помогло.

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

Одних тестов недостаточно, нужна хорошая архитектура

Время на прочтение 11 мин
Количество просмотров 9.1K
Блог компании Mindbox Анализ и проектирование систем *Совершенный код *Проектирование и рефакторинг *C# *
Мы все понимаем, что такое автоматические тесты. Мы разрабатываем софт, и хотим, чтобы он решал какие-то проблемы пользователей. Написав тест, мы убеждаемся, что конкретная проблема решается конкретным участком кода. Потом требования изменяются, мы меняем тесты и меняем код соответствующим новым требованиям образом. Но это не всегда спасает. Кроме высокого тестового покрытия наш код должен быть спроектирован таким образом, чтобы защищать разработчика от ошибок ещё при его написании.

В статье я постарался описать одну из проблем, которую может решить хорошая архитектура: связанные участки кода могут разъезжаться между собой, это может приводить к багам, и тесты тут не спасут. А грамотный дизайн может помочь.
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 24
1

Информация

Сайт
www.mindbox.ru
Дата регистрации
Численность
201–500 человек
Местоположение
Россия