Position: Java Software Architect
Company: Perfectial
Experience required: 5y
English level: upper

**Whom we are looking for:**
Perfectial is looking for a Java Software Architect to contribute to our customer-to-business communication platform. You’ll immerse deeply in AI and machine learning technologies, and, eventually assume a more diversified, demanding, and interesting set of responsibilities. 

You will work in a multi-culture team with development and QA teams spreading across Ukraine, South Africa, USA, and Canada. Together with a US-based customer organization and SA-based development centre our team works on two major initiatives. Developed by us from scratch, one project supports a variety of communication channels such as SMS, MMS, e-mail, etc. and provides means for their synchronization. The other project focuses on providing communication tools for the most popular social networks such as Facebook, Twitter, WhatsApp, WebWidget addition and AI layer. Both projects have tight integration with each other as well as dependency on external services and applications, creating a complex communication platform altogether. 

The client`s product is a market leader that enables startups, small-to-medium businesses and enterprises to connect, engage and transact with their customers in order to solve their problems. 

All development teams follow Scrum processes with the frequent releases to production (every 2 weeks)

**Requirements:**
- 6+ years of experience with Java 
- Expert knowledge of Spring Boot 
- Solid experience with Hibernate, Kafka 
- Deep understanding of containerization (Docker)  
- Practical experience with Elasticsearch 
- Practical experience with at least one cloud provider (AWS preferable) 
- Knowledge of relational DB (MySQL, PostgreSQL) 
- Strong interpersonal and communication skills 
- Experience with Agile development 
- English level Upper-Intermediate or higher 

**Responsibilities:**
- Daily communication with stakeholders on our and client`s side 
- Work close to development scrum teams
- Ensure that system code is being developed in a clean and maintainable manner
- Design and develop backend services and client applications 
- Provide solutions for high load, distributed systems
- Constantly optimize system performance
- Improve overall system quality and stability

**Our professionals value us for:**
- Regular performance evaluation and salary revision, attractive benefits package
- Functional offices, centres of excellence, and mentorship from competence leads to support the professional growth
- Tech talks, open talks, and conferences; training and certifications
- Free English courses of all levels with attentive and friendly teachers
- Health insurance; maternity aid; corporate sports teams, hobby clubs, in-house gym or gym discounts
- Referral program, bonuses for marriage and childbirth
- Great team parties and corporate events; cool branded gifts; an additional paid day off for the Company Day celebration
- Warm and relaxed atmosphere, smooth and transparent communication, and unlimited fun