About the job
A passionate developer who has a strong working knowledge of OOPS and functional programming principles.
Strong Java and J2EE background.
Strong working experience in Multi-Threading, Exception Management and Use of Collections.
Sound knowledge of working with application aspects i.e. Caching, Asynchronous APIs, Logging etc.
Experience with web application frameworks - Spring Boot.
Unit Testing is an everyday affair and hence demands very good unit testing skills using tools like Junit & TestNG.
Understanding of relational databases, RESTful services and micro services
Knows what and when to mock and have used frameworks like Mockito/Power mock.
Understanding of message queue
such as ActiveMQ, Kafka, RabbitMQ.
Version Control is treated as important as programming skills. Fluent with version control tools like Git and Bitbucket.
Exposure to Agile/Scrum, TDD not in theory but in practice.
Experience with Continuous Integration, Continuous Deployment, Static Code Analysis, Jenkins and SonarQube.
Willingness to take ownership of technical solution and ensure technical expectations of deliverables are met.
Strong communication skills along with the ability to articulate technical designs and concepts.
Exposure to cloud and containerization would be a plus.
Hands-on experience in application development in an enterprise setup.
Have good Understanding of Distributed Application Architecture.