|Location||Johannesburg, South Africa|
|Date Posted||Sep 15, 2020|
To design, code, test, debug and correct programs in development environments within the Continuous delivery pipe lines as well as provide support and maintenance of computer systems and programmes. In addition, produce program specifications in accordance with the Cyclomatic complexity conducive to a technical area, and implement applicable enhancements as well as work effectively within a strict framework of Software quality assurance standards.
Adhere to Agile methodologies and follow 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) to ensure alignment and value to the customer.
- Manage work effectively as an individual and team member including the reprioritisation of backlogs and react flexibly to changing demands through:
- Managing their work using available resources and methodologies ensuring full team engagement.
- Estimating the size and complexity of the work within the team and managing this appropriately.
- Determining the technical design in their area of concern, within the architectural guidelines.
- Driving team commitments to the work in every iteration or Program Increment.
- Being responsible for value and builds to continuously improve the quality of deliverables.
- Finding ways to continuously improve own and the team’s delivery and value to the customer.
Define and Develop application code
- Develop tier coding, business layer coding, interface development, service development and ensure creation of stored procedures, etc. as applicable for the work package / project.
- Drive CTS and customer specific coding standards, guidelines and best practices.
- Understand the database concepts and write efficient queries.
- Raise clarifications / issues / concerns regarding work output to the lead. Seek review from peer / technical lead periodically. Participate in setup activities for required environment setup.
- Deploy code build in testing environment.
- Conduct peer review during design, coding and testing.
- Complete documentation as per the scope.
- Prepare guidelines and checklist for development and testing activities. Provide feedback to design team.
- Share feedback with developers to check if code is as per requirements. Incorporate changes as per feedback. Provide necessary and timely status updates to the Supervisor / Technical Lead.
- Highlight any potential risks to the leads. Update traceability matrix for the work package developed.
- Mentor the Developers to help them solve technical difficulties in the course of coding.
- Follow the SCM policies set for project.
- Raise clarifications / issues / concerns regarding work output to the lead on time.
- Provide necessary and timely status updates to the Supervisor / Technical Lead.
- Highlight any potential risks to the lead proactively. Provide support on process audit activities. Adhere to process and tools (usage of cognizant 20, awareness of Quality Management System).
Conduct Testing on various IT platforms
- 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.
- 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 project timelines for new developments and agreed service level timelines for repairing defects.
Drive Continuous improvement
- Coach more 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 support and production standby post go live.
Preferred Qualification and Experience
- Bachelor’s degree in a field requiring strong analytical and quantitative skills such as Computer Science, Engineering, Mathematics,
- 3-4 Years experience in Application Support -Experience Description: Broad experience in translating business and functional requirements into technical specifications and developing the programming code to create the solutions.
- 3-4 Years experience in Analysis and Design
- 3-4 Years experience in Information Systems Architecture
- 5 years experience in one or more of the following languages:
- Java, Angular, DevOps, Android and/or ISO
- IT Knowledge - Competency Description: Identifies and uses a variety of complex tools and new technology to improve systems and delivery of services. Applies new tools and equipment; maintains up-to-date knowledge in the use of the technology. Coaches others in the use of tools and technology. Makes use of technology to improve productivity. Competent in discussing the technology with the vendor's escalation support team or with internal architecture team.
- IT Development - Competency Description: The design, creation, testing and documenting of new and amended programs from supplied specifications in accordance with agreed standards.
- IT Applications - Competency Description: Uses advanced functionalities to resolve problems, queries and produces reports in one system or moderate functionalities in more than one system. Develops technical specifications and process configurations based upon user specifications. Demonstrates deep and detailed knowledge of programming/coding for one or more IT applications and carries out complex programme enhancements. Makes recommendations and/or decisions in application and programme design, standards and programme enhancements...
- Automated Unit Testing - Competency Description: Determines the level of application in terms of full test solution or component application. Evaluates the feasibility of automated test application against available platform support and submits proposal to the functional specialist. Prepares and manages a project management plan within the SDLC parameters.
- Data Integrity - Competency Description: Application of controls guidance in line with assessment differential requirements based on assigned classification of importance. Data integrity controls guidance are supported by detailed guidance materials. Provides guidelines to inform periodic assessment of key data dependencies as defined in the data inventory.
- Write code - Competency Description: Supervises, coordinates, participates and is accountable for the work of a team of developers, effectively using resources during the project life cycle. Allocates pieces of work to developers, taking into account individual abilities and requirements