Search
Write a publication
Pull to refresh
Московский кредитный банк
Банк, где понимают клиента

Как мы укрощаем код, или Только то, что нужно знать разработчику об МКБ

Level of difficultyEasy
Reading time4 min
Views2.4K

Всем привет, я Виталий Трепыхалин – CIO в МКБ. Сегодня расскажу о том, как работает ИТ-дирекция нашего банка: как ИТ-специалисты разных направлений могут получать интересные задачи, а бизнес при этом наследует удобный продукт высокой стабильности, а также о том, как мы организовали обмен опытом с высокой прозрачностью тех инструментов, которые производим в созданной нашей командой с нуля ИТ–Академии. Статья для широкого круга разработчиков, желающих попробовать свои силы в FinTech. Если это направление вас интересует, приглашаю под кат.

Пишем код

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

Первое – это языки. Для разных продуктов мы применяем разные ЯП, не загоняя себя в узкие рамки, например, Kotlin/Swift хорошо подходят для Android и iOS соответственно — и дают возможность разрабатывать быстрые приложения с плавной работой интерфейса. Python можно использовать как для датасаенс-скриптов, так и для прототипирования, а GoLang/Java/.net для backend и части сервисов.

Разные команды, работающие на конкретном направлении, имеют устоявшийся стек, включая язык, а тимлид при этом помогает обеспечить соблюдение стиля и поддерживаемость написанного кода. Скажу сразу, что legacy с COBOL, который во многом стал притчей во языцех (вот пример), или чего-то подобного у нас нет, а техдолг, неизбежно формирующийся в процессе разработки, мы планово, без суеты и откладываний «на потом», устраняем. Подвал с нашими ДБ-линками распланирован в бэклоги специализированных и продуктовых команд.

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

Хранение кода, проверка и доставка обновлений происходит в TeamCity и GitLab CI/CD, которые в последние годы уже во многом стали стандартом индустрии. GitLab сервисы уж точно.

Храним данные и собираем метрики

Второе, но не менее важное в работе любого сервиса – СУБД. Тут так же, как и с ЯП, по потребностям и без лишних догм, то есть если структура данных и предполагаемые запросы позволяют использовать SQL, то применяем Postgres или Oracle. В ином случае целый спектр: от Druid/ClickHouse для аналитики до Tarantool и Redis для in-memory и Neo4j для сложных графовых связей.

Метрики и логи с сервисов, как правило, собираем во всем известный ELK (ElasticSeach, LogStash, Kibana). Это удобное и гибкое решение, позволяющее собрать с большого количества сервисов данные об их работе, а потом, в зависимости от потребности, фильтровать их в поиске. Но в целом не ограничиваем себя в стеках по мониторингу и использованию, как централизованных, так и точечно под проект.

Очереди, пайплайны и стримы – все, что нужно для обработки данных в реальном времени или регулярно, – хранятся в RabbitMQ и Kafka.

Развиваем и поддерживаем

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

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

Держим в курсе

Если ты захочешь  подтянуть свои знания в смежной по твоему направлению теме, подробнее изучить какую-то технологию или новый ЯП, в МКБ мы создали ИТ-Академию – это курсы внутри банка, доступ к которым открыт всем работникам по желанию, также на них можно поступить, если ты не являешься сотрудником МКБ, для изучения интересующей темы с возможностью начать работу у нас. Для студентов, в свою очередь, это отличная возможность, так как в отличие от большинства других курсов в сети, вопрос трудоустройства решается на берегу перед началом обучения.

Плюс встречаются кейсы, когда человек может понять для себя, что текущая сфера деятельности ему уже не так интересна и хочется попробовать себя в чём-то другом. Зачастую подобные решения откладываются в долгий ящик из-за страха неопределённости, сопутствующей обучению чему-то новому и поиск нового места работы. В МКБ если сотрудник хочет работать в ином направлении, то мы его только поддержим: обсудим его желания, разъясним те обязанности, которые у него будут на новой позиции. Новые знания он может получить в том числе на платформе ИТ-Академии, а далее все просто – собеседование с новым руководителем.

Вместо заключения или «очень ждем»

Итак я вкратце рассказал о том, как работает дирекция под моим началом и чем мы занимаемся. Банковские сервисы – комплексные продукты, которые нужно обновлять, поддерживать и рано или поздно переписывать. Чтобы все это делать качественно, нужны люди – инициативные, интересные и желающие развивать и развиваться. Сию повесть я написал, чтобы заинтересовать именно таких, пишите в комментариях, удалось ли это, ну и буду рад ответить на вопросы и узнать, что вам было бы интересно прочесть нового в нашем блоге.

Tags:
Hubs:
Total votes 4: ↑3 and ↓1+6
Comments0

Articles

Information

Website
mkb.ru
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Chitanava