Как не заскучать в 1С-разработке

393ee2b404fd451ef283ba42c4afaadb.jpeg

Многие считают 1С особым замкнутым миром. А методы работы в нем — неприменимыми в «нормальном» программировании. Это давно не так. Конечно, у каждого решения есть свои плюсы и минусы. Но я уверен: если вы не любите 1С, то вы просто не умеете его готовить. 

Меня зовут Владимир Короткий, я руководитель отдела проектов 1С в Lamoda Tech. В этой статье расскажу, по каким принципам мы работаем внутри компании и почему оптимистично смотрим в будущее этой технологии.

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

Рассказываю наши рецепты.

Не замыкаться на одной технологии

Кому-то это покажется удивительным, но в команде 1С мы используем те же best practices, что и любые другие разработчики. Kafka для работы с интеграциями, Prometheus и Grafana для мониторинга, ClickHouse для хранения и работы с логами: если есть удобные и понятные всем инструменты, почему бы не начать с ними работать?

Компания — это одна общая информационная среда. В случае Lamoda Tech большинство систем работают с Kafka. Для управления интеграциями в 1С это нестандартное решение. Но с ним удобно отдавать данные на вход и выход без долгого поиска точек соприкосновения. 

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

Результат упростил и поддержку продуктов: Kafka в Lamoda Tech использует не только наша команда, поэтому все знают, как с ней работать и как ее поддерживать. 

Решать нестандартные задачи 

«Классические» системы 1С, которые есть во многих компаниях, — это бухгалтерия, финансы и зарплата. Но если разработчику в компании приходится заниматься только ими, то он быстро заскучает.

Нашей команде скучать не приходится: в Lamoda Tech мы поддерживаем 12 систем 1С — от рутинных решений для выплаты зарплат до хитрой логистики. 

У нас настроены интеграции со всеми возможными платформами внутри компании. Мы создаем подсистемы, благодаря которым быстро встраиваем новые решения на 1С в общий IT-ландшафт. Когда у бизнеса появляется новая задача, наша команда предлагает варианты, как быстро и надежно реализовать проект.  

Так появляются неожиданные продукты — например, управление перевозками. В этом проекте мы взяли за основу »1С: TMS Логистика» и серьезно ее кастомизировали: оставили ту часть, которая касается управления автопарком, и добавили необходимую нам маршрутизацию грузов. Получилась сложная система, которая получила награду «Проект года» от 1С.

Сложность проекта связана с особенностями нашей логистики. География широкая — от Бреста до Владивостока; вариантов, как доставить груз, много. Заказ покупателю из Кемерово может ехать 4 дня машиной до Новосибирска, затем отправиться в Кемерово в пункт выдачи заказов. Может вылететь на самолете на пару дней позже, но оказаться у заказчика раньше, если это экспресс-доставка. Или два заказа могут встретиться на транзитном складе в Новосибирске и поехать к покупателю вместе. 

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

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

Но мы стараемся расширять возможности наших систем. Например, ЗУП в Lamoda — это не только зарплата и страховые взносы. Мы ведем в ней несколько видов учета рабочего времени, автоматизировали многие льготы для сотрудников, включая питание на складах, доплаты за отпуск, компенсации по больничным и интегрировали систему с ЭКДО.

Создавать универсальные инструменты

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

Общие подсистемы — блоки с универсальным кодом, который можно интегрировать в любую систему на платформе 1С. Используем их, когда необходимо синхронизироваться или интегрировать новый процесс или технологию. Это значительно снижает затраты на новые запуски. Например, за короткий срок мы можем в новой системе начать создавать пользователей на основании данных из Active directory или научить систему общаться с Kafka. 

В правильности подхода мы в очередной раз убедились, когда внедряли »1С: Управление нашей фирмой». Пару недель назад Lamoda открыла первые офлайн-магазины Lamoda Sport, и для них мы за короткое время доработали систему с учетом всех потребностей. 

Работать в команде

Команда 1С в Lamoda Tech вписана в общий IT-ландшафт. Так что мы постоянно общаемся с коллегами из других направлений разработки и ищем совместные решения. Во главе угла — интересы компании, поэтому мы не упираемся и отдаем задачи коллегам, если кто-то может сделать их лучше нас. 

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

Интеграции с большим количеством данных это всегда трудоемкая задача. А интеграция с большим количеством разрозненных видов хранения — еще сложнее. 

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

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

Не бояться экспериментов 

»1С» как компания сейчас активно развивается, и мы стараемся быть в мейнстриме — анализируем новинки вендора и смотрим, что может быть интересно с точки зрения развития бизнеса и развития команды и ее экспертизы. Например, сейчас в рамках эксперимента совместно с »1С» мы пробуем »1С: Предприятие.Элемент» — новую технологию разработки веб-приложений.

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

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

Делать проекты для людей, а не «галочки»

В Lamoda Tech развитая продуктовая культура. И команда 1С не исключение. По системам есть свои продакт-менеджеры, определены метрики, мы работаем по тем же принципам и следуем тем же ритуалам, что и другие команды разработки. Приоритезируем бэклог с точки зрения значимости для компании и пользователей, формируем продукт исходя из текущих потребностей и задач. 

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

Мы не выпускаем мертворожденные проекты, только чтобы отчитаться за потраченный бюджет, поставить галочку «готово» и после начать все переделывать. Мы работаем не для того, чтобы закрыть проект. Для нас важно создавать ценность для бизнеса. 

Искать единомышленников

Многие принципы управления командой, которых я придерживаюсь, я подчерпнул из Agile, так что хорошо понимаю и признаю важность людей и их взаимодействия. В Lamoda Tech эти принципы работают на уровне всей компании: командная работа, взаимовыручка, поддержка — одни из наших главных ценностей. 

По тем же принципам мы ищем сотрудников. Условно называем это Lamoda fit, когда по общению понимаем, что нашли «своего» человека. Не буду углубляться в детали найма, так как вопрос дискуссионный и всегда зависит от конкретной ситуации. Но поиск единомышленников, людей, с которыми говоришь на одном языке, помогает нам формировать крепкую и сильную команду.

Что важно: внутри Lamoda Tech мы не создаем свой «загончик» для 1С-разработчиков, которые общаются только с HR и бухгалтерией. Наши системы — одни из ключевых в Lamoda, и у бизнеса к нам большой кредит доверия. 

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

© Habrahabr.ru