Обязанности:
- Участвовать в построении новых систем и в развитии существующих;
- Проводить review кода;
- Обеспечивать полный цикл разработки от анализа требований до внедрения продукта.
Условия:
- Удалённый формат работы;
- Гибкое начало рабочего дня, график 5/2;
- Отсутствие дресс-кода;
- Дополнительный оплачиваемый отпуск при значимых событиях в жизни;
- Полис ДМС после успешного прохождения испытательного срока;
- Льготное страхование.
Требования:
- Отличные знания Core Java 8+ и опыт работы со стеком Spring (Boot, AOP, IoC, Data, Scheduling);
- Хорошие знания HTTP, TCP, Sockets;
- Хорошие знания SQL, JDBC;
- Опыт в использовании реляционных/in-memory БД;
- Знание особенностей БД: индексирование, партиционирование, реляционные паттерны;
- Опыт работы с REST API;
- Знания Linux + bash;
- Опыт использования git, вариантов gitflow;
- Понимание необходимости и опыт написания юнит-тестов, опыт работы с JUnit;
- Опыт промышленной командной разработки: от постановки требований до установки на production;
- Опыт рефакторинга кода приложения;
- Знание основных паттернов проектирования;
- Опыт в построении высоконагруженных географически распределенных систем и понимание проблемы многопоточной обработки данных;
- Умение декомпозировать задачи.
- Будет Вашим преимуществом:
- Опыт работы с Kafka, Hazelcast;
- Опыт работы с Docker, K8s;
- Опыт работы c Gradle, Jenkins, Nexus, Ansible;
- Опыт работы с продуктами Atlassian (Jira, Confluence, Stash);
- Понимание принципов работы многопоточности в Java;
- Понимание основ криптографии и практический опыт в использовании TLS, есть опыт работы с сертификатами безопасности;
- Опыт использования практик DevOps и понимание принципов CI/CD;
- Знакомство с agile-методами разработки;
- Знакомство с микросервисной архитектурой.