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

Here is the stack of the project!
It's a fully BE role. Java 11, Microservice architecture, GraphQL, Postgres, Spring Boot, Spring Cloud, AWS, K8s Docker Jenkins, Nexus, Unit tests, Integration tests, etc.

Responsibilities:
- Participate in and/or driving architectural discussions for new applications.
- Write code using Java best practices/patterns, considering various non-functional requirements (NFR) like security, performance, scalability and high availability.
- Participate in estimation processes.
- Stay abreast of the latest back-end technologies and patterns and proactively find ways to apply them to the business problem.
- Collaborate closely with specialists in front-end development, testing, and analytics.

Requirements:
- Deep knowledge and at least 3+ years of experience in Java.
- Experience with Spring Framework (Boot, Cloud, MVC, data, security, etc).
- Experience with designing and developing microservices-based, linearly scalable applications.
- Experience with multithreading and asynchrony.
- Expertise with SQL and NoSQL databases like MySQL, MongoDB.
- Strong in fundamentals like Data structures, Algorithm & Problem solving skills.
- Must have experience in the full project life cycle including defining requirements, evaluating alternatives, designing, developing and implementing solutions. 
- Strong experience with REST API and web services.
- Good team player with good written and verbal communication skills.
- Experience with Agile Scrum Methodology.
- Experience with UNIT and integration testing using JUnit, Mockito, Wiremocks.
- English: Upper-Intermediate or higher.