Всем привет! Меня зовут Егор, я стажёр backend-разработчик в зарплатном проекте Росбанка (он же Payroll). В этой статье я расскажу про путь становления от «зеленого» стажера до боевой единицы в команде: через что мне пришлось пройти, с какими трудностями я столкнулся и как прокачал свои скилы.
Опенсорс как разумный выбор для банка: чему мы научились, когда уходили от vendor lock
Коробочные решения хороши тем, что позволяют переложить доработку и внедрение на поставщика ПО. И поначалу всё идёт хорошо: не тратится время на разработку, стоимость решения высокая, но адекватная.
Однако не всё так радужно: помимо лицензии приходится оплачивать поддержку, даже если для конкретного продукта она на данном этапе не нужна. В контрактах многие услуги появляются прицепом, просто потому, что они являются частью коробки. Кроме того, стоимость обновлений с каждым годом растёт, тогда как старые версии перестают поддерживаться. Запросы на доработку продукта под себя долго согласовываются, а иногда выясняется, что нужную фичу просто невозможно прикрутить в разумные сроки по разумной цене. Когда подобные вещи всплывают, у руководства неизбежно возникают вопросы вида «Что делать?», «Можно ли не платить?» и «Зачем платили, если можно было не платить?».
В посте мы рассказали, как разбирались с зависимостью от вендоров в Росбанке: с какими специфическими для финтеха трудностями столкнулись, как с ними справлялись и чего в итоге удалось достичь банку на ниве open source.
Hibernate — проблема декартова произведения при запросах с пагинацией
Привет! Меня зовут Артём Гордиенко, я работаю Java/Kotlin-разработчиком в Росбанке и занимаюсь разработкой микросервисов, необходимых для внешнеэкономической деятельности интернет-клиент-банка юридических лиц. Реализация этого доклада стала возможной благодаря одному-единственному сообщению, обнаруженному в логах одного нового микросервиса. Как оказалось, причина сообщения серьезно влияет на производительность приложения. Мне это показалось довольно интересным, и захотелось поделиться информацией с другими разработчиками.
Многие сталкиваются с реализацией вывода списочных данных с пагинацией из БД. В Spring Data и в самом Hibernate есть стандартные решения, которые позволяют достаточно просто решить эту задачу. Но у предлагаемых решений есть подводные камни, и со временем или даже сразу они могут серьезно повлиять на производительность. В худшем случае — и вовсе привести к падению приложения.
В этом посте, основанном на моем докладе с JPoint 2023, я расскажу, при использовании каких стандартных решений вы столкнетесь с падением производительности и какие есть эффективные варианты реализации запросов с пагинацией. Также обсудим баги в Hibernate 6, которые я обнаружил.
Регулярные выражения в реальных задачах
Привет, Хабр! Меня зовут Татьяна, я разработчик в Росбанке, и в этом посте я расскажу про регулярные выражения. По своему опыту могу сказать, что регулярки — это очень полезный инструмент. Я часто пользуюсь ими, решая задачи по обработке текста в базах данных. Вначале я остановлюсь на теории, а затем рассмотрю несколько реальных задач, которые были решены с использованием регулярных выражений.
«Неисповедимы пути архитекторов»: FAQ по профессии архитектор решений (Solution Architect)
Кажется, что сейчас нет ни одного крупного бизнеса, где бы не работали архитекторы. Однако с ролью архитектора решений (Solution Architect) история очень интересная, так как этим специалистам часто приходится сталкиваться с непониманием данной роли в проекте. Наиболее частый стереотип, что архитектор решений – это такой прокачанный разработчик или PM с бэкграундом разработки.
Конечно, если посмотреть чуть-чуть назад, то раньше на проектах эту роль выполняли опытные разработчики. Но время идет, рынок меняется и сейчас если у вас большой проект, а вы хотите, чтобы он «полетел», то без архитектора решений вам никуда.
Как и в любом крупном банке в Росбанке есть такие специалисты. Мы решили разобрать роль Solution Architect с Александром Егоркиным, директором по технологиям департамента информационных платформ.
Инженерная культура Росбанка: что это и какие у нее принципы. Часть 2
Привет! Меня зовут Кирилл Покладов, я ИТ-директор корпоративного, инвестиционного и депозитарного бизнеса в Росбанке. В прошлый раз я рассказал о некоторых принципах нашей инженерной культуры.
Сегодня я продолжу знакомить вас с другими принципами, которые помогают совершенствовать процессы в быстро меняющемся мире ИТ.
Используем аннотацию @Transactional like a pro
Привет, Хабр! Меня зовут Никита Летов, я тимлид бэкенд-разработки мобильного приложения Росбанка для физических лиц. Этот пост входит в серию постов по разработке бэкенд-микросервисов на Java и Spring и является адаптацией моего доклада с JPoint 2022.
Также хочу предупредить, что данный пост не cookbook и не предоставляет идеально приготовленное решение какой-либо бизнес-проблемы. Это разбор одной технологии, которая при правильном использовании может помочь вам в решении реальной проблемы. А может и не помочь — всё зависит от ее природы.
Flutter DevTools: анализируем и улучшаем Flutter-приложения на примере «Росбанк Инвест»
Привет! Меня зовут Нияз, и в этом посте я расскажу о Flutter DevTools — очень богатом и разнообразном наборе инструментов для оценки Flutter-приложений, причем доступном прямо через браузер. Статья представляет собой обзор доступного функционала Flutter DevTools, где я постараюсь описать, что можно сделать с его помощью. Для иллюстраций я по возможности буду использовать приложение «Росбанк Инвест». В ряде случаев нужных примеров в приложении не нашлось, поэтому я придумал их сам. Надеюсь, эта статья будет вам полезна и добавит в ваш инструментарий кое-что новое.
Как работают и отдыхают ИТ-специалисты в пост-карантин?
Мы решили выяснить, как изменилась работа сотрудников после перехода в home office, и заодно познакомить вас с нашими ИТ-экспертами — системными аналитиками, бизнес-аналитиками, разработчиками, тестировщиками.
Из интервью вы узнаете об их профессиональных предпочтениях и инструментарии, а также о том, какую литературу они читают, какими гаджетами пользуются и что думают о построении карьеры в ИТ-индустрии.
Первым нашим собеседником стал Андрей Фетисов, начальник отдела разработки систем взаимодействия с партнёрами (команда, отвечающая за сервисную прослойку между банком и внешним миром в части автокредитования), в прошлом — системный аналитик и руководитель группы. Андрей — «серьёзный» руководитель, но в свободное от работы время по-прежнему любит, среди прочего, поиграть в компьютерные игры или заняться написанием музыки.
Инженерная культура Росбанка: что это и какие у неё принципы
Привет, Хабр! Меня зовут Кирилл Покладов, я ИТ-директор корпоративного, инвестиционного и депозитарного бизнеса в Росбанке. В этом посте я расскажу про инструмент, который помогает нашему банку развиваться быстрее и бороться со стереотипом о том, что все банки неповоротливы, а любой релиз там занимает уйму времени. Этот инструмент — наша инженерная культура.
Эволюция восприятия Канбан-метода
С вами Денис Бартоломе, руководитель направления развития проектной деятельности Росбанка. Сегодня я расскажу об эволюции восприятия Канбан-метода.
За три года консультирования и тренерства, у разных людей, которые решают «начать работать по Канбану», я наблюдал одинаковые «этапы» изменения восприятия знания, через призму которых они выбирали ту или иную часть инструментария. В статье я кратко структурировал свои наблюдения, и, надеюсь, что этот обзор поможет вам чуть глубже понять всю мощь современного Канбана.
Если интересно — добро пожаловать под кат.
Helena.4.0 – новый алгоритм для подбора гиперпараметров
С целью автоматизации процесса подбора гиперпараметров автором данной статьи разработан алгоритм Helena.4.0. Конечной целью является создание автоматической системы построения моделей (auto-ML), которая бы подбирала гиперпараметры за минимальное время.
С помощью алгоритма Helena.4.0 можно подбирать гиперпараметры для моделей градиентного бустинга, нейросетей, и более того – для генетических алгоритмов. Автор считает, что алгоритмы Helena могут заменить в генетических алгоритмах генеративную часть – т.е. уйти от биологических аналогий, заменив псевдобиологическую генерацию признаков путем процедур «скрещивания» и «мутаций» на генерацию с помощью указанных алгоритмов.
Для поиска максимума функции алгоритм Helena.4.0 использует только ее значения, и не используют первые и последующие производные. Таким образом, этот алгоритм не требуют ни дифференцируемости, ни непрерывности максимизируемой функции.
Сравнение алгоритма Helena.4.0 с наиболее популярными конкурентами (Optuna, HyperOpt, RandomSearch) показывает его высокую конкурентоспособность.
В отличие от других алгоритмов, не использующих градиент для максимизации функции, алгоритмов Helena.4.0 способен успешно противостоять комбинаторному взрыву. Т.е. алгоритм Helena.4.0 достаточно стабильно работает, несмотря на увеличение размерности пространства. Время, необходимое алгоритму Helena.4.0 для поиска максимума функции, оценивается как квадратичная функция от размерности пространства.
Ниже в статье приведено подробное описание алгоритма Helena.4.0 и результаты сравнительных тестов с алгоритмами-конкурентами.
Как реализовать интеграцию с ЕСИА на Java без лишних проблем
Благодаря внедрению ЕСИА государственные и коммерческие организации, разработчики и владельцы онлайн-сервисов получили возможность ускорить и сделать более безопасными операции, связанные с вводом и верификацией пользовательских данных. Русфинанс Банк также решил использовать потенциал системы и при доработке сервиса по оформлению кредита онлайн (банк специализируется на автокредитовании) реализовал интеграцию с платформой.
Сделать это оказалось не так просто. Нужно было выполнить ряд требований и процедур, решить технические трудности.
В данной статье мы постараемся рассказать про основные моменты и методические указания, которые важно знать тем, кто хочет самостоятельно реализовать интеграцию с ЕСИА, а также приведём фрагменты кода на языке Java, которые помогут преодолеть трудности при разработке (часть реализации опущена, но общая последовательность действий ясна).
Надеемся, наш опыт поможет Java-разработчикам (и не только) сэкономить массу времени при разработке и ознакомлении с методическими рекомендациями Минкомсвязи.
Код аудита: поиск дублей, face detection и аномальные изображения
Как создать интерактивный дашборд с нуля через ChatGPT
Всем привет! Меня зовут Татьяна Яковлева, я работаю системным аналитиком в Росбанке в Центре компетенций развития технологий некредитных продуктов. В этой статье я расскажу, как использовать ChatGPT для визуализации данных и построении дашбордов при помощи Python и фреймворка Dash; поделюсь готовыми промтами для создания дашборда за несколько минут.
Spring Data JPA: метод save и границы его применимости
Привет! Меня зовут Семён Киреков, я Java-разработчик и тимлид в Центре Big Data @МТС Digital и Java-декан в МТС Тета — образовательном стартапе в рамках МТС. На митапе Росбанка и Jug.ru я рассказывал о том, как устроен метод Save в Spring Data JPA, почему он может вызвать лишний select, как решить эту проблему и при чем здесь доменные события Spring. Здесь я поделюсь этой информацией с вами.
Tladianta. Сервис по автоматизированному тестированию в Росбанке
Всем привет! Меня зовут Антон Епишин, и я продолжаю наш небольшой цикл статей про автоматизированное тестирование в Росбанке.
В прошлый раз Юрий Скворцов рассказал про один из инструментов, который помогает нам быть уверенными в качестве предоставляемого фреймворка Tladianta.
Сегодня же мы затронем процесс, который мы построили за последние 9 месяцев в условиях ИТ-трансформации банка, распределённой команды, а также COVID-изоляции (если считать время с начала подготовки концепции и заканчивать первыми успешными результатами).
Горерадость корпоративного стартапинга
Последние года три разговоры про стартапы слышны из-за каждого угла. Практически каждая уважающая себя крупная компания всячески поощряет внутреннее предпринимательство: акселераторы, инкубаторы, венчурные фонды и т.д. и т.п. Но что это несет для компании?
Рассуждения с опорой на внутренний, местами болезненный, опыт – под катом.
Как мы поженили две банковские CRM-системы
Исторически так сложилось, что у нас в ипотечном банке «ДельтаКредит» (летом мы присоединились к Росбанку и теперь называемся «Росбанк Дом») было две CRM-системы. Зачем и почему – расскажу дальше.
Между ними существовала асинхронная интеграция, которая имела свойство периодически ломаться, нарушая рабочий процесс и вгоняя в глубокую депрессию весь банк, от IT до продажников. В конце концов это всем ожидаемо надоело, и стало понятно, что проблему нужно срочно решать.
Главная сложность — сделать это надо было без прерывания процесса. И это при нагрузке в 700 человек, да еще и с подключенными внешними ресурсами.
Под катом – история о двух CRM-системах, которые (спойлер) было решено объединить в одну.
Сможете ли вы отличить собаку от кошки, или Как объяснить проблемы дата-сайентиста коллегам. Часть 1
Этот материал начинает серию из трех постов о том, как объяснить проблемы дата-сайентистов сотрудникам вашей компании, которые ничего не понимают в data science. В первой части я доступно расскажу о нынешнем положении специалистов, их проблемах и типичных запросах, с которыми они сталкиваются.