О компании
Мы ищем Java Software Developer с опытом 4–5 лет для присоединения к нашей инженерной команде и работы над масштабируемыми распределенными системами. Роль включает разработку и поддержку бэкенд-сервисов на Java 11+, работу с Apache Spark, Kafka и Apache Camel, а также тесное сотрудничество с фронтенд-командами, использующими Angular. Приложения развертываются на AWS, с фокусом на производительность, надежность и масштабируемость. Эта роль в основном ориентирована на бэкенд с сотрудничеством с фронтендом на Angular.
Обязанности
- Разрабатывать, тестировать и поддерживать масштабируемые Java-приложения.
- Сотрудничать с кросс-функциональными командами для определения, проектирования и внедрения новых функций.
- Писать чистый, эффективный и переиспользуемый код.
- Участвовать в ревью кода и делиться знаниями с командой.
- Устранять неполадки, отлаживать и обновлять существующие системы.
- Быть в курсе последних тенденций и технологий в отрасли.
- Устранять неполадки, отлаживать и решать проблемы приложений своевременно.
- Сотрудничать с менеджерами продуктов, QA и другими разработчиками для поставки функций.
- Оптимизировать производительность, масштабируемость и надежность приложений.
- Участвовать в ревью кода и наставлять младших разработчиков при необходимости.
- Обеспечивать соблюдение стандартов безопасности и соответствия требованиям.
- Проектировать и разрабатывать распределенные и интенсивно работающие с данными приложения с использованием Apache Spark.
Требования
- Отличное знание Core Java, принципов ООП и паттернов проектирования.
- Опыт работы с IDE, такими как Eclipse, VS Code.
- Модульное тестирование и разработка через тестирование.
- Хорошее знание паттернов проектирования ПО.
- Рабочее знание NoSQL баз данных (MongoDB).
- Хорошие навыки решения проблем и внимание к деталям.
- Отличные коммуникативные навыки и умение работать в команде.
- Опыт работы с фреймворками Spring / Spring Boot.
- Практический опыт работы с RESTful API и микросервисной архитектурой.
- Знакомство с ORM-фреймворками.
- Опыт работы с системами контроля версий, такими как Git.
- Понимание методологий Agile / Scrum.
- Отличные коммуникативные навыки.
- Опыт работы с системами обмена сообщениями (Apache Kafka).
- Опыт работы с фронтендом (Angular, JavaScript).
- Опыт работы с Apache Spark и фреймворками распределенных вычислений.
- Опыт использования AI-ассистированной разработки и систем, управляемых данными; способность использовать такие инструменты, как AWS Kiro или аналогичные платформы, для повышения производительности и качества ПО.
- Любознательность и открытость к внедрению новых инструментов, фреймворков и AI-управляемых рабочих процессов в рамках современного жизненного цикла разработки ПО.
Условия
- Опыт работы с реляционными базами данных (например, Oracle, MySQL) желателен.
- Опыт работы с интеграционным фреймворком Apache Camel желателен.
- Опыт работы с CI/CD пайплайнами, Jenkins и т.д. желателен.
- Знание облачных платформ (AWS, Azure, GCP) желательно.
- Знание лучших практик безопасности в облачных средах желательно.
- Опыт: 4-5 лет.
- Квалификация: степень бакалавра в области компьютерных наук, науки о данных, инженерии или смежной области.