Position: (Data Collection sphere) - Java Developer/Lead/Middle+/Java, Spring (Spring Core, Spring Boot, Spring Cloud), async communication / processing (RabbitMQ, Kafka), Hibernate
Company: Coherent Solutions
Category: Java
Experience required: 5y
English level: upper

Company Background
Founded in 2008 and grown steadily year-over-year, they are based in Timisoara/Bucharest, Romania, where our client have around 100 employees, with an engineering department of ~50 people. Their current, flagship product helps businesses collect and process data, with a userbase of over 4 million people worldwide (though mostly based in the US). The client is a data-driven company and have developed a fully-remote culture over time. The company is in a scale-up phase and have a strategy to deliver an impactful new product, with new technology, that will bring value to the market.

Project Description
They are rewriting their flagship product – a SaaS application that helps users collect data via online forms – from scratch, using a distributed, microservices-based architecture. The team is distributed (mostly throughout Romania) and work entirely remotely.

What You'll Do
You will be a hands-on engineer who can teach best practices within your team ensuring technical excellence;
Support the tech lead and help drive the technical vision and strategy in collaboration with the team, turning it into reality;
Develop new features and from scratch, following a structured approach and thinking about decoupling, extensibility and long-term considerations;
You will focus on application security, scalability and performance;
Review code and ensure it is efficient, well-tested, documented and runs smoothly;
You will be focused on continuously improving our engineering processes and practices, focusing on quality and deliverables.

Technologies:
Java, Spring (Spring Core, Spring Boot, Spring Cloud), async communication / processing (RabbitMQ, Kafka), Hibernate

Job Requirements
TDD, clean code, code review, SOLID are best practices you value;
You’ve worked extensively with Java (5+ years), design patterns, various frameworks, asynchronous message queues and have experience with microservice architectures;
You have a strong technical background coding in Java 8 and above;
Solid understanding of Spring and other frameworks built on top of Spring (Spring Boot, Spring Cloud, etc.);
You have experience in developing and scaling a microservice system and have hands-on experience with various paradigms and patterns used in distributed systems (Service Discovery, Circuit Breaker, API Gateway, CQRS, SAGA etc.);
Ideally you have built applications hosted on popular cloud platforms (AWS, Azure);
Unit Testing and Mocking frameworks are something you are really passionate about;
Experience working with SQL databases, query optimization and transactions;
You are experienced at mentoring more junior engineers;
Have a passion for building high quality into every software development activity;
You are a practitioner of agile development with a track record of learning from your actions to make positive adjustments.
What Do We Offer
100+ technical and non-technical trainings to develop and expand your horizons;
Internal meetings and conferences (we like sharing our expertise);
English courses (both with Russian-speaking teachers and native speakers);
Free medical insurance;
Remote work option;
15 sick days fully compensated;
Team sports activities,  and corporate events;
GYM compensation;
18 business days of paid vacation;