Java Developer
Summary
Java Developer at PayInc, a South African payments provider: analyse technical specs, then design, build, test and maintain payment applications (with production support) for regulators, banks and internal teams. Core stack: Java/J2EE, Spring Boot, Oracle/MySQL/PostgreSQL, AWS, Git, Jenkins and ISO 20022 messaging.
Share this job as a link in your status update to LinkedIn.
Rosebank - Johannesburg, 2196 ZA (Primary)
Professional
IT Development
Permanent
Description
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:
- Regulatory bodies
- Financial institutions
- Product Managers
- 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
- Code Versioning Tools such as Git,GitHub
- ISO 20022
- JSON/XML/XSD
- 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
- 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