Обязанности
- Проектирование и разработка бэкенд-архитектуры для бизнес-систем, обеспечение высокой доступности, высокой производительности и масштабируемости.
- Осуществление управления сервисами и оптимизация производительности в сценариях с высокой конкуренцией для постоянного повышения стабильности системы, пропускной способности и эффективности отклика.
- Разработка основных сервисов и бизнес-модулей, включая системы управления пользователями, аутентификацию, авторизацию и возможности открытого API.
- Участие в проектировании и внедрении архитектуры микросервисов, продвижение модульности системы, ориентации на сервисы и инженерного совершенства.
- Устранение неполадок продакшена, анализ производительности и решение сложных технических проблем.
- Взаимодействие с командами продакт-менеджмента, фронтенда, QA и кросс-функциональными командами для обеспечения высококачественной реализации требований.
- Постоянная оптимизация процессов разработки, качества кода и технических решений для повышения поддерживаемости и эффективности НИОКР.
Квалификация
- Степень бакалавра или выше в области компьютерных наук или смежной области.
- Опыт разработки бэкенда на Java от 3-5 лет с прочной технической базой. Выдающиеся свежие выпускники также могут быть рассмотрены.
- Владение основными технологиями Java, глубокое понимание JVM, конкурентного программирования, фреймворков коллекций, I/O и сетевых коммуникаций.
- Знакомство с основными фреймворками, такими как Spring Boot и Spring Cloud, опыт разработки и управления микросервисами.
- Опыт разработки высокопроизводительных систем с высокой конкуренцией, знакомство с кэшированием, асинхронной обработкой, ограничением скорости, размыканием цепи и пулами потоков.
- Владение распространенными промежуточными программами, такими как MySQL, Redis, Kafka и Elasticsearch, понимание их вариантов использования и методов оптимизации производительности.
- Понимание распространенных проблем и решений в распределенных системах, включая идемпотентность, согласованность, распределенные блокировки, обработку транзакций и отказоустойчивость сервисов.
- Сильные аналитические навыки и навыки решения проблем, способность самостоятельно устранять неполадки продакшена и решать сложные проблемы.
- Знакомство с механизмами аутентификации и авторизации, опыт проектирования и разработки с использованием OAuth2, JWT, SSO, RBAC и Session.
- Опыт работы с Kubernetes, включая контейнерное развертывание, оркестрацию сервисов, автоматическое масштабирование и управление конфигурацией.
- Опыт работы с облачными сервисами AWS является плюсом.
- Строгие стандарты кодирования, навыки документирования и командной работы.
Технологический стек
- Java
- Spring Boot, Spring Cloud
- MySQL, Redis, Kafka, Elasticsearch
- Kubernetes
- AWS
Описание команды
Кросс-функциональное взаимодействие с командами продакт-менеджмента, фронтенда, QA и другими командами для предоставления высококачественных бэкенд-сервисов и микросервисов.