ГородМосква
НаправлениеИнформационные технологии
КомандаModel Risk Management
Дата публикации03.08.2022
Java разработчик в команду Model Risk Management
Наша команда внедряет технологические решения для управления рисками в крупном системно значимом банке.
Управление риском — это ключевая функция банков, которые, в свою очередь, являются важнейшей частью финансовой системы и экономики в целом. (https://www.cbr.ru/banking_sector/)
Мы создаем новый продукт по управлению моделями, связанными с моделями рисками и автоматизированной валидации моделей. Это современное и технологичное решение, которое может стать лучшим на рынке (превосходящее аналогичные продукты MLFlow, Kubeless, Kubeflow).
Работа над этим продуктом в нашей команде позволит тебе присоединиться к коллективу профессионалов, объединенных общей идеей; проявить свои навыки и способности; получить поддержку коллег и профессиональный рост.
Для достижения успеха мы ожидаем от тебя проактивность, нацеленность на результат, открытость и доверие к команде, готовность решать творческие, интересные и нестандартные задачи.
Мы разрабатываем набор Java-микросервисов, которые контейнеризируют ML-модели, оснащая их Flask (Python) — «оберткой». Благодаря умному бекенду мы помним, какую модель из какого коммита в какой кластер k8s (можно подключать несколько) мы задеплоили. Системой уже пользуются несколько команд банка в ПРОД, и она продолжает развиваться. Из крутых вещей, которые уже есть, — Spark on Kuber вычисления, когда по HTTP-запросу стартует несколько pySpark-executors, которые забирают данные из развернутого рядом Apache Ignite и выполняют распределенные параллельные вычисления. Из грандиозных планов — NoSQL-хранилище метрик мониторинга ML-моделей с разграниченным доступом к нему команд для просмотра time-series данных о мониторинге моделей.
Описание стека: Java 11, Spring Boot, Apache Ignite, pySpark, Kubernetes, GitLab.
Чем предстоит заниматься:
- работать над развитием архитектуры приложения;
- выбирать подходы и способы реализации нового проекта (никакого legacy);
- использовать передовые подходы и технологии распределенной обработки данных.
Наши ожидания:
- не менее двух лет опыта продуктовой разработки на Java;
- уверенное знание Java Core (Collections Framework, JDBC, Multithreading, I/O);
- опыт в построении REST-сервисов с использованием фреймворков IoC/DI (Spring);
- опыт работы с реляционными базами данных и умение писать SQL-запросы;
- опыт работы с Maven/Gradle;
- желателен опыт работы с фреймворками параллельной обработки (pySpark, Apache Ignite);
- опыт написания unit и интеграционных тестов (jUnit, TestNG, Spock, Mockito);
- уверенное владение системой контроля версий (мы используем Git).
Будет плюсом:
- опыт работы с высоконагруженными приложениями;
- опыт разработки FrontEnd (React, Angular);
- опыт работы в качестве архитектора программных приложений;
- умение оптимизировать запросы SQL;
- опыт работы в банковской сфере;
- опыт автоматизации, CI/CD (Jenkins, Bamboo, GitLab);
- опыт в ORM (JPA, Hibernate и др.);
- опыт работы с механизмами контейнеризации и оркестрации (Docker, OpenShift, K8s, Kaniko и др.);
- опыт работы с Linux / Unix, умение писать Bash-скрипты;
- опыт работы с Python;
- понимание процессов промышленной разработки ПО (Agile, Scrum и др.)
Мы предлагаем:
- высокий уровень свободы;
- комфортный офис всего в одной минуте пешком от станции метро «Технопарк» с собственным спортзалом и кафе (пока мы работаем преимущественно удаленно из дома, с улучшением эпидемиологической ситуации возможен переход на комбинированный график (1-2 раза в неделю — из офиса, остальное время — из дома);
- возможность профессионального роста и развития в направлении Software Architecture;
- комфортную атмосферу для развития и возможность активно участвовать в принятии важных решений;
- социальный пакет, включающий ДМС, страхование выезжающих за рубеж и многое другое;
- льготные условия на продукты банка, программу корпоративных скидок и другие преимущества;
- профессиональные обучающие курсы и конференции в России и за рубежом.