Java-разработчик

Обязанности:

  • Написание собственного программного кода на языке Java в рамках существующего проекта.
  • Участие в проектировании прикладного и системного ПО.
  • Разработка новых программных модулей по спецификации.
  • Доработка и сопровождение имеющегося программного кода.
  • Написание автотестов, исправление багов, участие в ревью кода.

 
Требования:

  • Знание принципов ООП и умение применять на практике.
  • Опыт программирование на одном из высокоуровневых языков (Java/Scala/Groovy/Python).
  • Уверенное знание Java Core (J2SE), Java IO, Java Collections, Java Multithreading.
  • Знание принципов и архитектуры построения клиент-серверных приложений.
  • Хорошее понимание многопоточности в Java.
  • Опыт работы с JSON, XML, RESTful API, HTTP, SOAP, MQ.
  • Опыт работы с РСУБД, уверенное знание SQL, хорошее понимание транзакций.
  • Понимание работы систем контроля версий (GIT, SVN).
  • Опыт работы с одним из серверов приложений (Tomcat/JBoss/WildFly).
  • Опыт модульного тестирования Java приложений (Junit, Mockito).
  • Опыт работы с системами сборки (Gradle, Maven).
  • Умение писать понятный, структурированный, качественный код.

Приветствуется:

  • Опыт разработки высоконагруженных систем
  • Знание что такое СМЭВ
  • Опыт работы с Linux
  • Понимание работы Docker-контейнеров
  • Опыт работы с NoSQL БД
  • Понимание работы фреймворков Spring, Spring Boot, Hibernate
  • Опыт работы с любой из MQ систем (ActiveMQ, RabbitMQ, Kafka)
  • Понимание работы распределённых кэшей (Memcached, Redis, Tarantool, Hazelcast, Ignite)
  • Знание JavaScript, общее представление Frontend-стека, опыт работы с фреймворком ReactJS/Redux
  • Опыт работы с криптопровайдером CryptoPro/JCP, понимания алгоритмов ЭЦП.

Условия:

  • интересные задачи и дружный коллектив
  • стабильная заработная плата (окончательный уровень обсуждается с успешным кандидатом по итогам собеседования);
  • ДМС, включающий стоматологию;
  • Профессиональное обучение и развитие.
  • Опыт работы с серверным оборудованием.