Position: Backend Software Engineer (Java)
Company: WeAreBrain
Experience required: 3y
English level: upper

**Responsibilities**

- Collaborate closely with teammates and client’s representatives
- Create an architectural design to illustrate high-level solutions to an application and feature requests
- Contribute to overall product quality, own and improve the technology stack, and be responsible for the realization 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 high-quality, testable, and maintainable code, as well as review code, was written by others
- Improve the code quality and delivery approach using best practices
- Deploy applications on cloud servers using automation services

**Requirements**
**Essentials:**
- 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 or/and microservices architecture
- At least 3 years of backend development commercial 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

**As 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.)

Our ideal candidate - team player, proactive in communication, able to make decisions and take responsibility for it, a person who truly believes that it’s better to prevent issues than to fix them.

**With us you can:**
Professionally and personally grow in the multicultural environment: you will have a significant educational budget, regular knowledge sharing sessions, international atmosphere, work remote as well in our office;

Clearly see your performance results in an Agile environment: we have a project-based performance management system, you can track your SMART goals and take ownership for continuous improvement with Professional Development Plan;

Keep your work-life balance: you will have 20 vacation days, parental leave, monthly Well-being Allowance, pension plan, as well as corporate events, teambuilding, and Friday drinks in the office;

Have financial strength: you will have a regular salary review, and bonus plan.