Как мы случайно стали одной из крупнейших ИТ-компаний Дагестана

image
К квартире мы сразу сделали сайт, вот так он выглядел в 2005 году. Очень современно по тогдашним меркам!

Всё началось с квартиры, на окне которой было написано «Магазин электроники». Через 10 лет мы развились до гипермаркета, занялись бытовой техникой, начали обучать собственные команды разработки (что довольно сложно делать в Дагестане), а через 20 лет занялись логистическими системами для собственных курьеров, доставляющих продукты.

Но давайте вернёмся в славный 2003 год, когда к нам заходили только гики. Тогда ещё не было айфонов, поэтому люди играли на компьютерах. Хитами были GTA: Vice city, Morrowind, только вышли Stronghold: Crusader, четвёртые «Герои», вторая «Готика», на полки ехал Warcraft III и где-то далеко в Исландии рождалась Eve Online, а довольно известный мод для Half-Life получил обновление 1.6. Но все играли одиночные кампании. Нужен был не быстрый интернет, а быстрая видеокарта хотя бы с 32 Мб встроенной памяти.

Компьютеры продавало несколько магазинов, но мы нашли нишу. Мы не держали склад и не вмораживали свои деньги, а именно находили всё нужное, везли и делали сборку. Уже прошли те золотые годы, когда звуковуха ESS могла не встать в систему, потому что ей не хочется, но подбор и сборка всё ещё оставались слегка шаманскими.

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

Квартира


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

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

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

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

То есть мы были ещё и дешевле, но надо было подождать 2–3 недели. Это оказалось неожиданно очень удобно для компаний, и заказы попёрли.

А вот уже в 2004-м это стало бизнесом. Чуть позже мы переехали сначала в отдельное здание из квартиры, а потом в другое побольше. Мы начали с гиков, они советовали нас своим знакомым, знакомые советовали своим — и вот через некоторое время мы обнаружили, что нужно держать запас, то есть всё же появился склад, а потом постепенно мы отошли от стартовой модели и стали конкурировать в том же поле, что и остальные.

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

А ещё на нас начали играть стереотипы «ты же компьютерщик». Нас начали просить возить не только компьютеры, но и бытовую технику. Очевидно же, что если парни разбираются в компьютерах, то могут помочь с микроволновкой! Так появился отдельный магазин телевизоров.

Мы всё ещё возили многое на заказ, но привыкли и просто торговать с остатков.

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

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

В 2010 году мы накопили достаточно денег, чтобы открыть гипермаркет электроники. Это проторенный путь, по которому ходили почти все в мире, кто начал зарабатывать на какой-то электронике в рознице. Задача — первыми открыть в регионе самый большой системный магазин, чтобы у офлайн-покупателей в принципе не оставалось вопроса, куда идти брать технику. Мы опасались, что появится что-то вроде базара техники (как случилось в итоге в Ташкенте, где нет гипермаркетов, это такой аналог московской Горбушки) или что такой магазин откроет кто-то из других сфер бизнеса. Как это ни странно, стиральные машины, холодильники и соковыжималки мы тогда не возили, техника была не вся, но было важно открыть огромный магазин.

Покупали люди тогда только в офлайне. До онлайна оставалось ещё несколько лет, и мы знали, что сделаем то же самое: сначала всё для гиков, потом, когда они начнут советовать друзьям и так далее, постепенно будем улучшать опыт уже для средней аудитории.

image

Собственная разработка


В 2015 году онлайн всё никак не приходил и было выгоднее открывать дополнительные магазины в республике, а не заниматься только электронной коммерцией. Тем не менее для своей собственной сети надо было очень много разработки. Началось всё это с доработок 1С, потом сайта на Битриксе, а потом мы не смогли остановиться. Один раз осознав силу возможности автоматизировать что-то, мы автоматизировали всё. Начиная от подбора и учёта кадров — так у нас появилась первая дагестанская HR-CRM — до, собственно, CRM, которую мы построили, сильно допилив костылями 1С. Существенно позже понадобилась HR-аналитика и система персонализации клиентов.

