Johannesburg, GautengStandard 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 Senior Developer, Payments, (iOS) to join our dedicated team 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 154 years, and now spans 18 countries across the African continent Job Purpose 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.
The Senior Developer provides 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.
Key Responsibilities / Accountabilities Adheres to Agile methodologies and follows Agile principles through work outputs and behaviours.
Strives 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 Collaborates with colleagues from different disciplines in a cross-
functional team to deliver against iteration targets Works in partnership with Business representatives (e.g. Product Owner, Product Manager) ensuring alignment and value to the customer.
Is able manage their work effectively as an individual and team member including the reprioritisation of backlogs and reacts flexibly to changing demands Managing their work using available resources and methodologies ensuring full team Estimating the size and complexity of the work within the team and managing this Determining the technical design in their area of concern, within the architectural Driving team commitments to the work in every iteration or Program Is responsible for value and builds to continuously improve the quality of Continuously finding ways to improve own and the teams delivery and value to the customer Scope, Plan, Design and Review end to end solutions Advises the development staff on the evaluation and impact analysis of major design options Engages 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 Bus Produces 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.
Works with data analysis colleagues to produce or update system or object data models and correlate these with corporate models.
Works with database design or database administration teams to translate object and data models into appropriate database schemas within design constraints.
Assists 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 Prepares test cases for unit testing purposes.
Review test cases as produced by other developers for unit testing purposes as required. Conducts unit testing and fix detected errors.
Testing can be done on own work as well as on that of other colleagues in the team. Develops technical support documentation within agreed standards.
Documents 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.
Drives Continuous improvement Coaches the more junior developers on technical aspects of application development, controls, and documentation standards as well as on engaging effectively.
Performs quality assurance on the work completed by junior developers. Quality assurance can cover code developed as well as supporting documents and test plans.
Actively looks for opportunities to shorten development times, improve skills of the team and improve cost efficiency of application development activities.
Ensures that all component designs take into account all specified requirements and constraints. Provides level 3 support and production standby post go live.
Preferred Qualification and Experience Qualification : 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 Experience : Application Support Years : 5-
7 Years Broad experience in translating business and functional requirements into technical specifications and developing the programming code to create the solutions.
Knowledge / Technical Skills / Expertise Technical Skills Require Must have : Solid Objective-C knowledge Solid experience with OCMock and XCTest Solid Interface Builder experience UIKit CoreGraphics Familiar with the Apple UX and UI design guidelines Familiar with the design patterns in the IOS SDK and when to apply them Preference given to candidates with : Strong experience with UIKit APIs like UITABLEVIEWCONTROLLER and UICollectionViewControllerAdvanced Objective-
C experience with delegates, protocols, categories, blocks and other language constructs Solid understanding of OO concepts Experience with Cocoa Pods Git Technical Competencies IT KnowledgeEvaluates 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. Understands products to internal level.
IT DevelopmentThe 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 ApplicationsAbility 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 TestingReviews 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 IntegrityPeriodic 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 codeWorks 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.