Senior Java-разработчик в банке
Доход 500к: ~400 с работы + 100 менторство
2 года опыта
Хочу рассказать сегодня о процессах релиза в крупном российском банке. Огромное количество вакансий на java, да и всех ITшных - это крупные банки. Многие новички где-то слышали, что в банках долгие процессы, релизы и тд. Сегодня хочу приоткрыть эту завесу и рассказать как происходят процессы в таких компаниях, чтобы новички-вкатуны знали, что их будет ждать крупных компаниях и не боялись ходить на собесы. Кстати, у меня есть статья о эффективном прохождении собеседований
Не буду говорить конкретно о текущем месте работы, но мой опыт в большей части основан и на нем. Также имейте в виду, что я описываю примерно идеальный случай. На практике же всегда идет все не по плану: сроки горят, аналитика плохая, катят фичу без тестов прямо на боевые сервера (пздц).
Как задача появляется с самого нуля и доходит до релиза в продакшн. Каков её путь? В первую очередь, стоит понять, что задача не появляется просто из ниоткуда или из воздуха.
Задачи возникают из требований бизнеса.
Например, компания хочет добавить функцию, чтобы при регистрации пользователей происходила верификация паспорта.
Начало
Бизнес обращается в команду, которая занимается идентификацией и регистрацией пользователей и излагает требования и сроки. Бизнес общается обычно не со всеми членами команды, а с продукт-менеджером. Продукт-менеджер затем сообщает команде эти требования, чтобы команда понимала, что от неё хотят.
Этап аналитики
Задача ставится перед аналитиком, чтобы он проанализировал и собрал требования для этой задачи. Когда бизнес говорит, что ему нужна какая-то функция, он не собирает все требования и не анализирует их полностью, а просто выражает желание. Задача аналитика - собирать требования, обращаясь к смежным системам, спрашивая, могут ли они предоставить нужные данные, какие протоколы взаимодействий (http, kafka, grpc…)
- откуда будем получать данные паспорта пользователя
- как проверять данные, куда их затем отправлять
- какие внешние системы будут участвовать в этом процессе, как хранить данные пользователя
- как будем отказывать в верификации, как уведомим пользователя о том, что верификация прошла
Аналитик собирает все случаи, обсуждает их с продукт-менеджером и бизнесом, собирает требования и пишет техническое решение в виде документа, в котором описываются все взаимодействия и требования к системе.
Техническое решение содержит набор функций, которые потом добавятся в систему.
- Методы API, которые предстоит реализовать команде, что эти методы делают, как работают.
- Какие данные система получает, сохраняет и отдает наружу.
- Внешние запросы в другие системы
По техническому решению должно быть ясно что писать разработчику и как.
Этот этап может длиться от недели до нескольких месяцев в крайних случаях. Аналитику может потребоваться запросить различные доступы в смежные системы для анализа их API. Согласование аналитики с бизнесом тоже занимает время, нужно чтобы решение аналитика решало задачи бизнеса. Чтобы не произошло такого, что разработают не то, что хочет бизнес.