Contribute to all stages of software development lifecycle.
Identify and resolve any technical issues arising during operations.
Design, implement and maintain Java-based applications that can be high-volume and low-latency.
Analyze user requirements to define business objectives and envisioning system features and functionality.
Define application objectives, functionality and ensure application designs conform with business goals.
Create detailed design documentation and technical designs for application development
Write well-designed, testable code.
Conducting software analysis, programming, testing, and debugging.
Manage both backend and frontend application development.
Develop documentation to help business users.
Prepare and produce releases of software components.
Support continuous improvement for applications, investigating alternatives and technologies, and presenting for architectural review.
Implementing automated testing platforms and unit tests.
Practicing Agile/Scrum methodology to plan and deliver work projects
Requirements
Proficiency in Java/J2EE, Spring, Hibernate/Struts, Angular development.
Familiarity with different design, architectural patterns and skill for writing reusable Java libraries.
Experience in working with web application frameworks like Spring, Spring Boot etc.
Understanding of the concepts of MVC (Model-View-Controller) Pattern, JDBC (Java Database Connectivity), Hibernate and RESTful web services.
Relevant Knowledge of Java GUI frameworks like Java Server pages (JSP) and servlets, Angular typescripts, HTML, JavaScript, CSS, JQuery according to project requirements.
Applied experience in using MS SQL Databases.
Hands-on experience in configuring Web Servers and Application Servers.
Hands-on experience in using embedded reporting tools like Jasper, BIRT etc.
In-depth knowledge of code versioning tools, for instance, Git.