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