RESPONSIBILITIES:
Develop high-quality software design and architecture.
Identify, prioritise and execute tasks in the software development life cycle.
Develop tools and applications by producing clean, efficient code.
Review and debug code.
Collaborate with internal teams and clients to fix and improve products.
Document development phases and monitor systems.
Ensure software is up-to-date with latest technologies.
Translate application storyboards and use cases into functional applications.
Design, build, and maintain efficient, reusable, and reliable Java code.
Identify bottlenecks and bugs, and devise solutions to these problems.
Ensure the best possible performance, quality, and responsiveness of the applications.
QUALIFICATIONS:
At least 2 years of experience with Spring, Hibernate.
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.
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.
Familiarity with build tools such as Ant, Maven, and Gradle.
Familiarity with continuous integration.
Excellent organisational and leadership skills.
Experience with Git Hub or other revision control systems.