Java Senior developer
MSK or Remote | full time | 350-370 т.р.
SberDevices
Ищу Java Senior-а. Middle/Middle+ тоже готов рассмотреть.
Успешному кандидату предстоит:
- Разрабатывать и развивать масштабируемую, высокодоступную Cloud Native Платформу по Управлению Рекомендациями обрабатывающую десятки тысяч запросов в секунду с низким временем отклика от многомиллионной аудитории;
- Разрабатывать ключевые компоненты системы;
- Решать архитектурные, технологически-интересные и непростые задачи;
- Поддерживать на высоком уровне инженерную культуру;
- Не забывать про людей.
Технологии:
- Java 11,17 – языки программирования
- Gradle – система сборки
- Spring, Camel, Netty – фреймворки и библиотеки
- Junit 5, Mockito, AssertJ, Testcontainers – библиотеки тестирования
- Docker, Docker Compose, OpenShift – контейнеризация
- Kafka – потоковая передача данных
- PostgreSQL, Apache Ignite, ClickHouse – хранение данных
- ELK/EFK, Jaeger, Grafana, Prometheus – эксплуатация
Ожидания:
- Хорошее знание Java Core, IO, NIO, многопоточности, стандартной библиотеки и структур данных;
- Владение SQL, умение использовать конструкции JOIN, GROUP BY и т.п.;
- Опыт работы с Linux на уровне "пользователь";
- Опыт работы с Docker;
- Умение работать в команде и писать читаемый код;
- Умение и желание изучать те инструменты и технологии, с которыми не доводилось работать ранее;
- Умение читать и понимать англоязычную профессиональную литературу и документацию;
- Способность обучаться и находить решения самостоятельно, пользуясь доступными источниками информации.
Дополнительные ожидания:
- Опыт разработки чего-либо отличного от Spring-сервисов;
- Опыт работы с чем-либо из: Spark, Flink, Kafka;
- Опыт работы с Kubernetes и/или OpenShift;
- Опыт работы с Apache Ignite / GridGain;
- Возможность предоставить на ознакомление какие-либо примеры своего кода;
- Понимание того, что такое вычислительная сложность алгоритмов.
Возможности:
- Разработка высоконагруженных и отказоустойчивых сервисов и систем с нуля;
- Принятие самостоятельных решений в части реализации и прикладной архитектуры;
- Работа в дружном и профессиональном коллективе;
- Адекватный процесс разработки и доставки ПО (юнит- и функциональное тестирование, CI/CD, Code Review, Agile, и т.п.);
- Участие в релевантных профессиональных конференциях;
- Корпоративное обучение (доступ к внутренним и внешним курсам и материалам – O’Reilly, Coursera и т.п.);
- MacBook Pro 16” (6-Core Intel Core i7, 16 GB RAM, SSD) для работы;
- Удаленный режим работы при желании;
- ДМС с первого дня работы;
- Достойный оклад + вкусный годовой бонус.
Примеры задач:
Эффективно маршрутизировать тысячи запросов в секунду в десятки рекомендательных систем и их версий применяя к каждому из запросов правила на специально-разработанном вами же DSL.
Что значит “эффективно”?
- алгоритмически эффективно, стараясь не увеличивать время матчинга правил к входящему запросу линейно числу самих правил;
- технологически эффективно – использовать подходящие технологии, многопоточность, неблокирующий ввод-вывод и т.п.
Contact:
@szhemzhitsky
