Senior iOS Developer (IC)

DVT · via Himalayas ·

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
ios-developer senior-ios-developer mobile-application-developer swift-developer senior-ios-engineer
Apply on Himalayas →

Job sourced from Himalayas. Applications happen directly on the original platform — we never collect your data.