Software Engineer ,Java – IT : Payments

Johannesburg

Overview
Job ID: 53533
Job Sector: Banking
Country: South Africa
Region/State/Province/District: Gauteng
Location: Johannesburg

Job Details
Standard Bank is a firm believer in technical innovation, to help us guarantee exceptional client service and leading edge financial solutions. Our digital footprint reflects our commitment to the latest solutions, the best people, and a uniquely flexible and vibrant working culture. To help us drive our success into the future, we are looking for an experienced JAVA our dedicated Group IT – Payments at our JHB offices. Standard Bank is a leading African banking group focused on emerging markets globally.  It has been a mainstay of South Africa’s financial system for 150 years, and now spans 16 countries across the African continent

Job Purpose
To implement, maintain and support Java  systems as part of IT strategy to continuously improve business enablement and support in the Bank.
Perform analysis of Java business requirements and give recommendations
Perform design, coding, quality reviews, testing and deployment.
Convert physical data integration models and other design specifications to source code.
Adhere to Agile methodologies and follows Agile principles through work outputs and behaviours

Strive to reach mature levels on the Continuum model by building own and team competence to work in a continuous delivery environment: Champion team learning and adopt suitable methodologies and practices.
Collaborate with colleagues from different disciplines in a cross-functional team to deliver against iteration targets.
Work in partnership with Business representatives (e.g. Product Owner, Product Manager) ensuring alignment and value to the customer.
Manage work effectively as an individual and team member including the reprioritisation of backlogs and reacts flexibly to changing demands through.
Manage work using available resources and methodologies ensuring full team engagement.
Estimate the size and complexity of the work within the team and managing this appropriately.
Determine the technical design in their area of concern, within the architectural guidelines.
Drive team commitments to the work in every iteration or Program Increment.
Be responsible for value and builds to continuously improve the quality of deliverables.
Find ways to improve own and the team’s delivery and value to the customer on a continuous basis.
Scope, Plan, Design and Review end to end solutions

Advise the development staff on the evaluation and impact analysis of major design options.
Engage with Information Technology support teams and business stakeholders to scope plan and design end to end solutions.
Define and Develop application complex code

Produce outline system specifications using solution designs, functional specifications or technical specifications as input, including input into scope, constraints (such as performance or resources), hardware, network and software environments and depending on the complexity of the project or change, might need to get the different resources from the different BU’s.
Produce specifications for systems functions, information flows, data loads, implementation strategy, phasing of development, requirements not met and alternatives considered.
Translate logical designs into component designs taking into account the solution design, performance requirements and existing systems.
Perform risk analysis and produce development plans in order to consider the impact of design decisions.
Build, code and review user and system interfaces including menus, screen dialogues, inputs, reports, validation and error correction, processing rules, access, security, audit controls, recovery routines and contingency procedures.
Work with data analysis colleagues to produce or update system or object data models and correlate these with corporate models.
Work with database design or database administration teams to translate object and data models into appropriate database schemas within design constraints.
Assist less experienced colleagues with complex coding problems.
Conduct quality assurance and approve developed code linked to supplied specifications for production deployment.
Provide guidance and assistance to colleagues on any aspect of program component design, creation, testing and documentation.
Conduct Testing across various IT platforms

Prepare test cases for unit testing purposes and review test cases as produced by other developers for unit testing purposes as required.
Conduct unit testing and fix detected errors. Testing can be done on own work as well as on that of other colleagues in the team.
Develop technical support documentation within agreed standards.
Document all work done as per standards, methods and tools used in the bank for application development.
Review work done by developers to assure all work has been done as per standards, methods and tools used in the bank for application development.
Construct, interpret and execute end to end system and program tests to verify correct operation of completed systems.
Ensure adherence to release methodology and technical change management procedures for all changes.
Adhere to own or manage team’s project timelines for new developments and agreed service level timelines for repairing defects.
Drive Continuous improvement

Coach the junior developers on technical aspects of application development, controls, and documentation standards as well as on engaging effectively.
Perform quality assurance on the work completed by junior developers. Quality assurance can cover code developed as well as supporting documents and test plans.
Look actively for opportunities to shorten development times, improve skills of the team and improve cost efficiency of application development activities.
Ensure that all component designs take into account all specified requirements and constraints.
Provide level 3 support and production standby post go live.
Key Responsibilities/Accountabilities
Ensuring project deliverables and governance.
Ensure integrity and delivery of data from the source systems to the target system/s.
Provide assistance in the formulation of test cases and implementation approach.
To maintain and do problem resolution within existing processes.
To liaise with Users, Functional consultants and supporting staff.
To provide written and verbal feedback to users, team members and management.
Design quality Technical System Specifications (TSS) from Functional specifications (FSS).
The development, maintenance, and enhancement quality  Programs.
Use SharePoint for document management process.
Use Mercury Quality Centre to generate unit test cases
Preferred Qualification and Experience
BSc Comp Science, B.Com Informatics degree or advanced degree
Bachelor’s degree in a field requiring strong analytical and quantitative skills such as Computer Science, Engineering, Mathematics, Information Systems or similar
Bank recognised computer programming course or JAVA Certification
5-7 Years Experience in Application Suppport – Experience Description: Broad experience in translating business and functional requirements into technical specifications and developing the programming code to create the solutions.
5 – 7 years of Java experience and iOS project implementation.
Worked on Java
Proficient in Java and Workflow.
Knowledge/Technical Skills/Expertise
• Springboot core technologies i.e. Spring data, Security, Cloud , Cache.
• Microservices API -integration( RESTful services/Webservices)
• Database technologies exposure (JPA/Hibernate, Postgres)
• Cloud technologies exposure (AWS cloud, RedHat Openshift/Kubernetes/Docker)
• DevOps(CI/CD)(Build Pipeline, Bamboo/Jenkins, Git, Bitbucket)
• Java 8 +
• Agile methodologies exposure

PLEASE NOTE: All our recruitment and selection processes comply with applicable local laws and regulations. We will never ask for money or any form of payment as part of our recruitment process. If you experience this, please contact our Fraudline on +27 800222050 or forward to TransactionFraudOpsSA@standardbank.co.za