General responsibilities:Work closely with business analysts to analyse and understand the business requirements and business case, in order to produce simple, cost effective and innovative solution designs.Implement the designed solutions in the required development language (typically Java) in accordance with the company standards, processes, tools and frameworks.Testing the quality of produced software thoroughly through participation in code reviews, the use of static code analysis tools, creation and execution of unit tests, functional regression tests, load tests and stress tests and evaluating the results of performance metrics collected on the software.Participate in feasibility studies, proof of concepts, JAD sessions, estimation and costing sessions, evaluate and review programming methods, tools and standards, etc.Maintain the system in production and provide support in the form of query resolution and defect fixesPrepare the necessary technical documentation including payload definitions, class diagrams, activity diagrams, ERDs, operational and support documentation, etc.Driving the skills development of team members, coaching of team members for performance and coaching on career development, recruitment, staff training, performance management, etc.Overtime will be required from time to time.Standby will be required on a rotational cycle.Education and experience required: Matric. A diploma or degree in IT would be advantageous. 5 or more yearsRequired - Java, Object Orientation, Spring, Hibernate, Junit, SOA, SOAP, REST, Microservices, Docker, Data Modelling, UML, SQL, Architectural StylesAdvantageous - Kafka, Zookeeper, Zuul, Eureka, Obsidian, Elasticsearch, Kibana, FluentdEmployment Equity The Companys approved Employment Equity Plan and Targets will be considered as part of the recruitment process.