|Location||Johannesburg, South Africa|
|Date Posted||Sep 15, 2020|
- To manage and oversee the Bank’s operational and tactical development initiatives which include the execution and, implementation of application delivery programmes and projects against the Bank’s standards, policies and procedures and governance guidelines and Service Level Agreements.
- To provide technical solutions to the needs of stakeholders by interpreting business requirements, defining technical tasks, engineers’ quality software, performing end to end testing, as well as supporting and troubleshooting technical questions, software and database issues.
- 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.
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
- Application Support: 5-7 Years \ Broad experience in translating business and functional requirements into technical specifications and developing the programming code to create the solutions.
- IT Knowledge: - Evaluates various technologies for relevance and cost-effectiveness for implementation in the organisation. Constantly keeps pace with new technology and identifies relevant applications in different areas of the institution Conducts risk/benefit assessments when considering the adoption of new technologies.
- IT Development- The design, creation, testing and documenting of new and amended programs from supplied specifications Works on solving incoherencies in the detailed technical specifications and asks for, or proposes, changes. Allocates pieces of work to teams of developers, taking into account individual abilities and in accordance with agreed standards.
- IT Applications - Ability to assess system strength and weaknesses, and competitive advantages. Designs new business process and functionalities. Works with users at all levels to define system requirements and specifies appropriate system environments to meet operational needs and system performance objectives. Able to define disaster recovery policies and procedures.
- Implements and monitors policies and standards for IT application section and recommends areas for improvement.
- Automated Unit Testing - Reviews the effectiveness of the test solution against best practice criteria. Proposes changes to the test configuration to support the system functionality against business or client specifications. Provides specialist input to technical team on automated test methodology and tools related to various system applications.
- Data Integrity - Periodic assessment of the effectiveness of the key controls over data integrity for the key data dependency. Issues a practice guide to steer data integrity towards an integrated data management strategy. Coaches and guides others towards compliance with the data management policies and regulatory requirements.
- Write code - Works on solving incoherencies in the detailed technical specifications and asks for, or proposes, changes. Allocates pieces of work to teams of developers, taking into account individual abilities and requirements. Ensures that deliverables are met and business objectives are achieved within time, quality and budget.