Responsibilities
- 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
- Understanding of building tools like Ant, Maven