JOB DESCRIPTION::
Key Duties & Responsibilities:
Developing software for iOS to achieve quality, budget and schedule outcomes
Code from program specifications for iOS using native languages ( Swift )
Unit testing – including planning, documentation, and execution of a test for a unit of work to ensure the quality of code written
Providing input/creating detailed technical design documents, including identification of new components and impact analysis of existing systems if any
Program specifications for a unit of work, following project standards and including time estimates
Systems & Integration Testing – Following a test plan, execute the plan, identifying and logging issues
Post Implementation Support – ongoing support, as required, including identification of problems raised and whether these are problems or additional requirements
Release management - Have a comprehensive understanding of the iOS release management and support releases
Skills & Experience required:
Ability to clearly articulate complex architectural and technical problems
Ability to apply agile methodologies when it comes to lean software development
Expert in iOS mobile software architecture.
APIs - RESTful API design, be able to collaborate with backend developers
Security-first mindset
Expert in coding in Swift (> iOS13)
Well versed in unit testing frameworks such as XCTest
Experience with automated deployments (CI/CD)
Experience with Coordinator pattern, Autolayout, MVVM
Knowledge of modern software architecture paradigms such as microservices and event-based architectures
Experience with SwiftUI, Combine
UX/UI Design
CICD with Fastlane
Knowledge of single codebase mobile native solutions such as React Native or Flutter
Experience with Android development
Team player, collaborative approach and excellent communication skills