Nationality: S. A. citizen or permanent resident with valid SA ID or valid work permit for S.A
Education: Bachelor’s degree in IT or similar relevant qualification preferred
Location: Hybrid / Centurion
Experience: 5+ years of work-related experience and skills
Development: Experience in the Financial Sector (Payment Systems) – Financial/Payments application development and Financial Design principles such as payment, transactions and orders.
General Purpose of the Position:
Perform high complexity (i.e. system-level applications) analysis, design, development and unit testing of software applications from user requirements and documents and to resolve defects encountered during various testing cycles. Build high-performing, scalable, enterprise-grade applications and build capability in others to do the same. This includes but is not limited to applying critical thinking, design thinking and problem-solving skills in an agile team environment to solve complex technical problems (Front End, Back End and Integration) with high quality solutions and leading all phases of the development lifecycle to deliver.
Skills:
Applications Servers / Environments: Jboss EAP / Wildfly
- Application Development platforms: Java, J2EE, JEE
- Application development frameworks/Libraries: Java, EJB, JPA, Hibernate, JMS, JTA, JAX-RS, JAX-WS, JSP, Servlet, JSF Primefaces, Ajax, XML, Junit
- Security frameworks: JAAS, LDAP
- Tools/Libraries: Git, Maven, Bamboo, Nexus, Jira, Slack, Stash, Eclipse/IntelliJ.
- Databases: Oracle
- Middleware Architecture & Systems Integration (SOA): SOAP, REST, SWIFT, FIX, SWIFT MX, MQ, IBM MQ, ActiveMQ, Apache Camel.
- Operating systems: Linux, Windows
- Development methodologies: Agile, Test Driven Development, Extreme Programming
Key Objectives:
- Design, code, test, debug, and implement applications
- Apply critical thinking, design thinking and problem-solving skills in an agile team environment to solve complex technical problems (front end, back end, and integration) with high-quality solutions
- Contribute to and in some cases lead all phases of the development lifecycle including e.g. design process
- Develop high-quality software / application design and architecture in a test-driven and domain driven / cross domain environment
- Quickly produce well-organized, optimized, and documented source code to deliver technical solutions
- Ensure designs and solutions support the technical organisation principles of self-service, repeatability, testability, scalability and resilience
- Accurately estimate the amount of time needed to implement a technical project;
- Be responsible for the technical quality of the code in the domain;
- Design solutions with regards to classes, database design, and infrastructure design;
- Develop features across multiple subsystems within our domain, including collaboration in requirements definition, prototyping, design, coding, testing and deployment;
- Assisting analysts with requirement definitions, user stories, system design and specification preparation;
- Prepare detailed workflow charts and diagrams that describe input, output, and logical operation and convert them into high-quality computer programs using specialised technology;
- Review existing implementations and models, identify potential bugs or deficiencies and look for possible improvements;
- Consult with engineering staff to evaluate the interface between hardware and software.
- Attend project and agile team meetings.
- Must work in agile teams to complete programming assignments.
- May need to visit client locations.
- Should stay current with industry developments.
- Participate in design discussion, design reviews, code reviews, and implementation.
- After hours support may be required
- Strictly adhere to quality assurance procedures.
- Identify and communicate all areas that might be affected by a specific code change.
- Proven track record of delivering well-crafted solutions and systems (exposure to mission-critical systems within the financial space is beneficial);
- Solid understanding of Software Engineering fundamentals;
The mission and activities described in this job description are not an exhaustive list of the day-to-day responsibilities of the job holder and are subject to change. They may be modified or complemented to reflect the company developments.
Desired Skills:
- JAVA
- Financial Systems
- JEE
- SWIFT
- Linux
- Windows
- Agile
- Banking Systems
- Payment Systems
Desired Work Experience:
- 5 to 10 years
About The Employer:
Specialisation in major financial system infrastructure development, providing the simplest, fastest, and safest payment solutions, to People, Businesses, and Financial Institutions. Key player in the Central Banking space internationally from Finland to South Africa.
Employer & Job Benefits:
- Group Life
- Provident Fund
- Annual Bonus