Обязанности:
1. Проектирование и разработка бэкенд-архитектуры для бизнес-систем, обеспечивая высокую доступность, высокую производительность и масштабируемость.
2. Выполнение управления сервисами и настройки производительности в условиях высокой конкуренции для постоянного улучшения стабильности системы, пропускной способности и эффективности отклика.
3. Разработка основных сервисов и бизнес-модулей, включая системы пользователей, аутентификацию, авторизацию и возможности открытого API.
4. Участие в проектировании и реализации микросервисной архитектуры, способствующей модульности системы, ориентированности на сервисы и инженерному совершенству.
5. Поиск и устранение проблем в продуктивной среде, анализ производительности и решение сложных технических задач.
6. Сотрудничество с командами продукта, фронтенда, QA и кросс-функциональными командами для обеспечения качественной реализации требований.
7. Постоянная оптимизация процессов разработки, качества кода и технических решений для улучшения сопровождаемости и эффективности исследований и разработок.
Требования:
1. Степень бакалавра или выше в области компьютерных наук или смежной области.
2. Опыт разработки на Java для бэкенда от 3 до 5 лет и более с прочной технической базой. Рассматриваются также выдающиеся выпускники.
3. Владение основными технологиями Java, глубокое понимание JVM, программирования с конкуренцией, коллекций, ввода-вывода и сетевого взаимодействия.
4. Знание популярных фреймворков, таких как Spring Boot и Spring Cloud, опыт разработки и управления микросервисами.
5. Опыт разработки высокопроизводительных систем с высокой конкуренцией, знакомство с кэшированием, асинхронной обработкой, ограничением скорости, схемами отказоустойчивости и пулами потоков.
6. Владение распространёнными промежуточными слоями, такими как MySQL, Redis, Kafka и Elasticsearch, понимание их областей применения и методов оптимизации производительности.
7. Понимание распространённых проблем распределённых систем и способов их решения, включая идемпотентность, согласованность, распределённые блокировки, обработку транзакций и отказоустойчивость сервисов.
8. Сильные аналитические и проблемно-решающие навыки, способность самостоятельно устранять проблемы в продуктивной среде и решать сложные задачи.
9. Знакомство с механизмами аутентификации и авторизации, опыт проектирования и разработки с OAuth2, JWT, SSO, RBAC и Session.
10. Опыт работы с Kubernetes, включая контейнеризированное развертывание, оркестрацию сервисов, авто-масштабирование и управление конфигурациями.
11. Опыт работы с облачными сервисами AWS является преимуществом.
12. Высокие стандарты кодирования, навыки документирования и умение работать в команде.
Будьте осторожны: если работодатель просит войти через Google, iCloud или Госуслуги, прислать код или пароль, запустить ПО или перевести деньги — это мошенники.
ЖмитеГайд по безопасности