hirq
← All jobs

DVT

Senior iOS Developer (IC)

Remote · Independent Contractor · SA Staff (SA-STF)

Apply well, not just fast

Create a free account and upload your resume to get a match score, keyword gaps, a tailored resume, a cover letter and interview prep for this job.

About the role

iOSSwiftSystem DesignCBashREST APIsAndroidReduxGitScrumUX DesignTechnical Writing
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