Description:
Job Purpose:Develop and maintain our innovative platforms on the iOS platform, ensuring code is generated that is in accordance with specifications, and which is neat, accurate and scalable. Work will mainly focus on maintaining and upgrading our solutions platform, as well as providing guidance from an iOS best practice perspective for products in the rest of the company. Work might also include mentoring other iOS developers.
Minimum education (essential):
National Senior Certificate
Minimum education (desirable):
Tertiary education diploma/degree relevant to software development.
3 year degree in computer science or equivalent.
Minimum applicable experience (years):
3 - 5 years as an iOS Developer
Required nature of experience:
Experience in implementing and delivering native iOS applications of 1 or more projects.
Skills and Knowledge (essential):
Programming Languages and Concepts Swift (Advanced) Concurrency - Grand Central Dispatch (GCD), Operation Queues, Tasks Memory Management iOS best practices iOS Frameworks and SDKs Animation - Core Animation/ SwiftUI animation Lottie Combine Core Data RxSwift Core Bluetooth/ RxBluetoothKit Development Tools Command Line Tools Continuous Integration/ Continuous Deployment CI/ CD (Xcode Cloud, GitHub Actions) Profiling Version Control Complex Git workflows (rebasing, cherry-picking, git-bisect) App Architecture and Design Patterns Dependency Injection Networking SSL User Interface Design Custom Transitions and Animations Accessibility Localization and Internationalization Data Persistence Core Data models and migrations (Intermediate) Testing Unit testing - mocking, stubbing (Advanced) Performance Testing App life cycle Background Execution Additional Skills Human Interface Guidelines App Review Guidelines
Analysis and Planning 20%
Collaborate in the application lifecycle (planning, design, development, deployment, maintenance) collaborating with stakeholders for requirements. Continuously research and evaluate new technologies to optimize development efficiency. Plan and design well-structured, reusable application architecture. Implement and develop according to best practices to ensure high-quality, maintainable systems. Participate in project planning by providing estimates, contributing to requirement documentation, and assist
05 Mar 2025;
from:
gumtree.co.za