Давно известно, что мобильный банкинг в России значительно опережает аналогичные сервисы на Западе по уровню удобства и функциональности. Несмотря на высокую конкуренцию среди российских банков, мобильное приложение Альфа-Банка заняло первое место в рейтинге агентства Markswebb.

Что стоит за успехом приложения? Я задал этот вопрос Константину Глумову, бэкенд-разработчику и техлиду в Альфа-Банке, который принимает активное участие в создании таких продуктов, как семейный банк, детский банк и программа кэшбека. Обсудили важность открытой коммуникации и обмена опытом в команде, чем полезно совмещение ролей разработчика и девопса, а также какой специалист имеет больше шансов попасть в команду. 

Чем, по твоему мнению, процессы в Альфа-Банке отличаются от других банков и финтех-компаний? Какие факторы повлияли на успех приложения?

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

В Альфа-Банке мы пошли другим путем. У нас есть два основных комьюнити: Java/Kotlin-разработчики, занимающиеся бэкендом, и команды, работающие над конкретными бизнес-задачами. В обоих случаях мы стимулируем открытое общение и обмен знаниями. Например, у нас есть общая база знаний и чаты, где можно быстро найти ответы на вопросы или поделиться своим опытом. Это создает среду, где знания свободно циркулируют, а решения принимаются быстро. Каждая бизнес-команда включает специалистов разных направлений — от разработчиков до менеджеров продукта. Такой подход позволяет нам быть гибкими и эффективно реализовывать новые идеи. 

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

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

Как устроен процесс найма и онбординга разработчиков?

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

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

Программе онбординга также уделяется большое внимание. Каждому новому сотруднику с первого дня назначается наставник, который помогает освоиться в новой обстановке — от организационных вопросов до помощи в выполнении задач. Так новички точно знают, что не останутся один на один с возможными проблемами. Наставник всегда рядом, чтобы помочь или направить к тем, кто сможет решить возникшие вопросы. Благодаря такому подходу новые члены команды сразу чувствуют себя важной частью коллектива. Это помогает избежать чувства неуверенности или «синдрома самозванца», который может быть особенно актуален для опытных разработчиков, сталкивающихся с большим объемом новой информации.

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

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

Были ли использованы какие-то инновационные подходы в разработке приложения? Как это повлияло?

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

Чтобы не допустить «застоя», у нас есть правило: тратить 20% рабочего времени на технические улучшения. В это время мы обновляем библиотеки, переходим на новые технологии и поддерживаем наш кластер, который состоит из 300+ микросервисов, в актуальном положении. Это не только помогает нам держать инфраструктуру в порядке, но и повышает удовлетворенность разработчиков. Так они могут сосредоточиться на написании кода, а не на рутинных задачах по отладке и деплою. 

Можешь поделиться планами на будущее вашего приложения? Есть ли какие-то новые функции или улучшения, которые вы планируете внедрить?

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

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

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

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

С технической стороны одним из значительных достижений была работа над миграцией нашего кластера микросервисов с Mesos/Marathon на Kubernetes и переход системы кэширования с Hazelcast на Redis. Проведенное нами исследование показало, что Redis требует гораздо меньше дискового пространства по сравнению с Hazelcast. Эти изменения позволили нам значительно снизить затраты на инфраструктуру, учитывая, что кэш используется почти в половине наших 300 микросервисов. 

Сейчас я возглавляю проект по обновлению Ansible, и это довольно важная задача для нас. Ansible, как ведущий инструмент в концепции «Infrastructure as Code», помогает автоматизировать настройку нашей инфраструктуры, снижая риск ошибок. 

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

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

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

