Рубрика «процесс» - 2

Как мы развивали ИТ в «Леруа Мерлен»: пересборка двигателя на ходу - 1

Четыре года назад база клиентов велась отдельно в каждом магазине плюс ещё одна — на сайте.

В предыдущих сериях: три года назад мы решили, что нужно делать свою разработку в России. Два года назад начали писать собственный код вместо того, чтобы модифицировать форк кода материнской компании. Сегодняшняя история будет про то, как мы переключались с одного большого легаси-монолита на кучу маленьких микросервисов, соединённых своего рода шиной (оркестратор).

Самый простой юзеркейс: сделать заказ через сайт и забрать его в реальном магазине «Леруа Мерлен» в России. Раньше заказы интернет-магазина обрабатывались в другом приложении вообще и по другой схеме. Теперь нам нужна была омниканальная витрина, чтобы любой заказ был разбит на интерфейс: касса в магазине, мобильное приложение, терминал в магазине, сайт — что угодно. Если вы поставите Linux на микроволновку — пускай будет микроволновка. Главное, чтобы какие-то интерфейсы могли стучать по API к беку и говорить, что вот тут надо оформить такой-то заказ. И получали на это внятный ответ. Вторая история была с запросами наличия и свойств товара из его карточки.

На фронте (скоро и про это напишем) у нас монстр — AEM, а за ним в беке было два больших приложения: OPUS и MoVe. Первое — это база данных свойств каждого товара (от габаритов до описания), второе — отвечает за чекаут, то есть монолит касс. Если сильно упростить.Читать полностью »

Привет! Я Валерий Лаптев, руководитель разработки LM в России. За два года мне нужно было поднять огромный отдел, и это был довольно интересный опыт.

Дело в том, что «Леруа Мерлен» есть во многих странах. Головная компания — во Франции, называется ADEO. Там пишут код под Францию, Италию, Испанию и Россию. Бизнес-модели у нас разные: если на российском рынке мы держим минимальные цены (ниже всех конкурентов в мониторинге), то в Европе всё иначе. На самом деле отличий море — начиная от особенностей локали и заканчивая другим законодательством. Есть особенности инфраструктуры России (те же очень большие задержки до Хабаровска) и другой жизненный цикл оформления заказа. Всё это порождает вот такой адский код, состоящий из огромных блоков IF:

Зачем нам в «Леруа Мерлен» нужен собственный российский отдел разработки на 200 человек - 1

Два года назад у нас было 60 магазинов и много-много хотелок по фичам. Накатывались они примерно за полгода и не всегда правильно. Последней каплей после кучи отклонённых по низкому приоритету фич была просьба завести в заказ поле-строку, чтобы мы его уже потом сами парсили. Это нужно было для особенностей доставки в России, поскольку страна больше других стран присутствия LM. Нам отказали и в этом, точнее, сказали, что будет где-то через семь-восемь месяцев.

Полугодовой цикл неспешной головной компании нам не подходил. Естественно, мы предложили написать свой код, отдать на ревью и подождать внедрения… Правда, из этого ничего хорошего не вышло.Читать полностью »

Как мы сделали форк российского Леруа Мерлен на Казахстан - 1
Нужно было успеть адаптировать все ИТ-системы до конца строительства магазина.

В 2016 году было решено открыть магазин в Казахстане (в Алматы). В логике группы компаний Adeo (это все магазины Leroy Merlin по всему миру) на каждую новую страну нужно создавать отдельный бизнес-юнит со своей инфраструктурой и всем-всем-всем. Например, Украина — это отдельный юнит из пяти магазинов со всеми собственными подразделениями, службами и ИТ-процессами.

На Казахстан мы решили (впервые в истории развития компании) сделать форк российской инфраструктуры, фактически расширяя наши системы на новый регион. Почему? Потому что закупки, цепи поставок, юридические и финансовые службы централизованы. Рынки близки. Законодательство близкое, хотя и есть свои особенности (каждый департамент выявлял для себя отличия с помощью коллег из юротдела). Это евразийский Таможенный союз. У нас было 90 магазинов в России, и можно было закупать на условиях, которых в Казахстане поставщики просто не дадут, да и местного производства не так много. У нас много отлаженных процессов, работающее ПО и так далее.

