Job Objective / Purpose of Job
To develop high quality reusable software component, for business to business integration, using international best practices and new best-in-class technologies, concepts, and philosophy;
and to design, code, test, analyse and manage software programs and applications that drive the organization's strategy.
Strategy & Planning :
Works with other software developers, the software architect and designers in conceptualising and developing new software programs and applications
Plans own work in phases of the software development life cycle (SDLC) for a variety of projects
Assists in the preparation and documentation of software requirements and specifications
Performs research on the requirements of software users and documents findings to serve
Works closely with the Team Leader, Business Analyst and Product Owner for understanding the functional and system requirements.
Acquisition & Deployment :
Conducts research on emerging application development software products, languages, and standards in support of procurement and development efforts
Recommends, schedule, and performs software improvements and upgrades
Operational Management :
Consistently writes, translate, and code software programs and applications according to specifications and PCIDSS standards
Integrate software components into a fully functional software application.
Write and execute unit tests for developed software applications.
Perform peer to peer code reviews.
Participate and contribute to software architectural design sessions.
Maintain and implement source control & version management.
Create technical documentation for all software applications.
Deploy all developed application to the development environment for QA and Testing.
Guide & follow through on developed software applications to ensure successful UAT and subsequent shipment.
Works closely with the QA team to ensure quality and timely software development within his / her responsibilities
Runs and monitors software performance tests on new and existing programs for the purposes of correcting errors, isolating areas for improvement, and general debugging
Administers critical analysis of test results and delivers solutions to problem areas
Generates statistics and prepare and write reports for management and / or team members on the status of the programming process
Monitor & manage project lifecycle on popular work management tool.
Updates tasks on work management tool
Ensures robust and sustainable enterprise social collaboration architecture for software development by monitoring matrices of the SOA, and fixing complaints / bugs logged by customers
Assists in the development and maintenance of user manuals and guidelines for ease of use by the client / customers
Installs software products for end users as required
Creates and manages Application Programming Interface (API)
Writes programming scripts to enhance functionality and / or appearance of company Web site and / or related Web applications as necessary
Removes code script from company Web site and / or related Web applications as necessary
Liaises with network administrators, systems analysts, and software engineers to assist in resolving problems with software products or company software systems.
Key Performance Indicators / Performance Goals :
Expert level in Java Programming using Java 8 and above
Understand how to develop Enterprise Solutions
Understanding of Microservices Architecture
Hands on experience using Spring Boot Framework
Hands On experience using Ci / CD
Hands on experience with building cloud solutions
Experience using ISO 8583
Experience using ISO 20022
Experience in development of Payment Solutions
Understanding of Domain Driven Architecture
Should be able to guide and Mentor Junior Developers
Hands on experience with BDD Testing Framework
Hands on experience with Junit, Mockito, Hamcrest and AssertJ
Education Qualification :
Minimum of a Bachelor's Degree / HND in Computer / System / Electrical / Electronic Engineering / Applied Physics / Computer Science or a related discipline.
Minimum of 5 years experience using Java and related technologies
Experience preferably in the Digital Payments industry.
Key Skills and Competencies
Skills : Research
Object oriented programming
Web services / SOA
In-depth understanding of Postilion and all its applications
In-depth Knowledge of all products worked on
Customer focus (internal and external customers)
Attention to Detail
Strong customer-service orientation.
Excellent written and oral communication skills.
Teamwork & collaboration.