Job duties:
• Research, design, and develop computer and network software or specialised utility programs.
• Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
• Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
• Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.
Job Requirements:
• Must have software development experience.
• Strong knowledge on Java 8, Core Java, Spring, Hibernate and restful web services including its data interchange format/definition such as XML,
• Strong experience in distributed caching technologies like Apache Ignite or similar.
• Familiar with different persistent storage technologies such as RDMS (Sybase, SQL Server or Oracle) and NoSQL.
• Solid experience working with source code management tools – Git or Bitbucket.
• Good understanding of clean coding principles.
• Good understanding of code quality measurements using tools like Sonar and able to implement design and implement unit, integration, and functional tests.
• Must demonstrate strong familiarity of design patterns.
• Good written and verbal communication skills.
• A team-player who is comfortable working in a team that deals with ambiguity and problem solving
Required skills:
• Experience with the following technologies:
• Java (Core, JDBC, Collections, I/O), Spring Boot;
• Exposure to SQL/PL-SQL on Oracle DB
• Tomcat or Weblogic application server
• REST web services
• Unix commands and Korn shell scripting;
• Familiarity with standard data structures and algorithms;
• Logical thinking, strong analytical and problem solving skills; innovative and solutions oriented
• Effective time management skills to manage multiple priorities
• Excellent verbal and written communication skills