PayInc is a purpose-driven payments provider building on over 50 years of trusted history in South Africa's payments ecosystem. Our mission is to connect people, businesses, and economies through secure, efficient and inclusive digital payments infrastructure and be a catalyst for financial inclusion and economic growth.
From EFTs and cards to PayShap, PayInc provides the backbone that enables money to move safely across the economy. At our core, we exist to make great connections, empowering participation, enabling growth, and ensuring no one is left behind.
PURPOSE
The main purpose of the Java Developer is to analyse technical specifications and design/develop applications based on result of all analysis for internal and external stakeholders and in alignment with strategic objectives and client requirements.
You will engage with the following stakeholders:
Internal and external stakeholders
Regulatory bodies
Financial institutions
Payment processors
Product Managers
Enterprise Project Management Office
PayInc Service Desk
PayInc Command Centre
Your key responsibilities include:
New Product/ System Development:
Build, unit testing and debugging solutions
Create, document and implement unit test plans and scripts
Create and maintain technical documentation using defined templates
Interface with and assist testing and operations departments
Ensure Quality assurance is conducted on code developed
Interpret written business requirements and technical specifications to design and code solutions
Verify that system meets performance criteria
Analyse and solve problems for production, UAT and development environments.
Develops, modifies and maintains assigned programs.
Monitors the operation of assigned programs and responds to problems by diagnosing and correcting errors in logic and coding.
Provide Production Support and maintenance of applicable systems.
Verify that system meets performance criteria
Product /System Maintenance
Perform maintenance programming to rectify identified defects
Provide first line of support for the live systems
Be able to provide feedback to the incident committee
QUALIFICATIONS / KNOWLEDGE
BSc Computer Science or IT Diploma or relevant experience
Matric
Knowledge of development and analysis
AWS Cloud knowledge
Knowledge of Golang/Python
J2EE/EJB/Springboot Framework
Angular/Primefaces/Wicked
Code Versioning Tools such as Git,GitHub
ISO 20022
JSON/XML/XSD
Micro Services
Linux Scripting
Relational Databases Oracle/MySQL/PostgreSQL
IDE tool Eclipse/NetBeans/IntelliJ or similar
Application Servers JBoss/Wildfly
Build tools such as Maven/Ant
Continuous Integration tools such as Hudson & Jenkins
EXPERIENCE
5 to 10 years' experience in Java Developing in a J2EE environment
Proven hands-on Software Development experience
Proven working experience in Java development
Hands-on experience in designing and developing applications using Java EE platforms
Object Oriented analysis and design using common design patterns
Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management, etc)
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate, JDBC)
Experience in the Spring Framework
Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC, Angular)
Experience with test-driven development
Creating database schemas that represent and support business processes
Knack for writing clean, readable Java code
Basic understanding of JVM, its limitations, weaknesses, and workarounds
Implementing automated testing platforms and unit tests
Experience in ESB's advantageous
AWS Cloud experience would be advantageous
Financial Industry experience would be advantageous