Position: Senior Java Developer willing to grow into Lead
Company: Forte Group
Category: Java
Experience required: 3y
English level: intermediate

This is a unique opportunity for Senior Java Developers who want to grow to the Team Leader role. The team is professional, the process is well established, direct mentorship and support will be provided by senior colleagues, therefore starting in this role would be relatively easy and enough time will be granted to grow together with the team.

**About Product **

The product released in the market in 2020 - a brand new Cloud HR and Payroll services platform that helps small and mid-sized businesses focus on their core business and completely automate full-cycle HR management, everything related to their employee’s Time Tracking, Time Off Management, Payroll, Benefits, Taxes and Compensation calculations.

**Team structure and workflow**

There are 4 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.

**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**

**As a Senior Java Developer you will have the following responsibilities:**
● Design, architect, and develop software applications
● 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
● As a key developer serves in a mentor role to junior team members
● Facilitate engineering operation process to ensure high-quality software solutions concerning engineering excellence
● Assess solution architecture in terms of vulnerabilities and possible improvements

**As a Team Lead you will have the following responsibilities:**
● Proactively lead an Agile feature team towards predictable delivery with quality, follow the agreed way of working and ensure expected release cadence
● Maintain high level of technical excellence and drive the team towards a quality-first mindset, simple architecture and highest code quality
● Align team with the other teams, identify and resolve impediments when necessary
● Suggest solutions to business problems/processes that leverage technology to make efficiency improvements and better user experience
● Specify non-functional requirements; analyze all requirements to determine design feasibility within time and cost constraints 
● Lead architecture and design applying best practice software engineering including separation of concerns, high cohesion, low coupling, abstraction, encapsulation and information hiding, interfaces, and dependency injection
● Lead implementation using defensive programming and exception handling, fault tolerance, design patterns, and best practices of Object-Oriented Design (OOD), Domain-Driven Design (DDD), and Object-Oriented Programming (OOP) such as SOLID

**Qualifications and Skills**

● Excellent interpersonal and teamwork skills
● Experience with small teams that move fast - all members are expected to achieve maximum results with minimal direction
● Strong knowledge of Java Core
● Experience with scalable microservices architecture
● Extensive experience working with Spring, Hibernate
● Familiarity with 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
● Experience working in a Scrum environment

**Engineering Practices**

● Static code analysis
● Code review
● Refactoring
● CI/CD
 
**Personal qualities**

● Great team player 
● Strong organizational and soft skills
● Ability to keep the focus on the complete solution and delivering the business value
● Ability to deal with ambiguity and drive independently or collaboratively with the team on solutions, positive approach to challenges and focus on problem-solving 
● Intermediate+ English

**We offer**

● Experience working with colleagues locally and abroad
● Opportunities for self-realization working on challenging projects using new technologies and tools
● Friendly team and enjoyable working environment
● Social and corporate events
● Possibility for career development
● Participation in professional trainings, meetups
● Medical & family care programs
● Various sport activities coverage
● Fully paid by Forte 5 sick days during the working year
● Internal English courses provided by Forte Teacher
● Comfortable and fully equipped workplace