Job Description
<p><strong>Job Description</strong></p><ul><li>Lead and mentor development teams during the project lifecycle, applying the latest Java technologies.</li><li>Make code review on the submitted developers’ work.</li><li>Lead and apply DevOps practices, Continuous Integration and Continuous Delivery using Jenkins or Azure DevOps.</li><li>Define solution architecture in terms of technology/framework selection and components relationships.</li><li>Define solution hardware and software prerequisites.</li><li>Perform agile sprint planning and perform technical analysis.</li><li>Convert user stories to manageable work items.</li></ul><p><br></p><p><strong>Job Requirements</strong></p><ul><li>Bachelor of computer science or equivalent.</li><li>7-10 years of experience.</li><li>Mastering Enterprise Java technologies and frameworks; JEE, Spring MVC, Spring Boot, JPA, Hibernate, Spring Cloud, Spring Batch, Quartz, JUnit and Log4j.</li><li>Mastering design patterns, clean architecture and clean code principles</li><li>Good Knowledge in Microservices’ Design Practices and Architecture; Event Based Programming using Queuing Platforms (Kafka, RabbitMQ and IBM MQ), Docker, Kubernetes and Microservices Fabric.</li><li>Experienced in building large scale business applications using java and Microservices technologies</li><li>Ability to work within and execute an agile development methodology; specifically scrum.</li><li>Mastering API Design and Implementation</li><li>Ability to work with different source control systems, specifically Git, SVN and Azure DevOps</li><li>Good Knowledge in Database designs; SQL and NoSQL Databases; especially Redis and Mongo, in the context of Java application development and design.</li><li>Good Knowledge in designing and developing native cloud applications</li><li>Excellent problem analysis and solving</li><li>Ability to suggest and embrace new technologies in the benefit of the project and help the team to adopt them.</li></ul><p></p>