Position: Senior/Technical Lead Java Developer
Company: Brightdoor
Category: Java
Experience required: 3y
English level: fluent

The business side of the platform is focused on making transactions easy and transparent while being accessible for all market players. The service side is aimed at providing logistics, insurance, and finance services of industry leaders so that users of the platform can focus on their core business. 

**Responsibilities:**

- Collaborate closely with founders, partners, and clients’ representatives
- Collaborate closely with the extended design and development teams
- Create an architectural design to illustrate high-level solutions to application and feature requests
- Contribute to overall product quality, own and improve the technology stack, and be responsible for the realisation of a services/microservices architecture
- Actively participate in overall team meetings, architectural design sessions, product meetings, etc.
- Translate business requirements and feature requests into User Stories
- Deliver and document high-quality, testable, and maintainable code, as well as review code written by others
- Improve the code quality and delivery approach using best practices
- Deploy applications on cloud servers using automation services

**Tech stack:**

- Java version: 11
- Spring Boot : 2.3.9.RELEASE
- Spring Cloud Version ‘2.2.6.RELEASE’
- QuerydslVersion ‘4.4.0’ (library QueryDSL which used to get information from database)

**Requirements:**

- A сomputer science, software engineering, or related field master’s or bachelor’s degree is a must
- Solid knowledge of architectural patterns and programming paradigms (OOP, SOLID, DDD, etc.)
- Hands-on experience with services and/or microservices architecture
- At least 3 years of commercial backend development experience within Java and Spring framework (Data, Security, MVC)
- Hands-on experience with common RDBMS (PostgreSQL, MySQL, etc.) and knowledge of DBs design
- Strong practical experience with the Hibernate framework
- Experience in the optimization of system performance (memory usage, cache optimization)
- Experience with the writing of tests on JUnit
- At least strong intermediate English, willingness to learn Dutch would be great and supported by the team

**Will be a plus:**

- Strong theoretical understanding or practical experience with NoSQL databases
- Experience or knowledge of real-time communication within WebSockets
- Hands-on experience with message-broker/stream-processing software RabbitMQ/Apache Kafka or Amazon services (SNS, SQS)
- Practical experience with infrastructure (web servers, cloud services, containerization, etc.)
- Experience in building or working on marketplace platforms

**The company is ready to offer :**

- A young, vibrant and fast-growing startup environment, with plenty of room for self-development;
- Professionally and personally grow in the multicultural environment: available educational budget, regular knowledge sharing sessions, international atmosphere, work remote as well as in our Amsterdam or Arnhem office;
- Keep your work-life balance: we offer unlimited vacation days, e-transportation if/when required, regular team-building events, and Friday drinks in the office;
- Have financial strength: a competitive salary and opportunity to participate in the company option scheme.
- Paid time off (vacation, sick leaves, public holidays)