5 +Years of experience in Java. Design and develop highly scalable, resilient, and highly available distributed software applications, tools, extensible APIs, frameworks, highly maintainable services and machine learning models on rapidly changing business requirements.
Develop and maintain Batch jobs to process millions of transactions / records and implement systems to communicate transaction updates to upstream teams using state of the art messaging platform.
Develop automated tests to perform unit, integration & End to End testing.
Conceptualize, brainstorm, code, and continuously integrate and deliver innovative prototypes.
Analyze project requirements, create clear documentation, and communicate with teams to reach optimal solutions.
Collaborate with project managers, developers, and other stakeholders to deliver quick and efficient software development solutions and follow agile development methodologies.
Support regular software code releases and site-wide upgrades to enforce security and latest patches.
Qualifications :
Master's degree, or foreign equivalent, in Computer Science, Engineering (any) or a closely related field plus two years of experience in the job offered or a related occupation OR
Bachelor's degree, or foreign equivalent, in Computer Science, Engineering (any) or a closely related field plus five years of experience in the job offered or a related occupation.
Educational background in Machine Learning will be a plus .
Special Skill Requirements :
Data structures & Algorithms
Design Patterns
Object Oriented Programming
Distributed Systems
Java 8+
Spring Framework 5+
Spring Boot 2+
REST APIs using Jersey or any other frameworks.
Spring Batch Processing
Event Processing using JMS or MQ or Kafka
NoSQL & Relational databases
Cloud related knowledge Understanding & Hands-on in building ML Models