Вообще, история со внутренним ИТ началась в 2006 году.

По сути, мы заказали сайт студентам. Потом другие студенты писали внутреннюю систему учёта. В 2004 году это была цепочка макросов поверх XLS-файла. Потом начали учитывать в типовой 1С, но там жутко не хватало функционала. Начали кастомизировать и писать под себя. Одно это дало очень сильное преимущество — даже многие игроки из розницы приходили к нам. Видели, как работает, спрашивали, можно ли купить, готовы чтобы у них так же работало. Заказы работали как часы: автоматический обмен прайсами с поставщиками, автоматически формировались цены на всё.

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

image
Это было нечто новое на рынке

1С 7.7 нас не очень устраивала. Точнее, сначала это был космос, когда мы переписали многое под себя.

Потом к ней почему-то начали выходить обновления. А мы не обновлялись вообще. Только кастомизировали. Это было бы крайне сложно и дорого.

Так тянулось аж до 2011 года. Тогда мы открыли проектный офис в Ростове (это столица ЮФО России), потому что не могли в Дагестане найти разработчиков под Управление торговлей 11.

Просто в принципе в республике не было подходящих людей.

И вот здесь пора поговорить про состояние дагестанского ИТ на тот момент. Здесь надо учесть два важных фактора:

  1. У нас очень мобильный народ. Если для обычного жителя региона уехать куда-то — это целая сложность, у нас у многих наций республики это в крови. Люди легко снимаются с мест и едут на заработки или переезжают в другие регионы.
  2. И у нас не было больших ИТ-заказов. Чтобы ИТ-сфера развивалась, нужно производство под боком и крупный бизнес, а затем уже розница. У нас фактически из ИТ-заказчиков была только розница.


А удалёнки тогда почти не было. То есть ИТ-специалисты из республики уезжали буквально сразу, как только понимали, что они ИТ-специалисты. Именно поэтому нам понадобился офис в Ростове. Туда уезжали в том числе.

Через полтора года мы поняли, что просто ставить задачи недостаточно и разработкой надо управлять по-настоящему. В смысле, управлять, а не спрашивать, как там дела. Управлять разработкой мы не умели, удалённо — тем более, поэтому решили всё же создавать внутреннюю команду и учиться. Как раз полезли проблемы со скоростью и быстродействием, надо было переделывать инструменты. Плюс Битрикс был очень Битрикс, если вы понимаете, о чём я. Нужно было переписать фронт на Вью как минимум.

Нашли людей в Дагестане, уже смогли предложить им петербургские зарплаты. Мы с очень большим трудом находили и разработчиков, и менеджеров. В 2019 году решили, что будем строить модель, где все работают удалённо, но костяк у нас рядом. Это решило большую часть проблем с наймом, и в 2020-м мы заходили уже с пониманием, как работать на удалёнке, что очень сильно пригодилось.

В 2019 году пришлось многое переделывать. Мы запустили мобильные приложения для покупателей в 2015 году. Это были просто вебвьюхи с мобильной версией сайта. Но надо было делать нативные, потому что были нужны пуши и все остальные функции. Сделали. Тогда же на этом примере стали оценивать каждое решение не только с точки зрения «круто» и «не круто», но и с точки зрения цен. Начали применять продуктовый подход и растить продактов.

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

Наняли солюшн-архитектора из другого региона. Зафейлились с маркетплейсом (это когда все могут продавать свои товары через нашу инфраструктуру — модель от «Авито» до «Ягодок»).

Было тяжело, не потянули.

