As a Java Software Engineer you will use your expertise in Restful Web Services Junit Unit Test Hibernate and FrontEnd technologies to design develop and maintain highquality software applications. You will work closely with crossfunctional teams to gather requirements and ensure that software meets business and enduser needs. You will write clean efficient and welldocumented code and perform unit testing and debugging to ensure software quality and reliability. You will also participate in code reviews and contribute to continuous improvement of software development processes. Your strong problemsolving and analytical skills as well as your excellent communication and collaboration skills will be essential to your success in this role. 4 to 6 years of experience developing web based applications in Java/J2EE technologies Knowledge of RDBMS and NoSQL data stores and polyglot persistence (Oracle MongoDB etc. Should be proficient in Spring boot. Sound understanding of Microservices architecture Good understanding of event driven architecture Experience building Web Services (REST/SOAP) Knowledge of event sourcing and distributed message systems (Kafka RabbitMQ) Experience with JavaScript build tools and dependency management (npm bower grunt gulp) Experience creating responsive designs (Bootstrap mobile etc. Experience with unit and automation testing (Jasmine Protractor JUnit) Expert knowledge of build tools and dependency management (gradle maven) Knowledge of Domain Driven Design concepts and microservices Participate in software design and development using modern Java and web technology stack. Experience in writing JUnit Good to have experience in TDD Expert in developing highly responsive web application using Angular4 or above Good Knowledge of HTML/HTML5/CSS JavaScript/AJAX and XML Good understanding of SQL and relational databases and NO SQL databases Familiarity with design patterns and should be able to design small to medium complexity modules independently Experience with Agile or similar development methodologies Experience with a versioning system e.g. CVS/SVN/Git Experience with agile development methodologies including TDD Scrum and Kanban Strong verbal communications crossgroup collaboration skills analytical structured and strategic thinking. Great interpersonal skills cultural awareness belief in teamwork Collaborating with product owners stakeholders and potentially globally distributed teams Work crossfunctional in an Agile environment Excellent problemsolving organizational and analytical skills