Требования к кандидату на позицию Senior Software Engineer:
Коммерческий опыт разработки в качестве backend разработчика от 5ти лет.
Знание языка Java.
Умение самостоятельно предлагать и реализовывать технические решения для бизнес задач.
Обладание техническим кругозором (знакомство с современными БД (реляционные, key-value хранилища, и т.д.), брокеров и/или очередей сообщений, кешированием, видами архитектуры приложений, общее понимание принципов работы сетей, общие знания по работе операционных систем).
Будет преимуществом если:
Знание и опыт работы c: Spring, Spring Boot, Spring Data, Spring REST, K8s, Redis, PostgreSQL, Kafka, Java Concurrency, Java Collections, Java Stream API.
Умение и желание писать тесты: юнит, интеграционные и системные тесты.
Опыт работы с Kafka или другим брокером сообщений и понимание принципов его работы.
Опыт работы с высоконагруженными реляционными базами данных и умение писать/анализировать и оптимизировать SQL запросы.
Опыт работы с многопоточными приложениями знание Java Memory Model.
Опыт написания приложений основанных на микросервисной и/или event-driven архитектуре.
Опыт создания API – JAVA API и/или REST API.
Опыт и умение поиска дефектов в своих и чужих приложениях – использование дебагеров, использование профилировщиков, анализ логов, трейсов.