Продукт: Frisbee - это корпоративный многофункциональный мессенджер с поддержкой платформ Web/Desktop, Android и iOS. Разработка ведется с декабря 2019. Продукт долгосрочный, с реальным клиентом. Из планов в крупную клетку: звонки, видеосвязь, чатботы, треды + много мелких, но значительных импрувов. Философия продукта чем-то напоминает Telegram и Slack, но есть и свои особенности. Мы уделяем большое внимание безопасности. У нас единственных реализовано полноценное шифрование на базе отечественных стандартов. У нас единственных шифруется не только канал передачи сообщений, но каждый передаваемый файл хранится в шифрованном виде на сервере и разработан полноценный бэкофис для администрирования пользователей.
Команда: 30 человек, 20 - команда разработки, в Back-end команде 4 человека, расширяемся до 5. С технической точки зрения сервер представляет собой набор сервисов написанных на java. Для хранения данных используем Apache Cassandra в качестве основной БД и Apache Kafka в качестве журнала событий/очереди сообщений. Деплоим в виде Docker-контейнеров внутри Kubernetes кластера. В качестве облачного провайдера используем Google Cloud Platform. Для коммуникации с мобильными/web клиентами используем REST API + Server Sent Events.
Стек проекта: Java 11, Spring Framework, Spring Boot, Spring WebFlux, Websockets / Server Sent Events, Google cloud platform (compute engine, kubernetes engine, cloud storage, networking, stackdriver logging/monitoring), Apache Kafka, Apache Cassandra, Gradle
Задачи: - проектирование и реализация компонентов на стороне сервера; - обеспечение стабильной работы системы в продакшене; - ревью кода; - построение архитектуры, рефакторинг, написание тестов.
Требования к опыту: - опыт 5+ лет; - опыт построения микросервисной архитектуры; - знание Java, экосистемы Spring, Browser networking, Apache Kafka; - DevOps навыки с развертыванием в k8s.