About this role
R
Job Title: Senior iOS Developer
Reports to: Practice Head: Mobile Services
ROLE OVERVIEW
The successful individual would be responsible for the development, debugging and support of new and existing mobile applications, related services and databases.
KNOWLEDGE AND SKILLS
• Interaction design and user experience guidelines
• iOS – Objective C and Swift
• Design patterns
• Parsing and consuming XML and JSON
• Working with RESTful services
• Unit testing, integration and functional testing
• Using version control systems – Git, SVN, TFS
• Solutions design and implementation
• Improving the design of existing code
• Keep up to date with technology
• System design and analysis
• Ability to conceptualise and simplify complex problems
• Ability to read/write specifications
• Awareness of environment
INIMUM REQUIREMENTS
MINIMUM REQUIRED EXPERIENCE
• 5+ years’ experience in mobile software development
• Preferably in a banking, insurance or telecoms industry
• Experience in SDLC methodologies such AGILE (SCRUM)
MINIMUM REQUIREMENTS
FUNDAMENTAL COMPETENCIES
• Strong written and oral communication skills
• Creative eye for details
• Positive attitude
• Able to multitask effectively
• Display excellent time management, task planning and prioritisation skills
• Able to adapt quickly to changing client requirements
• Able to work effectively with minimal supervision
• Work under pressure
• Enthusiastic and committed
• Work in a team environment
• Delivery focused
• Professional
• Motivated
• Show initiative
MINIMUM REQUIREMENTS
CORE COMPETENCIES
• Developing, maintaining and debugging of software applications
• Testing of independent modules and complete applications making use of automated and manual testing techniques
• Working with project managers, technical leads and customers to provide task estimates, report on progress and discuss implementation details
• Following and contributing to the improvement of software architecture, coding standards and practices being observed within the team environment
• Designing of solutions that are maintainable, efficient, performant and secure
• Refactoring source code to improve system design
• Resolving software defects in collaboration with software test analysts
• Conducting peer reviews of project code
• Consume and create technical documentation such as specification documents, UML diagrams, user stories, wireframes etc.
• Using a version control system to manage code changes
• Configure, optimise and deploy applications for public release
• Managing the submission of applications to online repositories and app stores
MINIMUM REQUIREMENTS
MINIMUM EDUCATION
• Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED:
• Tackle hard problems in iOS such as Graphics, Performance issues, Security, Bash scripting and build script issues
• Able to approach problems with BDD and TDD
• Being able to take on POC work in quick stints with vital feedback
• Knowledge of App Store connect and releasing of applications
• Being able to create Linting rules on top of the basic rules, Swift Lint
• Good understanding of DevOps in iOS
• Ability to modularise iOS applications with Cocoapods
• Carthage knowledge
• Knowledge of Swift package manager
• KeyChain management
• SSL pinning
• Instruments for profiling iOS Apps
• Scheme and build configuration management
In this position you will report to Practice Head: Mobile Services