Один день в Альфа-Лаборатории: Java-разработка



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

    Думали сделать один «фулл-стековый» текст, но материала набралось столько, что пришлось делить его на части. И сейчас перед вами «утренняя» первая часть, в которой пообщались с Java-разработчиками Максимом Гореликовым и Кириллом Толкачёвым. Оба они как раз недавно выступили на нашей конференции Joker.


    Максим Гореликов


    — Для начала скажите, сколько вы уже времени в компании, на какую позицию пришли изначально, и чем занимаетесь сейчас?

    — Я пришёл в Альфу в середине 2015-го. На старом месте много чего разработал, архитектурой занимался, а тут пришёл и понял, что я совсем чайник. Ребята из команды Sense пообщались со мной и позвали к себе, а я отказаться не смог, стек технологий был уж очень интересный.

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

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

    — Интересно, а такое превращение хакатонной идеи в реальный продукт банка было единичным, или есть и другие примеры?

    — Не единичным. Например, в прошлом году мы участвовали на хакатоне командой, состоящей из одних разработчиков (без product owner, дизайнера и так далее). Команда подобралась достаточно упоротая: мы там на самом деле 24 часа от ноутбуков не отходили, так что к концу были выжатые, как лимон. И так появился проект, направленный на других разработчиков Альфы… Боюсь произносить слово «Платформа», потому что все компании, стоит им чуть вырасти, лепят что-то под таким названием. Зачем мы свою «платформу» начали:

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

    В какой-то момент мы прикинули и поняли, что новые команды много времени тратят на то, чтобы настроить проекты в JIRA, поднять себе Jenkins (сидеть всем на одном Jenkins — большой риск, поэтому чаще всего каждая команда у нас сама поднимает его себе). И мы сделали штуку, которая интегрирует все эти вещи: разработчик кнопку нажал, а она настроила проект в JIRA, создала job в Jenkins и так далее, вплоть до того, что нагенерила код и создала pull request с какой-то основой сервиса. Когда появится сборка этой штуки, разработчик может нажать deploy, и всё раскатится на тест. Благодаря этому разработчик и быстро начинает понимать, как всё происходит, и видит базовую структуру сервиса, который принят в этом продукте, понимает его стиль.

    — А проекты на хакатонах обязаны быть соответствующими реальным потребностям банка, или там можно заняться и чем-то совершенно другим?

    — Бывали и совсем безумные идеи, которые делались исключительно ради веселья, их нет никакого смысла потом всерьёз продвигать, зато в процессе все получили много удовольствия. Например, на одном из хакатонов мы с Кириллом и большой командой делали умный холодильник. Это вообще никак не вяжется с основными продуктами банка, но это были 24 часа веселухи. Сидели, паяли, парсили какой-то магазин с продуктами. Посреди ночи внезапно вспомнили, что самого холодильника нет, так один человек из команды его ночью раздобыл и привез, заслуженный такой, ЗИЛ:



    Я вообще воспринимаю Альфу как место, где есть дух эксперимента. Когда в команде человек семь, это разработчики на всех слоях (от Java до iOS), и по девопс-религии они ещё и инфраструктуру могут себе организовать, это сохраняет атмосферу стартапа. Эта команда сама может решать все свои проблемы и принимать решения.

    — Обычно слово «банк» ассоциируется у людей не со словами «дух эксперимента», а, наоборот, с безопасностью, осторожностью и консерватизмом. Насколько в ваших условиях возможно экспериментировать? Можете ли использовать что-то «интересное, но ещё не ставшее стандартом индустрии», вроде Kotlin? И насколько быстро при выходе новых версий Java или Spring переходите на них?

    — Понятно, что стабильность нам в любом случае нужна. Но при этом необязательно новое тащить сразу в production. Достаточно много задач есть в техническом бэклоге. Мы пишем какие-то инструменты, если нет готовых, которые нас полностью удовлетворяют — можно экспериментировать на них.

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

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

    Про скорость перехода на новые версии — от случая к случаю, зависит от того, насколько это нам реально необходимо. На Java 9, кажется, пока ни один проект ещё не переехал, но у неё релиз не так давно был. А вот со Spring 5 активно ведём эксперименты, на недавнем Joker я как раз рассказывал про него. Время близится, там есть интересные фишечки, и как только, например, выйдет Spring Boot 2.0, можно будет часть микросервисов на него перегнать. Скорее всего, там будет достаточно быстрая миграция некоторых микросервисов, из разряда «появился релиз — на следующей неделе или в конце этой недели какой-нибудь микросервис на этом появится». Потому что milestone-версии я уже попробовал, и в релизе буду более уверен, потому что буду знать, какие баги там уже позакрывали, какие критичные остались.

    — А жёсткие требования со стороны законодательства («хранить такую-то информацию») и безопасности («чтобы эта информация не стала доступна посторонним») не приводят к тому, что вместо полёта фантазии приходится заниматься по пунктам тысячей скучных требований?

    — Наоборот, это как раз и есть отличное пространство для эксперимента. На прошлом Joker Илья Сергеев выступал с докладом про нашу инфраструктуру логирования, на которой мы попробовали кучу всяких разных технологий, которые до этого не пробовали. И эта инфраструктура родилась, когда появилось требование хранения определённого набора информации с определённой длительностью хранения и с доступом для определённого круга людей.

    До этого мы грузили логи напрямую в Elastic, но в этом случае строить дашборды и заниматься мониторингом удобно, а вот если пустить туда кого-то, кто попытается разом выгрузить оттуда много данных, то есть вероятность, что они это всё положат. И мы выстроили инфраструктуру логирования через Kafka и очереди как раз для того, чтобы те, кто должен работать с этим, могли в любой момент прийти в эту очередь и выгрузить оттуда последние данные. А сколько они будут храниться и в каком виде — это уже, скажем так, их задача.

    Человек, который хочет поэкспериментировать, у нас всегда найдёт, на чём.

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



    — Со стороны банк может представляться строгой организацией со штрафами за минутное опоздание — а на практике у вас рабочие часы заданы жёстко или нет?

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

    Но при этой свободе отдельные команды зачастую вводят какие-то собственные дисциплинирующие практики. Сейчас как раз будет daily scrum meeting команды, где было решено за опоздание на DSM брать маленькие штрафы. DSM у команды в 11:30, а в банке уже сумма накопилась ощутимая. Ещё немного накопится и сходим на эти деньги командой в бар.

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

    — Обычно product owner конкретного продукта обсуждает планы на продуктовом комитете банка, а с командой разбирается в технических деталях реализации этого плана. При этом он не просто «получает от банка ТЗ на два листа», всё куда более гибко. Наши продакт-оунеры сами приносят идеи, а не работают чётко по директивам.

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



    Если вся команда понимает, что делается и зачем, создавать что-то качественное становится легче. Ответственность несёт вся команда, поэтому и право голоса есть у каждого.

    — А насколько разработчику в Альфе требуется погружаться в какую-то банковскую специфику вроде особенностей выдачи кредитов?

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

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

    — К вопросу «чем больше пытаешься охватить сразу всё взглядом»: вы уже сказали, что перешли на более общую роль «за пределами продуктовых команд» — а можно подробнее?

    — Да, ещё по мере набора опыта есть… Даже не буду называть это ростом, скажем, «смена направленности» разработчика. Чаще всего, когда разработчик приходит, он погружается в продуктовую команду и постепенно понимает специфику, принципы, процессы. Когда после первой пары-тройки месяцев осваивается, и у него уже нет ситуации «всё вокруг новое», он начинает заниматься ещё какой-то вспомогательной техникой. А когда он дорастает до того, что понимает все технологии и может притаскивать новые, понимает, как нужно обсудить это с другими разработчиками, чаще всего в этот момент он начинает выделяться и перестаёт работать в команде full-time. Он скорее экспериментирует с технологиями, создаёт какие-то прототипы, помогает новичкам освоиться, работает с техническим бэклогом и привлекает других. Смотрит, где что нестабильно, где что надо подтянуть, какую технологию или подход внедрить.

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



    — Вы говорили про независимость команд и взаимодействие внутри команды — а сколько взаимодействия межкомандного? И часто ли люди переходят из одной команды в другую?

    — Взаимодействия хватает, конечно. Если в команде всего один джавист, ему может быть скучно, может хотеться общения на Java-темы. У нас народ активно ходит по митапам и конференциям, поэтому в любом случае оказываешься в сообществе, но у нас есть и собственное сообщество Java-разработчиков. Мы проводим вечерние встречи, когда просто обсуждаем интересные вопросы: народ накидывает темы, мы за них голосуем, выстраиваем и обсуждаем. Либо в течение часа, либо (если желание обсуждать не кончилось) до бесконечности, это обычно происходит в пятницу вечером. Кто-то иногда перед конференцией доклад репетирует. Иногда обсуждаем банковские темы, иногда общетехнологические, поклонник Kotlin может прийти и вбросить: «А давайте обсудим корутины в Котлине». И пошла…

    Перейти в другую команду обычно не проблема. Команды между собой общаются, и если человеку нравится чем-то другим заниматься, могут и поменяться два джависта, и нового могут найти… И смена профиля тоже возможна: если хочешь освоить что-то совсем новое для себя, можно прийти к своему товарищу по команде и сказать «Петя, мне было бы интересно попробовать там разработку. Можешь меня покоучить, можешь стать моим наставником?». Он даёт тебе небольшую задачку, и вместе с тобой делает. Такое регулярно встречается, и люди развиваются: например, разработчик развивается в full stack, тестировщики переходят в разработку.

    Если хочется вообще каким-то новым проектом заняться, можно сделать прототип на хакатоне или рассказать о нём на одном из внутренних митапов.

    — У Альфа-Банка есть продукты вроде мобильного приложения, которые наглядно видны его рядовым клиентам (в том числе среди читателей Хабра). А можешь ли привести пример проекта, над которым вы тоже ведёте или вели работу, но который для обычных физических лиц неочевиден?

    — Недавно в новостях писали о банковском переводе через блокчейн между «Альфа-банком» и «Сбербанком», но осталось менее замеченным, что для нас это не первый опыт работы с блокчейном: ещё в прошлом году «Альфа-банк» и S7 первыми в России провели сделку-аккредитив с его помощью. Уже упомянутому Илье Сергееву было интересно поработать с блокчейном, но не запускать же новый продукт просто для того, чтобы попробовать. А тут возникла потребность и со стороны банка: сократить бумагооборот. Вот и встретились два одиночества.

    — Перспективы блокчейна (и технологические, и юридические) до сих пор не ясны полностью — не страшно ли было компании вкладывать ресурсы в такое?

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

    Стабильность нам точно важна, мы всё-таки банк, но если не будем экспериментировать и запускать что-то новое, можем ведь и отстать.

    Кирилл Толкачёв


    Подошедшего позже Кирилла мы в тот день как следует не расспросили — зато позже поймали на нашей конференции Joker и там задали несколько вопросов вдогонку:

    — Вы в Альфе уже «Java-авторитет», от разработчиков Альфы про вас можно услышать в контексте «и тут я пошёл спросить у Кирилла» — а большая ли часть работы состоит в обсуждениях с менее опытными разработчиками? А много кода сейчас пишете самостоятельно?

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

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

    — К словам «решаем, как это пофиксить»: а можете привести недавний пример какой-нибудь жести, которую приходилось исправлять?

    — Из последнего, что было неприятно: у нас есть внутренние балансировщики на HAProxy, которые осуществляют динамическую маршрутизацию трафика до приложений. Там есть нюанс, который заключается в том, что у нас приложение имеет для внутреннего discovery некоторый порт, который автоматически выбирается в системе и привязывается на целую группу приложений.

    Вот этот порт у нас пересёкся между двумя группами приложений, которые отвечают за разные функции. Народ начал тыкаться. Сначала начала тыкаться поддержка, потом разработчики, причём не сразу было понятно, что случилось. И тут проблему помог разрешить Spring. В endpoint, который возвращает информацию о сервисе (какой коммит, из какого репозитория всё это было собрано — внутренние endpoint’ы), он вернул вот что: дёргаешь один раз, попадает на один инстанс приложения из одной группы, а там возвращает, что это приложение Х (определили по заголовку X-Application-id). Дёргаешь второй раз тот же самый endpoint, балансировщик маршрутизирует на другое приложение Y. Потребовалось время, чтобы выяснить, что кто-то неправильно сконфигурировал, а мы дали возможность сконфигурировать неправильно и замаршрутизировать одни и те же запросы на разные приложения.

    — Уже задавали Максиму похожий вопрос, но поскольку тут на Joker у вас с Евгением Борисовым такой мощный доклад про Spring Boot, что он даже в один временной слот не влез, хочется сравнить показания: что думаете насчёт использования новых версий Spring/Spring Boot в продакшне? И как вообще в Альфе решается вопрос перехода к новым версиям?

    — Доклады про Spring Boot не то, что в один слот не влезают, они уже не влезают в один день тренинга, и мы с Женей сделали два тренинга — каждый по дню — про Spring Boot, который плавно перетекал в Spring Cloud.

    А про переход — зависит от ситуации. Есть технологии, которые мы, конечно же, щупаем, проверяем milestone-версии. Есть технологии, на которые мы просто смотрим, например, на gRPC сейчас смотрим. Пытаемся в Spring как-то вкрячить — написал стартер, проверил, нашёл какие-то шероховатости, понял, что нужно ждать новых релизов. Жду новых релизов, бац, и в них фичи, которые мне нужны. Например, абстракции, связанные с discovery, load balancing и так далее.

    Часто приходится следить за параллельными платформами. Из самого страшного — Node.js. Например с тем же gRPC — смотришь на реализацию балансировки и восстановления коннектов для node, а там в коде комментарии в духе «to do: implement this», с пометкой «возможно когда нибудь, кому нибудь, да понадобится». Судя по коду, люди вообще не думали, что это в принципе кому-нибудь понадобится. Так как я не являюсь профессионалом в Node, то даже не взялся это допиливать — слишком долго без какой-либо абстракции реализовывать что-то в незнакомой мне системе. И получается, что даже если технологии удовлетворяют нас с точки зрения сервера, то клиенты на разных платформах не могут их использовать по причине отсутствия необходимого для надёжной работы API. Не всегда находятся люди, готовые править такие вещи, готовые вкладываться в публичные решения, продвигать свои идеи. Всегда очень радуемся, когда появляется разработчик, способный вести не только внутреннюю разработку, но и «затачивать» внешний код под нас. Благодаря таким людям, мы порой можем не ждать мейнтейнеров какого либо решения, а выпустить либо локальный фикс, либо получить исправления прям в официальной версии.

    С точки зрения инфраструктуры Spring — смотрим на майлстоуны, смотрели и Spring Boot 2.0, и Spring 5.0, когда он ещё не вышел.

    — Спасибо за ответы! А мы будем готовить продолжение поста.

    JUG.ru Group 433,69
    Конференции для взрослых. Java, .NET, JS и др. 18+
    Поделиться публикацией
    Комментарии 27
      +1
      Всё хорошо, но штрафы за не приход в офис в 11-30 в спб/мск выглядят нелепо :(
        0
        Не до конца понял вашу мысль — «да в спб/мск до полудня никто и не просыпается», или какая-то другая? :) Anyway, раз это одна команда ввела сама для себя, то не вижу проблемы — видимо, её участники это нелепым не считают, а на остальных это не сказывается.
          0
          Ага, мысль такая, что лучше прийти чуть позже, чем в час-пик, да поработать попозже, когда основная часть митингов пройдёт, и будет трудовая атмосфера в офисе.
            0

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

          0

          Откуда инфа?

            0
            Собственно из поста выше, но там речь не о штрафах на уровне организации, а о внутренней инициативе одной конкретной команды:

            — Со стороны банк может представляться строгой организацией со штрафами за минутное опоздание — а на практике у вас рабочие часы заданы жёстко или нет?

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

            Но при этой свободе отдельные команды зачастую вводят какие-то собственные дисциплинирующие практики. Сейчас как раз будет daily scrum meeting команды, где было решено за опоздание на DSM брать маленькие штрафы. DSM у команды в 11:30, а в банке уже сумма накопилась ощутимая. Ещё немного накопится и сходим на эти деньги командой в бар.
            +2
            Более того, штрафы по ТК запрещены (ч. 4 ст. 192 ТК) :)
              0
              Не знаю как в Альфе, но когда я в 2008г. работал в Бинбанк, штрафы там были делом обыденным. Ну и в общем, ТК там не особо соблюдался.
              А еще дресс-код был, сейчас не знаю как. В итоге месяц протянул и ушел в более ИТишное и перспективное место.
                –1
                Тут надо четко понимать разницу между окладом и премией.
                Из оклада удерживать штраф действительно нельзя. А вот из премии никто не запрещает, ибо она выплачивается по усмотрению работодателя (за KPI, по итогам работы отдела/департамента/всего банка итд).
                В БИНе штрафы за опоздание удерживались именно из премии, но не из оклада.
                  0
                  Не знаю как сейчас, но раньше «премия» была 90% от полного моего дохода.
                  Вот в Темпбанк мне понравилось, там оклад был полностью без премий 100%
                0
                Это не штрафы в понимании ТК. Просто команда договорилась, что за какое-то выпадение из командной работы (опоздание на DSM) человек кладет в «банку» 50р. Они потом на эти деньги всей командой в бар идут. Где-то есть договоренность, что человек, сломавший билд в пятницу после обеда, кормит всех пиццей.
                У нас в какой-то момент всем надоело и появилась «матная банка». Мы на нее пиццу заказывали.
                +1
                Тут я понимаю другое, у людей собрание и если кто-то не придет или опоздает, это будет не очень хорошо. Тоже самое опоздать на встречу с клиентом.
                А разницы начал работать в 11-00 и закончил в 20-00 или 12-00 и закончил в 21-00 нет.
                Или не так устроен мир?
                  0
                  Команды сами для себя решают:
                  – когда провести митинг
                  – брать ли штраф за опоздание)
                  – чем брать штраф за опоздания, можно хоть отжиманиями
                  +6
                  И как всегда в таких статьях совершеннейший диссонанс между описанием процесса разработки («мы такие все стильные! модные! молодежные! конференции! аджайл! блокчейн!») на хабре и реальным положением дел, видимым со стороны клиента банка.
                  Имею в альфе ИП-шный расчетный счет, уже устал воевать с их техподдержкой. Интерфейс убогий, глючный (сейчас выкатили новый, но в нем я так и не нашел функции валютного контроля и вынужден сидеть в старом), продажа валюты с валютного (не транзитного) счета у меня за год и десяток обращений во все инстанции поддержки так и не заработала (все операции отклоняются без объяснения причин), документы не сохраняются, формы какие-то дурацкие, без проверки обязательных полей (сколько мне это боли принесло когда я пытался валютный перевод себе оформить в первый раз и еще не зная как оно работает — не сосчитать). Очень, очень печально.
                  Ах да, еще помню перл. Получаю первый перевод. Чтобы его перевести в рубли, мне надо заплатить комиссию за конвертацию. Комиссия вычитается с рублевого счета. На рублевом счету был ноль, он уходит в минус. Счет блокируется. Сделать продажу валюты на заблокированный счет больше нельзя. Все, приплыли, вывести деньги становится невозможно, так как их надо сперва в рубли сконвертировать, а счет заблокирован.
                  На вопрос в техподдержку что мне в таком случае сделать и почему нельзя вычитать комиссию после перевода, а не до, мне было предложено взять кредит в этом же банке и им погасить минус на счете.
                    0
                    Да, интерфейс для юрлиц действительно выше всяких проклятий.
                    Работа с валютным контролем — просто ад.

                      +2
                      Ребят, все поправим. Мы знаем, видим и слышим. Насчет дизайна — это субъективное мнение, которое зачастую полярно отличается друг от друга. Если говорить про UI/UX в целом, исследования показывают, что все не плохо — есть небольшие шерховатости с точки зрения навигации и отдельных функциональных модулей — все в работе. Но в целом, новый интернет-банк это в большей степени про переход на новый стек технологий, который теперь позволяет многим командам одновременно работать над развитием функционала и быстро катить изменения в бой — для сравнения: 44 боевых внедрения против 242 в течение 3-х месяцев.

                      Мы знаем о многих (если не сказать обо всех) недочетах, которые есть сейчас — поверьте, скоро исправим. Наверное следующим вопросом будет «зачем было открывать бета-версию?» — я не согласен с такой постановкой вопроса, потому что реальные результаты, которые мы видим после внедрения, говорят об обратном. Уже сейчас нам удалось кардинально изменить ситуацию с точки зрения удовлетворенности использования ИБ.
                      +1
                      Про валюту — наша самая большая боль на текущий момент и большой фокус на ближайшее время. Работа с валютой, в полном объеме появится в первом квартале 2018 — все будет круто! Сорри, что сейчас так — потерпите немного.
                      0
                      немного с позиции обывателя: не знаю занимается ли ваша команда альфа-клик, но я клиент банка с 2009г. и по сравнению с интернет-банкингом Уралсиба (например) вы на несколько порядков лучше. Теперь небольшая ложка дёгтя: не всё гладко с коммунальными платежами, а конкретно показания приборов учёта либо нельзя указать, либо не актуальные данные. А хотелось бы через вас платить, а не ходить в Сбербанк.
                        0

                        Я сижу плююсь, с интернетом банкингом альфа. Чтоб у нас в РБ обналичить деньги валюту, нужны, альфа бизнес, альфа стрим, альфа клик, интернет Банкинг… Почему нельзя в одном приложении сделать?
                        Да и ЭЦП от Авест уже наверное лет 10 кроме поддержки Windows & IE, не сдвинулась в сторону других ОС

                          0
                          Сколько не читаешь докладов, везде Java-разработчики борются с размерами Spring и смотрят новые решения (и конечно же, на них не переходят). Только пару ребят с Эстонии видел, которые в банках юзали Play Framework.

                          А вообще грустно, те же проблемы, что и в Сбере — ряд компонентов новые, ряд старые, все переписать и заставить вместе работать — не получается.
                            0
                            Мы никуда не планируем уходить от Spring. Подскажите, где вы видели такие доклады от нас? О каком размере «Spring» идёт речь?

                            Что именно грустно? Цели переписывать всё под ноль не ставили, особенно то, что работает
                              0
                              Это нормальное состояние любого корпоративного продукта
                              Просто читать статьи про хакатоны, стартапы и прочий бигдата интереснее, вот и создается впечатление, что весь айти он прям bleeding edge и всё такое.
                                0
                                Я вот использую Play Framework в банковской сфере… только в Нигерии. Всякие админки для платежных сервисов на нем делаем. Нравится что он достаточно мощный (из коробки есть все что надо для создания типичной админки или еще какого не сильно навороченного приложения), но не переусложненный.
                                0
                                Раз уж здесь в том числе высказываются и пожелания, то внесу свои 5 копеек. Сделайте, пожалуйста, продуманное решение для выезжающих зарубеж, хотя бы на уровне физиков. Сейчас без роуминга работать с банком нельзя. Хотелось бы видеть альтернативы в виде приложения-аутентификатора или КЭЦП. Можно даже трехфакторкой. Плюс ограничение в виде только одного текущего счета в определенной валюте, мягко говоря, странно.

                                «Мультивалютку» вы классно сделали, ничего не сломав, в отличии от того же БинБанка.
                                  0
                                  еее, спасибо за шотаут про джокер с логированием, а про блокчейн знач без имен?)) вот это вот «конкретному разработчику») ссылочка на статью в моем профиле, если что
                                    +1
                                    Теперь интересно не «конкретному», а некому «Илье Сергееву» :) Так лучше?

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое