Position: Senior Java Developer
Company: Forte Group
Experience required: 5y
English level: upper

Forte Group has an open position for a highly qualified Software Engineer. The Software Engineer will be responsible for a demanding and rewarding variety of duties related to working on new systems and solutions and enhancing existing systems utilizing Java. You should be both independent and an enthusiastic team player, have strong problem solving and analytical skills, and close attention to details.

**Project description** 

You will have the opportunity to work on Cloud HR management service to help small and mid-sized businesses grow with confidence and succeed in human management. Cloud HR management service targeted to the US market. The product enables its customers to outsource full-cycle HR processes, including time-tracking, time-off management, payroll management, tax calculation, etc.

Technologies that are used on the whole project: a custom-developed product based on Java Spring, React, AWS, Microservice architecture.

**Team structure and workflow** 

There are 3 teams working on the project and allocated in Minsk, Ternopil, and Chicago. (You’ll be part of one of the development teams). A development team follows Scrum processes. Communication mainly consists of participation in regular scrum events and interpersonal communication via Slack. Jira and Confluence are the main tools used for supporting delivery workflow and maintaining project documentation.

**Technologies and Tools** 

Backend: Java Core, Spring Boot, Spring Cloud, Spring Framework, Spring Security, Netflix Stack Microservices (Zuul, Eureka, Feign, Hystrix, etc.), JdbcTemplate, Hibernate, JDBC, JSON, XML, JUnit

Database: Postgresql, Aurora DB Cluster (based on Postgresql)

Cloud Platform: Amazon Web Services (AWS)

VCS: Git

Tools: Linux bash, Gradle, Intellij Idea, Docker, Jira, Confluence

**Responsibilities** 

Design, architect and develop software applications
As a key developer serves in a mentor role to junior team members
Analyze requirements, collaborate with team members to produce thoughtful software designs
Provide accurate estimates on work items
Maintain coding standards and participate in peer code reviews
Facilitate engineering operation process to ensure high-quality software solutions concerning engineering excellence
Assess solution architecture in terms of vulnerabilities and possible improvements

**Qualifications and Skills** 

Strong knowledge of Java Core
Deep understanding of microservice architecture
Extensive experience working with Spring, Hibernate
Familiarity with distributed streaming platform (Kafka) or message-broker software (RabbitMQ, etc.)
SQL, understanding of relational data modeling
Strong knowledge of OOP and design patterns
Knowledge of common algorithms and data representation models
Bachelor’s degree in the relevant field
Great team player 
Experience working in a Scrum environment
Intermediate+  English

**Engineering Practices** 

Static code analysis
Code review
Refactoring
CI/CD
 
**We offer** 

Experience working with colleagues locally and abroad
Opportunities for self-realization
Friendly team and enjoyable working environment
Professional and corporate events
Social package: professional & soft skills training, medical & family care programs, sports
English classes in the office with a dedicated teacher