Position: Senior Java Developer
Company: That'sIT
Experience required: 5y
English level: upper

They have proven experience in the field of mobile communications, messaging, and digital services. 

The company develops, produces, and manages several products in the areas of Marketing and telecommunications for companies and organizations in all areas of business and of all dimensions. Their applications ease, automate and accelerate your performance, enabling greater efficiency.

**Responsibilities:**
• Design, develop, test, deploy, maintain and improve software;
• Develop software technical specifications based on customer requirements;
• Execute overall analysis, design, implementation, and testing of software, typically integrated into a project team;
• Execute software maintenance activities, including the analysis of problems reported by technical support or customer, and provide correspondent feedback;
• Development of end-user applications;
• Contribute for project planning.

**Requirements:**
• At least 5 year of experience developing software using Java;
• Strong programming skills using J2EE, Spring and Apache;
• Solid foundation in object-oriented programming, data structures and algorithms;
• Database modeling and integration capabilities (PostgreSQL);
• Proved experience of working with HTTP, XML, SOAP services and working with remote data via REST and JSON;
• Knowledge of GIT;
• Knowledge of Unit Testing and CI/CD;
• Experience working in Agile methodologies.
• Working with a high level of autonomy and set priorities;
• Fluent in English (written and spoken);
• Attention to detail and passion for design and quality.

**Will be a plus:**
• Proven experience working with SQL language and Postgres;
• Experience working with message queuing services (namely RabbitMQ and Kafka);
• Experience with agile development and/or Application Lifecycle Management best practices is an advantage
• Proved experience of working with web technologies (HTML, CSS, Javascript, MVC)
• Good knowledge of existing Application Design Patterns
• Experience with version control systems, test suites, and writing tests for mobile apps to ensure high-quality software;
• Problem solving mindset;
• Experience writing minimal, but useful, developer documentation;
• Overall knowledge of IOT (Internet of Things) state of the art.