Участие в разработке компонент продукта BSS Box (CRM, Ordering, PRM) Senior Java Developer

CRM компонент в рамках продукта BSS Box отвечает за ведение информации по клиентам и партнерам оператора, их лицевым счетам, контрактам, обращениям. Ordering компонент отвечает за работу с продуктами оператора и их связкой с клиентами, ведет список продуктов по каждому клиенту и реализует процессы их активации и деактивации. RPM компонент отвечает за управление партнерами оператора, реализует процессы подключения партнёров, определения их ценовой политики и моделей вознаграждения.

 

Задачи:

  • Разработка и тестирование многопоточных высоконагруженных серверных приложений.
  • Участие в проектировании и разработке ER- моделей данных для Oracle DB (database normalization, constraint etc.) совместно с аналитиками и архитекторами.
  • Участие в архитектурных решениях, взаимодействие с продуктовыми архитекторами.
  • Ревью кода.
  • Участие в процессе DevOps.

Период привлечения: от 6 месяцев.

Количество необходимых специалистов: 13

Требования:

 

  • Понимание принципов программирования (процедурное, объектно-ориентированное, функциональное, декларативное и т.д.).
  • Опыт программирования на Java SE (core, multithreading) от 3 лет
  • Экспертное знание принципов реляционных БД.
  • Понимание принципов работы и отличий SQL и NoSQL (Oracle, MSSQL, PostgreSQL, Couchbase, Cassandra, MongoDB, Tarantool, Apache Ignite).
  • Понимание принципов синхронного и асинхронного взаимодействий (очередь, REST API, SOAP).
  • Знания технологий и методик проведения модульного тестирования, опыт использования соответствующих инструментов (JUnit, TestNg и т.п.).

Желательно:

  • Базовые знания каких-либо языков программирования, кроме Java. Например, Scala, Kotlin, C++, Python
  • Опыт работы с AMQP-очередями (RabbitMQ, ActiveMQ и т.п.), опыт использования Apache Kafka.
  • Базовые навыки работы с OS Linux.
  • Понимание принципов распределенной архитектуры (CAP theorem, CQRS pattern etc.)
  • Понимание принципов итеративной разработки, роли Developer в Scrum.

Личные качества:

  • Умение работать в команде и достигать поставленных целей
  • Умение работать с неполными входными данными/требованиями, способность анализировать поставленную задачу, выявлять потенциальные проблемные места и предлагать решения
  • Нацеленность на результат и ответственность

 

Напишите нам
Анна Синякова
Менеджер по закупкам
Михаил Соколов
Директор отдела
Отдел закупок: +7 (812) 326-12-99