Осталось только чуть-чуть докрутить пару ИТ-систем. Простая работа года на полтора, потому что переписать пришлось не всё, но очень-очень многое. Началось с того, что, оказывается, надо подписать дополнительные соглашения с 800 поставщиками, чтобы их товары правильно маркировались и сертифицировались при необходимости. Чтобы в Казахстане их можно было правильно учесть, соответственно и правильно напечатать ценник, на котором по закону наименование товара должно быть на казахском и русском языках.

На этом сюрпризы только начинались. Читать полностью »

Визуализация дерева приматов

Станислав Дробышевский в начале года опубликовал подробное дерево происхождения приматов. Версия в ПДФ

Комментаторы во «Вконтакте» просили интерактивную версию (1, 2, 3, 4), потому что её удобнее изучать и проще обновлять при появлении новых данных.

Мы с Олей Моховой решили помочь палеоприматологии и сделали прототип на d3js.

Читать полностью »

Что такое сетевой сервис? Это программа, которая принимает входящие запросы по сети и обрабатывает их, возможно, возвращая ответы.

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

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

В статье рассмотрены такие подходы как пул процессов/потоков, событийно-ориентированная обработка, half sync/half async паттерн и многие другие. Приводятся многочисленные примеры, рассматриваются плюсы и минусы подходов, их особенности и области применения.

Читать полностью »

Реальный дизайн-процесс. Пошаговый рассказ о том, как создать бизнес-ориентированный сайт - 1

По дизайну написано тысячи статей и записано столько же вебинаров, но начинающих специалистов заботит один и тот же резонный вопрос: «Так что же мне конкретно делать?!». В этом материале я на реальном примере поэтапно покажу, какие действия нужно совершать для создания дизайн-проекта, нацеленного на решение задач бизнеса.
Читать полностью »

Дизайн-процесс: 7 шагов к идеальному проекту - 1

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

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

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

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

Эффективность и прозрачность это никогда не одно и то же. Можно прозрачно делать неэффективные вещи, а эффективно делать вещи непрозрачные.

Построение структуры работы это сложный, индивидуальный процесс, с налётом дерзости. Потому что нужна не только смелость и рефлексия («мы работаем неэффективно, почему?»), но и умение делать изящные нагромождения.

Дерзкая птица структур: development flow - 1
Читать полностью »

За последние 5 лет Фердинанду Гедзену (Head of Growth, Recruitee) довелось поработать более чем с 400 компаниями по всей Европе. В каждой из них он старался найти рецепт или уникальный ингредиент для эпичного продуктового роста. На Epic Growth Conference в Москве он подытожил свои наблюдения и рассказал о трех важнейших принципах, которые заложены в абсолютном большинстве успешных компаний — о трех китах продуктового роста.

Заметки выступления и основные мысли можно прочитать под катом.Читать полностью »

Devops в кровавом энтерпрайзе - 1
Вот к такому можно стремиться

У нас больше 350 своих разработчиков ПО и тестировщиков по всей стране, плюс мы часто взаимодействуем с инженерами и разработчиками заказчиков. Чтобы перейти на практическое использование devops, нам нужно было обеспечить не только внедрение методологии, но и приучить любимых российских заказчиков к некоторой базовой культуре. Просто пара диалогов для понимания:

— Почему у нас всё упало?
— Потому что вы откатали это на стенде, всё протестировали, а потом развернули на проде. Вот у вас настройка, которая не попала в инструкции, и жила только в голове старого админа.

Или:

— Почему не запускается по всей стране?
— Потому что у вас несколько десятков разных региональных инсталляций, каждая делалась руками, и на каждой разные конфиги. И ещё в паре случаев инженер ошибся.
— Поправите до завтра? Очень нужно! Только доступ удалённо мы вам не дадим.
— ..! Конечно, у нас есть команда высокооплачиваемых спецов, обожающих ездить на Дальний Восток. Нет проблем.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js