Responsibilities: -
• Specify, design, implement, test, and maintain platform-independent, complex software system components and applications
• Work on existing source code to incorporate new features; ensure that the piece of code written is bug-free
• Work under direct supervision with assigned teams/project components to develop and modify existing source code
• Fix bugs and conduct unit testing, make necessary changes to source code and document them. Ensure that company Development standards & QMS are followed
• Work independently or with a team on assigned tasks and projects of diverse scope and complexity. Design and implement algorithms for assigned tasks
• Execute Development assignments to include a conceptual approach to design, coding and debugging
• Designing and developing high-volume, low-latency applications for mission-critical systems and delivering high-availability and performance
• Contribute in all phases of the development lifecycle
• Write well designed, testable, efficient code
• Ensure designs are in compliance with specifications
• Prepare and produce releases of software components
• Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Skills:-
• Experience in RDBMS
• Hands-on experience in Java Development environments like Eclipse
• Excellent object-oriented programming skills and design patterns
• Experience with Spring
• Excellent knowledge of MySQL, PostgreSQL and Firebase
• Proficient in J2EE, with a good knowledge of its ecosystems
• Solid understanding of object-oriented programming
• Familiar with various design and architectural patterns
• Skill for writing reusable Java libraries
• Knowledge of concurrency patterns in Java
• Familiarity with concepts of MVC, JDBC, and RESTful
• A knack for writing clean, readable Java code
• Experience with both external and embedded databases
• Understanding fundamental design principles behind a scalable application
• Basic understanding of the class loading mechanism in Java
• Creating database schemas that represent and support business processes
• Implementing automated testing platforms and unit tests
• Familiarity with build tools such as Ant, Maven, and Gradle
• Familiarity with continuous integrations
• Excellent organizational and leadership skills
• Experience with Git Hub or other revision control systems
Note: Although not a requirement, candidates with banking experience/background will be preferred.