Position: Back End Senior Developer
Company: O2IT Recruitment
Experience required: 5y
English level: fluent

✔ Performing code assignments
✔ Designing/developing data analysis solutions, data models and technical solutions that meet platform/application requirements
✔ Maintaining and managing existing code base
✔ Reviewing code in terms of functionality and suggest technical improvements
✔ Implementing automated tests
✔ Integrating with different software and hardware solutions
✔ Mobile application development

JOB REQUIREMENTS
Technical Skills and Experience, must-have's:
✔ At least 5 years' experience as a senior developer in the similar role, preferably with at least 3 of them in the international environment;
✔ Solid understanding of software development principles and design patterns
✔ Java 11+;
✔ Experience in building microservices using Spring stack (Spring IoC, Spring Boot, Spring Security, Spring Data, AOP);
✔ JPA + Hibernate;
✔ PostgreSQL with JSON;
✔ REST services with JAX-RS/Jersey;
✔ XML & JSON parsing with JAXB/Jackson;
✔ Unit and integration testing experience;
✔ Test frameworks (JUnit5, AssertJ, Mockito/Powermock);
✔ Linux;
✔ Maven/Gradle;
✔ Docker;

Technical Skills and Experience, nice-to-have's:
✔ Prior experience with ERP systems and specifically with IM/ MM (Inventory Management/ Materials Management) will be an advantage. o Kafka;
✔ Networking
✔ Hardware and peripherals integration using Android SDK
✔ Kubernetes;
✔ Netty;
✔ WebSockets
✔ AMQP/JMS

Soft Skills:
✔ Team player
✔ Proactive (offering ideas and improvements, sharing opinion, making things happen, instead of waiting for them to happen)
✔ Can do attitude & walk the talk (lead by example)
✔ Commitment to highest quality standards
✔ Willingness to get hands dirty and go the extra mile where needed
✔ Strong interest and curiosity
✔ Desire to understand the full picture and ability to develop a long-term vision
✔ Ability to break vision down into actionable items, define and lead initiatives
✔ Ability to explain and document concepts well
✔ Technology neutral approach, assess and choose technology/frameworks specific to the requirements and available data, not individual preferences
✔ Ability to estimate complexity of business requirements and assess risk

Education /Certifications:
✔ Bachelor's degree in Computer Science/ Mathematics/ Physics or related quantitative field is strongly preferred
✔ Master's degree in Computer Science would be a plus
* Strong preference is given to candidates educated in English

Language proficiency
✔ Fluency in English language communication, both verbal and written