Role & responsibilities
Core Responsibilities
Understand Customer requirements and project KPIs
Write well designed, testable and clean code
Define application objectives and functionalities Design, implement and maintain distributed enterprise application that is high volume, low latency with high availability
Aware of software development methodologies and can contribute to all stages of development lifecycle
Can envision system features and functionalities and contribute to the project in defining these
Experience in working with popular frameworks like Spring, Hibernate, Play etc. Basic knowledge of JVM, Java Memory Model and its workarounds Aware of clean coding practices, can write unit tests and implement automated testing platforms
Sound knowledge of OOPS concepts and patterns
Good Understanding of microservices, MVC pattern, JDBC and RESTful web services
Familiarity with popular design and architectural patterns
Strong knowledge of RDBMS systems like MySQL, with basic understanding of NoSQL databases e.g., MongoDB, Elasticsearch etc.
Familiar with code versioning tools e.g., GIT. Understanding of building tools like Ant, Maven, Gradle etc.
Aware of CI/CD processes Technical Requirements (Good-to-Have)
Message Queues: Awareness of message queues and their usage (e.g., Kafka).
Distributed Caching: Basic understanding of distributed caching solutions (e.g., Redis, Aerospike). Qualifications required
Bachelors or Masters degree in computer science or a related field.
3 to 6 years of hands-on professional experience working with cutting-edge technologies in enterprise applications
Keyskills: Hibernate API Spring Microservices Java