Position: Senior/Middle  Java Back End developer
Company: SEVEN
Experience required: 3y
English level: upper

RESPONSIBILITIES
•    Work directly with CTO to assist with enhancing the company’s backend engineering team
•    To oversee and develop the backend technical aspects of the Company in alignment with its business objectives and goals
•    To manage, mentor, engage and motivate the backend engineering team to achieve business objectives and goals
•    To participate in the entire application lifecycle, focusing on coding and debugging
•    To plan and develop the company’s backend technology framework and architecture to ensure operational functionality and efficiency
•    To employ versatile and optimized code and libraries to maximize speed and scalability
•    Create code with a strong accent to keep DDD and TDD methodologies
•    Troubleshoot and debug applications
•    Collaborate with Frontend engineers to integrate user-facing elements with server-side logic
•    To continuously discover, implement and evaluate new technologies that yield a competitive advantage for the company

TECHNICAL REQUIREMENTS

FUNDAMENTAL

•    3+ years of professional experience in back-end web app development
•    Great understanding of full development life-cycle (design, development and deployment)
•    Knowledge about common build tools including Maven and Gradle Experience and understanding of Git, Git-Flow approach
•    Proficient with IDE. Preferable Intellij Idea
•    Experience with Agile methodology
•    Excellent analytical and time management skills

•    Ability to transform User Stories into clear code and working functionality

STRONG KNOWLEDGE
•    Strong Java Code knowledge especially on Java 11
•    Experience with Spring framework, Spring Boot (especially Cloud, Data, Web, Messaging, WebSocket)
•    Experience with Websocket Communication apart of simple requests Knowledge about Aspect Oriented Programming, Spring AOP
•    Strong familiarity on Multithreaded Java Applications Knowledge of Reactive Programming
•    Knowledge about writing Unit, Integration and E2E tests
•    Strong experience with testing libraries including: JUnit, AssertJ, Mockito, Rest Assured and TestContainers and Cucumber
•    Knowledge and/or passion on caching with Redis Knowledge and/or passion on Event-Driven Architecture Experience on Microservice Architecture

DATABASE
•    Experience with Postgresql. Understanding of ACID Knowledge about NoSQL

INFRASTRUCTURE
•    Knowledge: Docker, Kubernetes Knowledge about cloud services (especially AWS)