Комментарии (73)


  1. Isiirk
    16.07.2024 17:16
    +12

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


    1. sensem
      16.07.2024 17:16

      А одним из главных моторов Tinkoff был Оливер Хьюз.


    1. Roland21
      16.07.2024 17:16
      +1

      Вот кстати да. Открываешь приложение какого-н банка - и что-то очень знакомое на основной странице. А стоит перейти в какой-н раздел - и там начинается каша, причем часто нелогичная и смутно понимаемая xD


  1. ABRogov
    16.07.2024 17:16
    +1

    мобильный банкинг в России значительно опережает аналогичные сервисы на Западе по уровню удобства и функциональности

    Кто-то пустил эту утку, до сих пор в ходу. Со ссылкой на тасс...

    Какой смысл выпячивать "опережающее" банковское приложение, если сами банки и финсектор страны в целом в неудовлетворительном состоянии?


    1. Ninil
      16.07.2024 17:16

      Чтобы самому понять, насколько мобильный и интернет банкинг в РФ продвинут, рекомендую стать клиентом нескольких европейских банков.
      Если такой возможности или желания нет, то составьте список десяти самых часто используемых вами функций вашего любимого мобильного банка, потом удалите половину, а функционал оставшихся поделите на 2, "оберните" в UI 7-10 летней давности, прочем в каждом втором случае реализованом через iFrame. Это и будет уровень европейского мобильного банкинга.
      PS было дело, был счёт в банке, у которого функционал мобильного приложения ограничивался посмотром остатков и истории операций и генерацией одноразовых кодов 3D secure. Если не поняли глубину дна, то уточню, что просмотр истории операций (где видно только дату и сумму и ВСЕ!) только на экране, никакой выгрузки/сохранения в каком либо виде, только скриншот экрана.


      1. segment
        16.07.2024 17:16
        +9

        Пользуюсь мобильным банк-клиентом финского банка S-Pankki, все нужные функции на месте, UI простой и без излишеств - все работает быстро. Но при этом там нет рекламы кредитов и сториз. ИМХО банк тинькова действительно опережал свое время, но когда они достигли некоторого предела по функциональности и удобству - начались пляски со свистоперделками в приложении.


        1. Ninil
          16.07.2024 17:16

          Про Финский банк - здорово! Я не говорю что нет банков с нормальными приложениями (тот же Револбт - вполне себе). Но в среднем уровень сильно ниже. Особенно по функционалу (выписки, справки, мгновенные переводы по номеру телефона в любой другой банк, кэшбеки, мгновенное открытие нового счета/депозита или выпуск виртуальной карты и т.д., не говоря уже об оперативной поддержке через чат) сильно отстают.

          Про Тинькофф - согласен. Начали за здравие, потом сделали из приложения чуть ли не маркетплейс в ущерб основному функционалу. С него потом взяли пример и другие банки...


          1. segment
            16.07.2024 17:16

            Револют и Wise - да, в целом норм. Не пользовался другими европейскими банками, но Европа она очень разная и я наслышан про низкий уровень банковских приложений в некоторых странах. Я просто к тому, что даже усреднять как-то уровень по всей Европе некорректно, лучше просто рассматривать каждую страну отдельно.


            1. Ninil
              16.07.2024 17:16

              Согласен. У меня опыт конкретных двух стран)


        1. Vorchun
          16.07.2024 17:16

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

          Продакты заработали себе премии, наверно. А приложение стало медленное прям.

          S Pannki как глоток свежего воздуха.


      1. ABRogov
        16.07.2024 17:16

        Я давно уехал из России, никаких проблем с приложениями банков никогда не испытывал. Все делается. Вообще все. Банковское приложение - вещь довольно простая по сути, там негде особо разбежаться. Что там может быть супер-инновационного?

        список десяти самых часто используемых вами функций

        Проверить баланс, оплатить кредиты, перевести человеку, скачать выписку, узнать реквизиты ... даже не знаю, что еще там нужно делать? Какой у этих функций может быть особый "функционал"? Даже 10 не набирается у меня.


        1. Ninil
          16.07.2024 17:16

          список десяти самых часто используемых вами функций

          это ж образно, а не буквально) Чтобы смоделировать первое ощущение после мобильного банкинга в РФ)


      1. Batalmv
        16.07.2024 17:16

        Ок, я пользуюсь

        • переводы карта-карта

        • оплата счетов

        • погашение кредитки

        • безналовые переводы

        • чат (если мой менеджер недоступен)

        • открытие депозита

        • просмотр транзакций

        • изменения лимитов

        • один раз - блокировка потеряной карты

        • ... может еще что-то

        А о чем я должен пожалеть? Просто и правда интересно

        Все это кстати как в нативном мобильном приложении, так и в вебе

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

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

        Конечно есть еще микро и юрики разных размеров, но обычно они по форумам не бегают и не кричат, как у них все круто.


        1. N-Cube
          16.07.2024 17:16

          Первые 4 пункта это все переводы по тем или иным реквизитам, которые в любом банке есть. Депозиты, транзакции, тоже общедоступно. Изменение лимитов может быть реализовано отдельно, чтобы зловред, получивший доступ к вашему аккаунту не выгреб все разом. А вот оплаты по QR коду у вас нет, как вы вообще с таким банком живете? Итого, с вашим банковским приложением вы без карты даже заплатить с телефона ни за что не можете (Apple pay и прочие к карте привязаны, так что это просто оплата сохраненной картой, а оплата QR кодов и прочие переводы работает прямо со счета, даже если никакой карты вообще нет). В значительной части мира именно QR кодами платят в такси, на рынке, в магазинах и проч.


          1. ABRogov
            16.07.2024 17:16
            +1

            Живу в европе, пользуюсь юбером и т.п. про QR-коды даже не слышал в контексте ежедневной оплаты. Может они даже есть, честно не сталкивался. Это сейчас в России так платят везде?


            1. N-Cube
              16.07.2024 17:16

              Таиланд, Китай, Вьетнам, Индия,… - больше половины населения мира. В России QR коды тоже появились, в контексте сближения с Китаем.


              1. tommyangelo27
                16.07.2024 17:16

                Простите за нубский вопрос, никогда в жизни QR кодами для оплаты не пользовался. Они реально удобнее, чем просто приложить к терминалу телефон с NFC?


                1. SpiderEkb
                  16.07.2024 17:16

                  Нет. Не удобнее. Это вариант когда NFC не работает.

                  Разница в том, что через NFC вы платите картой. За что банк с продавца (у на с продавца, в некоторых странах - с покупателя) снимает процент за эквайринг (1.5-2%, точно не скажу сколько сейчас).

                  По QR коду вы платите со счета. Фактически это как банковский перевод где все параметры кому-куда как раз в этом QR коду и зашиты.

                  Соответственно, при оплате по QR у вас может не быть кешбека (если кешбек начисляется только на операции по карте).

                  Ну и телодвижений в целом при оплате по QR больше... Тут не просто приложить телефон, а открыть приложение, "оплатить по QR", отсканировать QR...