Senior iOS Developer (IC)
TypeContract
LocationSouth Africa
Posted1 hour ago
Job Title: Senior iOS Developer
Reports to: Practice Head: Mobile Services
ROLE OVERVIEW
The employed individual will be challenged with access to a range of projects at clients across industries, working with other experienced technologists whose single pursuit is optimal value creation for our customers through the construction of peerless solutions. This dynamic self- starting individual will be involved in the definition of development best practices and serve as team’s authority on creation of code quality and development of sound front-end architecture to ensure successful delivery on hundreds of software development assignments. You would have the opportunity to be involved with both consulting projects and internal projects.
KNOWLEDGE
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
SKILLS
Solutions design and implementation
Improving the design of existing code
Keep up to date with technology
Ability to Multitask
System design and analysis
Ability to conceptualise and simplify complex problems
Ability to read and write specifications
Good communications skills
Ability to self-manage and not rely on detailed instruction from a manager
ATTITUDES
Enthusiastic and committed
Work with minimal supervision
Work in a team environment
Ability to work under pressure
Delivery focused
Work to achieve tight deadlines
Professionalism (conduct and appearance)
Motivated
Show initiative
Awareness of the environment
RESPONSIBILITIES
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.
Tackling 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
Being able to create Linting rules on top of the basic rules, Swift Lint
Creation of Universal Apps for iPhone and iPad OS
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
Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification
5+ years’ experience in mobile software development
Preferably in a banking, insurance or telecoms industry
Experience in SDLC methodologies such AGILE (SCRUM)
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED:
Knowledge of iOS First party API’s / Frameworks ( AV Foundation, WatchKit, CoreGraphics, MapKit, CoreImage etc.)
Sufficient knowledge of third-party libraries (AlarmoFire, Realm, Cocopods, RxSwift etc.)
Fastlane
Knowledge of App Store connect and releasing of applications
Ability to modularise iOS applications with Cocoapods
Knowledge of Dependency Injection and Frameworks (Swinject)
Knowledge of Android First party API’s/Frameworks ( Services, Broadcast Receivers, Notifications, Camera etc.)
Good knowledge of Jetpack libraries ( Navigation, Room., ViewModels, Work Manager etc.)
Understanding of different programming paradigms (Reactive, Functional, POP etc.)
MutiThreading in iOS
Deep dive into Unit testing with Frameworks such as OCMock, Cuckoo, Quick & Nimble
Deeper knowledge of Architectural approaches like Offline-First, Redux based architecture and common ones like MVP and MVVM and VIPER
Good understanding of DevOps in iOS
Carthage knowledge
Knowledge of Swift package manager
KeyChain management
SSL pinning
Instruments for profiling iOS Apps
Scheme and build configuration management
Originally posted on Himalayas
Reports to: Practice Head: Mobile Services
ROLE OVERVIEW
The employed individual will be challenged with access to a range of projects at clients across industries, working with other experienced technologists whose single pursuit is optimal value creation for our customers through the construction of peerless solutions. This dynamic self- starting individual will be involved in the definition of development best practices and serve as team’s authority on creation of code quality and development of sound front-end architecture to ensure successful delivery on hundreds of software development assignments. You would have the opportunity to be involved with both consulting projects and internal projects.
KNOWLEDGE
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
SKILLS
Solutions design and implementation
Improving the design of existing code
Keep up to date with technology
Ability to Multitask
System design and analysis
Ability to conceptualise and simplify complex problems
Ability to read and write specifications
Good communications skills
Ability to self-manage and not rely on detailed instruction from a manager
ATTITUDES
Enthusiastic and committed
Work with minimal supervision
Work in a team environment
Ability to work under pressure
Delivery focused
Work to achieve tight deadlines
Professionalism (conduct and appearance)
Motivated
Show initiative
Awareness of the environment
RESPONSIBILITIES
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.
Tackling 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
Being able to create Linting rules on top of the basic rules, Swift Lint
Creation of Universal Apps for iPhone and iPad OS
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
Bachelor’s Degree in Informatics, Computer Science, Engineering or other related qualification
5+ years’ experience in mobile software development
Preferably in a banking, insurance or telecoms industry
Experience in SDLC methodologies such AGILE (SCRUM)
TO BE SUCCESSFUL IN THIS ROLE, YOU WILL NEED:
Knowledge of iOS First party API’s / Frameworks ( AV Foundation, WatchKit, CoreGraphics, MapKit, CoreImage etc.)
Sufficient knowledge of third-party libraries (AlarmoFire, Realm, Cocopods, RxSwift etc.)
Fastlane
Knowledge of App Store connect and releasing of applications
Ability to modularise iOS applications with Cocoapods
Knowledge of Dependency Injection and Frameworks (Swinject)
Knowledge of Android First party API’s/Frameworks ( Services, Broadcast Receivers, Notifications, Camera etc.)
Good knowledge of Jetpack libraries ( Navigation, Room., ViewModels, Work Manager etc.)
Understanding of different programming paradigms (Reactive, Functional, POP etc.)
MutiThreading in iOS
Deep dive into Unit testing with Frameworks such as OCMock, Cuckoo, Quick & Nimble
Deeper knowledge of Architectural approaches like Offline-First, Redux based architecture and common ones like MVP and MVVM and VIPER
Good understanding of DevOps in iOS
Carthage knowledge
Knowledge of Swift package manager
KeyChain management
SSL pinning
Instruments for profiling iOS Apps
Scheme and build configuration management
Originally posted on Himalayas
Apply on Himalayas →
Job sourced from Himalayas. Applications happen directly on the original platform — we never collect your data.