12 Month Contract role with market leading top tier client.
The Purpose of the role:
The Developer translates the business requirement into executable code without errors. Finds effective software solutions to technical issues. Ensures that the application performs the functions as required by business. Releases source code with zero defects.
In addition, the purpose of this role will also include – Agent-oriented programming (AOP) this is the building of software through externally specified agents with interfaces and messaging capabilities. Agents can exist in a structure as complex as a global internet or one as simple as a module of a common program. Agents can be autonomous entities, deciding their next step without the interference of a user, or they can be controllable, serving as an intermediary between the user and another agent.
The objective of Agent Oriented Technology is to build systems applicable to the real world that can observe and act on changes in the environment. Such systems must be able to behave rationally and autonomously in completion of their designated tasks. AO technology is an approach for building complex real time distributed applications. This technology is built on belief that a computer system must be designed to exhibit rational goal directed behaviour similar to that of a human being.
Agent oriented programming allows for development of autonomous systems which can greatly improve the development speed in a traditional development environment.
12 Month Contract role with market leading top tier client.
Job Purpose

The Developer translates the business requirement into executable code without errors. Finds effective software solutions to technical issues. Ensures that the application performs the functions as required by business. Releases source code with zero defects.
In addition, the purpose of this role will also include – Agent-oriented programming (AOP) this is the building of software through externally specified agents with interfaces and messaging capabilities. Agents can exist in a structure as complex as a global internet or one as simple as a module of a common program. Agents can be autonomous entities, deciding their next step without the interference of a user, or they can be controllable, serving as an intermediary between the user and another agent.
The objective of Agent Oriented Technology is to build systems applicable to the real world that can observe and act on changes in the environment. Such systems must be able to behave rationally and autonomously in completion of their designated tasks. AO technology is an approach for building complex real time distributed applications. This technology is built on belief that a computer system must be designed to exhibit rational goal directed behaviour similar to that of a human being.
Agent oriented programming allows for development of autonomous systems which can greatly improve the development speed in a traditional development environment.
Key Outcomes may include but are not limited to:

  • Implement the Technical Specification for source code using the relevant development language. Produce source code by applying technical standards and referencing the systems’ exposed sub processes. Update the reference documentation and update the scheduling tool with progress. Consult with Business Analyst and Architect on technical issues encountered. Document logic and comments inside code. Document Database structure changes and rule changes. Produce or update the configuration files.
  • Manages the unit test code by conducting unit testing and fix any defects found. Reviews error logs and provide BA with updates on fixes found in testing. Consults and assists the BA in reviewing defects found in testing. During Test Standby duties, handle any defects as raised in the testing process. Release the source code with zero defects
  • Conducts defects root cause analysis by responding to incidents escalated by the Incidents team. Log issues in the appropriate issues tracking system. Conduct preliminary analysis on issues. Verify and validate build stability.
  • Applies networking competence by understanding business requirements, business systems and process context, impact and risks. Participating in planning and strategy sessions. Acting as Consultant to the internal client. Interfacing to other teams where required. Interfaces to external clients, vendors.
  • Manages activities within the SDLC (process owner). Participating and enabling the business Prioritisation process. Scheduling and prioritisation of tasks and resources. Coordinate: Build, Test, Deliver, Fix, Change Requests. Capacity management: delegation of tasks, review of execution, and providing feedback to team members. Resolution and prevention of issues
  • Ensures that the technical Application capacity exists for a particular set of systems (e.g. CRM). Understanding business’ future requirements. Preventing technical issues from arising by proactive management.
  • Produces and enables a Capacity Plan for the Application. Ensuring adherence to Quality, Standards, SLA adherence, adherence to PM and SDLC standards. Making recommendations for the improvement of the SDLC, PM or ITIL processes
  • Develop Agents to enable accelerated development for building static code around data models
  • Bounded context creation
  • Data structures from logical models
  • Develop tooling to enable accelerated development for building business logic and micro services to sit above the data models
    • Micro service creation
    • Micro service endpoint interfaces
    • Micro flows

  • Develop Agents to produce working code to an acceptable standard for code running in production
    • Technically performant
    • Technically consistent
    • Technically safe
    • Code quality, clean, readable, and understandable

  • Develop Agents to generate Code in line with the Architectural principles as defined.
  • Development of platform libraries to be used system-wide by micro service applications.
  • Technical and operational support – Provide Production support and guidance to Markets by having in-depth understanding of the V1 architecture and the V1 solution, be able to debug issues and provide corrective solutions in all technical domains end to end.
  • Develop scripts to increase productivity and perform system wide operational tasks in a consistent and reproducible manner.

Education / Qualifications / Accreditations with Professional Body
Required
· Matric with English and Maths
· Relevant Diploma or Degree Qualification
Preferred (would be advantageous)
· Accreditation of MDA Tooling

Technical Skills or Knowledge
Required
· Processes: SDLC. Unit Testing. Database structure design.
· Technical Change Control.
· Technical Skills: Software development within SDLC.
· Data Modelling
· Business Writing
· Database
o Oracle
o Enterprise DB / Postgress
o MySQL
· Java Frameworks
o Freemarker
o Hibernate
o Spring Boot
o Spring Cloud
o JPA
o Java / Python
o Jackson
o JUnit
· Web Portal
o Liferay
· Monitoring / Logging / Tracing
o Prometheus
o Graphana
o Sleuth
o Spring Admin Console
o Zipkin
o EDK Stack (Elasticsearch, FluentD, Kibana
· Platform Service Technologies
o Kafka & Zookeeper & Avro
· Infrastructure
o Docker
o K8
· Dev/Ops
o SonarQube
o Git
o Gerrit
o Jenkins
o Maven/Nexus
Preferred (would be advantageous)
· In depth Knowledge of V1 Solution
· In depth Knowledge of V1 Architecture
· Java 17
· JavaFX
· Testing
o Fitnesse
· Platform Service Technologies
o Kafka & Zookeeper & Avro
o Obsidian – Scheduler
o WSO2 – Identity Server
o WSO2 – API Manager
o WSO2 – ESB
· Security Standards
o Auth2 / SAML 2.0
o GDPR
· Dev/Ops
o CFEngine
o Dynatrace

Desired Skills:

  • Agent Orientated Programming
  • Source Code Development
  • TOGAF
  • MDA Tooling
  • SDLC
  • Java Frameworks
  • Data Modelling

Learn more/Apply for this position