На полях INFOSTART EVENT 2021 Post-Apocalypse мы пообщались с руководителем отдела разработки в ООО «Финтех Решения» Дмитрием Марочко. Поговорили об управлении вовлеченностью в команде, о важности открытого обмена информации в сообществе, и о том, как справляться с внутренними кризисами.
Представьтесь, пожалуйста, расскажите о себе.
Меня зовут Марочко Дмитрий, я руководитель отдела разработки в ООО «Финтех Решения».
Вы второй год приезжаете на нашу конференцию. Что вас привлекает в наших мероприятиях? Вынесли ли вы отсюда какие-то идеи, практики?
Меня больше всего привлекает мнение сообщества, возможность увидеть людей, идеи и продукты, которые мы используем. Много для себя почерпнули в плане эксплуатации больших систем, в плане гибкого управления проектами, систем для мониторинга наших систем.
Как вы пришли в ИТ, 1С?
Это сложная история, я когда-то был бухгалтером. Сотрудник, который поддерживал нашу 1С, приходил редко. У меня не было выбора, приходилось ковырять 1С самому. Мне всегда было интересно стать программистом, но не получалось по образованию. Таким странным образом мечта осуществилась.
Сначала вы стали программистом, потом выросли в руководителя отдела разработки. Как вы реализуете эту роль в своей команде?
Изначально, наверное, у меня не было выбора. Задачи усложнялись, это надо было координировать, хотелось сделать что-то красивое. Руководителем меня сделал мой внутренний перфекционизм и попытка его донести до других. Моя роль в команде – считаю, что хороший руководитель не должен мешать своим сотрудникам, его задача – обеспечить благоприятную среду для работы, а не делать за них что-то. Идеальный руководитель – руководитель, который не нужен. Я к этому стремлюсь, чтобы команда была самостоятельной, умела брать на себя ответственность. Чтобы команде были интересны эти вопросы.
То есть у вас не четко распределены роли? У вас универсальные сотрудники?
У нас нет явной вертикальной иерархии, у нас фактически три уровня: руководитель, тимлид и разработчик. Со временем у разработчиков появляется специализация. Продуктовым командам комфортнее работать, когда у разработчиков есть специализация, когда они знают, что конкретный сотрудник хорошо знает какой-то блок. Хотя с точки зрения активной командной разработки это не очень хорошо. Потому что возникает эффект автобуса, когда от разработчика многое зависит. Когда один разработчик знает то, что другие вообще не знают.
Сколько человек у вас в подчинении?
35 человек. Средний размер продуктовой команды от 1 разработчика до 5.
Вы создаете продукты с нуля?
Мы называем продуктовыми командами команды, которые держат определенный блок системы: продажи или учет. Мы считаем продуктом направление деятельности – чаще всего оно совпадает с подразделением компании, но не всегда.
Насколько я знаю, вы не один приехали на конференцию.
Мы приехали впятером. Руководитель и все тимлиды, включая нашего DevOps-инженера.
С какими решениями вы чаще всего работаете?
Основное направление – разработка решения для финансовых организаций и МФО: кредитный конвейер и полный цикл обслуживания. Используем типовые продукты для учета: УПП, сейчас идет переход на ERP. Очень активно используем Документооборот КОРП, особенно в плане интеграции. И есть отраслевое решение для банковского учета на ЕПС, функциональность которого мы мечтаем реализовать в ERP.
Вы же не обходитесь стандартными возможностями типовых конфигураций, вы их как-то кастомизируете. Испытываете какие-то трудности при кастомизации?
Мы считаем, что в больших продуктах типа ERP всегда вдолгую лучше процесс адаптировать к продукту, а не продукт к процессу. Мы стараемся минимизировать изменения кроме тех, которые необходимы. Главная проблема продуктов – их производительность. Больше всего крови отнимает производительность на больших нагрузках в типовых и в наших собственных продуктах. Очень часто типовые продукты не рассчитаны на реально высокую нагрузку, когда идет очень большое количество операций.
Для вас актуален вопрос высокой производительности. Какие темы на конференции вы бы хотели отметить?
В целом команда разработки и наши тимлиды больше интересуются вопросами эксплуатации больших систем. Это управление большим количеством изменений в техническом плане, быстрый выпуск этих изменений, управление тестированием, управление нагрузкой на систему. Лично мне больше интересно управление командой, особенно в условиях пост-Апокалипсиса.
Насколько в вашей команде гибко прошел переход на удаленку?
У нас в компании часто складывается ситуация, когда мы пользуемся чем-то, пока это еще не становится модным. Мы начали использовать Agile, когда это еще не было модно. Мы начали использовать высоконагруженные подходы CI/CD, когда это еще не было модно. У нас команда была удаленной еще за три года до того, как настал этот Апокалипсис. Фактически переход на удаленку состоял в том, что последние пять сотрудников, которые работали в офисе, стали работать из дома. В самой компании было больше изменений, но, думаю, наш опыт им тоже помог.
Ваш ИТ-отдел всегда был удаленным?
Да, кроме техподдержки. Команда разработки была удаленной изначально, потому что сложно найти кадры на локальном рынке, потому что мы находимся не в Москве или Питере.
Каким образом вы решаете задачи подготовки и поиска кадров?
У нас нет программы активной подготовки молодых кадров. Студентов мы брали, но небольшой процент. По поводу подготовки кадров: мы всегда поддерживаем интерес сотрудников. Нельзя научить человека тому, что ему неинтересно. Может, он и научится, но эффекта не будет. Если у человека есть интерес что-то изучать, мы ему подкинем курсы, отправим на обучение, определим в команду, где есть блок, который ему интересен. Применяем принцип саморазвития.
Все 35 человек у вас поделены на минигруппы по направлениям?
Они поделены по продуктам. Но наши тимлиды не относятся к одной команде, а контролируют сразу несколько. У одного тимлида около 10 человек из разных продуктовых команд.
Получается, что ваша команда уже была подготовлена к удаленной работе, но открыли ли вы для себя в кризис какие-то дополнительные возможности, технологии, методы, которые раньше не применяли?
С точки зрения персонала из-за того, что мир изменился, стало больше возможностей для поиска удаленных сотрудников. Проще найти компетентных людей на удаленку. Находясь в глубине России, можно найти сотрудников на проект на уровне Москвы и Питера. По поводу технологий: мы очень развивали средства коммуникации. Активно внедряли Zoom, Teams, обучали и помогали нашей компании туда перейти. Практически весь бэкофис туда перешел. С технической точки зрения я, наверное, не смогу назвать каких-то явных продуктов.
В любом случае, чтобы управлять удаленными сотрудниками, требуются дополнительные инструменты, помимо средств коммуникации.
Для управления мы используем, в основном, Teams и чаты. Плюс инструменты для планирования задач. Стали активнее использовать канбан-доски, дейли уже вошло у всех в привычку, не вызывает больше отторжения. Самое главное на удаленке – считать удаленных сотрудников частью команды. Это люди, с которыми мы общаемся каждый день, которые точно так же вовлечены в результат.
Какие технологии помимо 1С применяете в компании?
Мы активно используем инструменты с открытым исходным кодом, особенно в части контроля изменений разработки, статического анализа кода. Очень развита система мониторинга: у нас в режиме реального времени мониторится очень много параметров работы системы. Задаются жесткие требования по отклику и доступности системы, мы стараемся их мониторить в реальном времени. Сегодня я был на выступлении, где рассказывали про анализ и инструменты мониторинга. Сейчас эти идеи в тренде, а мы начали их применять еще с прошлых конференций Инфостарта – когда это были еще маленькие попытки маленьких команд использовать эти инструменты.
Что для вас Инфостарт? Какими сервисами нашего сайта вы пользуетесь?
Инфостарт для меня в первую очередь источник информации, быстрых решений. Мы регулярно пользуемся готовым наработками для быстрого решения проблемы и чтобы подсмотреть, как люди вообще делают. Какие-то идеи реализуем у себя, переносим часть кода, реализуем идею применительно к своей системе. Инфостарт – это сообщество. Мне очень нравится текущий формат вебинаров. Когда отменили предыдущую конференцию, у нас была возможность посещать вебинары. Я был почти на всех, было очень интересно. Нужно развивать онлайн и развивать сообщество вокруг, чтобы оно было открытым и умело делиться друг с другом информацией.
Какие у вас цели и направление развития на ближайшее время?
С точки зрения продукта основные цели развития – рефакторинг продукта и управление техническим долгом, потому что многое написано в спешке.
Но вы же все равно переходите на ERP.
Наш основной фронт-продукт – не ERP, в ERP мы ведем только учет. У нас строго разделены системы, и, ERP, на мой взгляд, избыточна для фронта, ей тяжело управлять, она неповоротливая. Наш основной фронт находится в другой, маленькой конфигурации, которая написана с нуля. Поэтому у нас в планах рефакторинг, управление техническим долгом, тестирование – но его внедрение двигается медленнее, чем хотелось бы. Мы сейчас внедряем большой типовой продукт, поэтому для нас главное – научиться управлять изменениями в типовом продукте. Подход к разработке через расширения, четкое описание изменений, поддерживаемость того, что мы сделали. В применении к типовому продукту. Нельзя взять и переписать типовой продукт, через пять лет будет больно. Мы хотим превратить его в свой продукт, не переписывая. Это самое главное, сложное направление сейчас.
Получается, что вы все равно сталкиваетесь с какими-то сложностями в процессе кастомизации. Вам помогают новые возможности расширений в последних версиях платформы? Просто пока что типовые конфигурации еще не поддерживают последние версии платформы.
Я считаю, что мы очень продвинулись. После того, как мы в очередной раз обновили платформу, расширения стали для нас очень большим подспорьем. Мы учимся управлять расширениями так, чтобы это не превратилось в хаос. Когда подключено 50 расширений, непонятно, как они друг на друга влияют. Помимо расширений мы учимся управлять обновлениями типовых продуктов – это тоже очень больная тема. Как изменить типовой продукт так, чтобы потом можно было нормально обновиться. Одно из важных функциональных требований – чтобы это можно было легко обновлять потом. Чтобы следующий типовой релиз мы смогли нормально выпустить.
Практики, которые вы для этого применяете, вы находите на Инфостарте, на GitHub или, может, сами разрабатываете?
Мы подсматриваем чужой опыт: читаем статьи на Инфостарте, что-то рассказывают люди, которые делают какие-то пробы. На основании этого вырабатываем свой подход и стараемся его оформить в процесс, чтобы был четкий регламент разработки и использования расширений. У нас очень четкие регламенты по разработке расширений – что можно и нельзя делать. По управлению расширениями – например, что нельзя просто так взять и подключить расширение, сначала нужно пройти ревью. И подключает расширение на продакшн-базы специально обученный человек – контур продакшна недоступен разработчикам.
С точки зрения управления: что важнее, процессы или люди?
Всегда люди. Между людьми и процессами всегда выбираем людей. Если человек не укладывается в процесс, чаще это требует изменения процесса, а не забивания людей в этот процесс.
Вы стараетесь быть гибкими?
Да. Процесс нужно соблюдать, но в следующий раз мы к нему подойдем серьезнее. Сейчас он несовершенно соблюдается, но в следующий раз он будет уже лучше. Должна быть непрерывная эволюция процесса. Он не должен стоять на месте, но должен соблюдаться.
Вы сталкиваетесь с внешними ограничениями, а обычные люди – с внутренними.
Я считаю, что как раз наоборот. Все думают, что внешние ограничения – это проблема. Но для таких, как я, на коляске, внутренние ограничения сильнее. Для всех людей, которые не как все, внутренние ограничения сложнее.
Но вам удается их преодолеть… Это и выглядит как героизм.
Спасибо, но я не склонен так считать. Я считаю, что единственное, чем нужно помогать – создавать среду, где можно не обращать внимания на эти различия. Чтобы мы ощущали себя как все. В плане среды, в плане отношения тоже. Немножко неприятно, когда тебя считают особенным. Лучше, когда считают, что мы, как все.
Получается, что когда вы работаете на удаленке, и вас воспринимают как «голову в телевизоре», вам это проще.
Получается, что да, чуть проще. Я вожу машину, мне нравится это тем, что когда садишься в машину, становишься как все. Да, внутри у меня машина чуть-чуть отличается, но снаружи-то никто это не видит и никогда не поймет. Там нет разницы. И в телевизоре да, чуть проще.
Как преодолевать внутренние кризисы, относиться к апокалипсису на работе?
Мне кажется, апокалипсис на работе вечен. Вопрос в том, как мы к нему относимся. Сейчас главная проблема – это все-таки удаленная работа, сломанные многие процессы и психологическое давление мира на нас. Вопрос, наверное, к руководителям – как они управляют вовлеченностью команды. В таких условиях нельзя выезжать только на четких правилах, это не будет работать. Я вижу, что многие компании, которые со стороны всегда казались формализованными и закрытыми, начали открываться. Там видишь Agile и удаленные вакансии. Сейчас наступил мир вовлеченности, когда грань между работой и домом размыта. Этому важно учиться как компаниям, так и людям.
Что вы можете пожелать гостям конференции, участникам сообщества?
Хотелось бы пожелать спокойствия. Ощущения того, что и дома можно эффективно работать. Мир не кончился, посмотрите на него, он большой. Постапокалипсис дал больше возможностей: жить, где мы хотим, больше времени уделять семье, потому что не нужно ездить на работу – это особенно актуально для крупных городов. Постапокалипсис изменил мир, причем так, что принес много хорошего, обратно отнять это нельзя.
https://infostart.ru/events/