Говоря предметно, бэк сайта мы изначально писали на PHP и Битриксе. Плюсы Битрикса в том, что это CMS: внутри готовые базовые фичи для охвата большого количества клиентов — система заказа, авторизация, базовая защита. В самом начале разработки мы привязали готовое решение, но убрали данные, которые потенциально могут нагрузить сервер, а потом уже стали писать собственные компоненты, облегчённые под нашу бизнес-логику. Это дало плюсы, сайт стал работать быстрее. Затем мы отделили фронт от бэка: так Битрикс без шаблонов превратился в REST API. Фронт писали на Vue. Redis использовали как один из вариантов хранения сессий в Битриксе. Переписали каталог товаров под Elasticsearch — товары, их свойства и остатки положили в него, а не в базу данных сайта. Параллельно с web-разработкой писали кросс-платформенную мобильную версию сайта на Xamarin. От этой идеи чуть позже отказались и решили делать отдельные нативные приложения, потому как мультиплатформенные языки, такие как Xamarin, более «деревянные». Некоторые фичи с ними невозможно реализовать, например, сложно работать с анимациями и пользовательской историей.

Полный стек сейчас выглядит так:

  • Платформы: PHP, Python, JavaScript, Go, Bitrix, 1C.
  • Фреймворки: Lumen, Laravel, Symfony, Vue, Django.
  • Базы данных: MySQL, PostgreSQL, ClickHouse, Redis.
  • Инфраструктура: Kubernetes, Docker, GitLab.
  • Мониторинг и логирование: ELK, Prometheus, Grafana.
  • Автотесты: Kaspresso, Apium, XCUITest, Cypress.
  • Аналитика: Tableau, Superset, Data Studio, Power BI, BigQuery.


До 2014-го у нас было всего два PHP-разработчика. В 2016-м команда бэкенда состояла уже из шести человек, появились четыре фронта (Vue.js), Xamarin-разработчик и проджект-менеджеры. В 2018–2019 годах появилась команда QA, состоящая из шести человек, и дальше всё закрутилось: добавилось два DevOps-разработчика и четыре мобильных разработчика (IOS, Android); пришёл системный архитектор и набралась команда продактов из семи человек; к команде тестирования присоединились два автотестера (Python); команда аналитиков расширилась до трёх человек; пришли ещё четыре PHP-разработчика и три фронта.

Когда я стал СТО, я уже знал про многие проблемы в командах, потому что до этого я сам был разработчиком и лидом. В первую очередь я понимал, что нам нужно выстроить процесс тестирования. Но тогда, в 2016 году, QA вообще не был развит в регионе — нанимали стажёров и обучали сами.

Ещё пришлось хорошо поработать с масштабированием и надёжностью инфраструктуры — на сайт было совершено несколько DDoS-атак. Понадобился нормальный девопс хотя бы для балансировки.

Когда мы стали делать мобильную версию сайта, сначала работали с кросс-платформенной версией (Xamarin на Java), а потом перешли на нативную разработку — Swift и Kotlin.

Продактов онлайн нанимать было сложно. А 60% из тех, кто был изнутри, отвалились по разным причинам. Кто-то хотел только кросс-функциональные команды, а мы не были готовы кросс-функционально запускаться. Кто-то хотел только писать код. Кто-то вообще не видел смысла в этой суете. В итоге всё же начали нанимать продактов удалённо. С учётом, что уже тогда стало понятно, что единственное требование к разработчику — русский язык — это стало можно делать.

Хоть это и было странно.

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

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

Постепенно у нас появился лид проджект-менеджеров, проектное управление. Мы проходили все процессы, которые проходили «большие компании» в столицах. В квартире «Магазин электроники» мы этого всего не понимали, но с каждой новой ступенькой надо было всё больше и больше погружаться в это всё.

Итого


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

image

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

Продуктовый подход вообще много что дал. Например, доставка в Дербент у нас занимала 2 дня.

Мы это воспринимали как закон природы. Пришёл продакт, сказал, насколько больше мы заработаем, если сделаем за 1 день. И мы придумали, как это организовать. Прямо устои ломались на ходу. Или вот курьер — в офлайне ему очень тяжело продать плёнку защитную на телефон и прочие вещи. А в онлайне это куда легче сделать. Это, кстати, был один из мостиков, когда офлайн учился работать совместно, а не в конкуренции с онлайном.

Вот примерно так мы торгуем электроникой в Дагестане)

© Habrahabr.ru