Position: Senior Java Software Engineer
Company: Improveit Solutions Ukraine
Experience required: 5y
English level: upper

Skills:
4-7 years of software development in a production environment;
Deep knowledge and experience with Java and Object Oriented principles;  
Experience with multi-threading programming;
Experience with message-driven, synchronized and distributed systems;
Experience with test frameworks such as  junit, testng, and mocking frameworks such as mockito or powermock;
English upper intermediate level or higher, both verbal and written;

Will be a plus:
Experience with JavaScript;
Experience with document and relational RDBMS design as well as knowledge of SQL and PL/SQL;
Practical experience with Service Ownership;
Proficient with Agile processes, continuous integration/delivery and test automation;
Previous experience with Kafka, OpenAPI and microservice design/architecture;
Salesforce platform/ecosystem/implementation knowledge (developer or admin) ;
Familiarity with AWS/Azure/GCP/Heroku.

Main responsibilities:
Collaborate with Product Managers, Architects, and Engineering leaders to define, architect and implement various Omni features from the UI all the way to the database;
Drive quality by test case authoring, writing unit, functional, and integration tests automation;
Practice Service Ownership of our functionality to ensure 24*7 availability participating in production support, release and on-call duties;
Conduct design and code reviews and provide leadership and mentorship.


About the project:
Our client is a global corporation with HQ in the USA, offices on 4 continents and up to 100 000 employees worldwide. We are looking for a senior Java engineer to relocate and join the company’s office in Dublin, Ireland.
Product is real time customer service on and off CRM Core stack. You will develop side-by-side with engineers on the real time platform in support of Omni-channel routing for many different service channels such as Case, Text, Voice and Chat. You will be part of making the real time platform performant, scalable, and continuously available (zero down time).