Swift Programming Language:
Proficiency in Swift, including its syntax, data types, operators, control structures, and error handling.
iOS Development Fundamentals:
Understanding of iOS app architecture, components, and development patterns (MVC, MVVM, etc.).
Experience with Interface Builder and programmatic UI layout.
Xcode:
Familiarity with Xcode IDE, its features, and tools for debugging, profiling, and building iOS apps.
UIKit and SwiftUI:
Proficiency in building user interfaces using UIKit (for traditional apps) or SwiftUI (for declarative UI).
Auto Layout and UI Design:
Understanding of Auto Layout for creating responsive and adaptable user interfaces.
Basic design principles to create visually appealing and user-friendly interfaces.
View Controllers:
Knowledge of view controllers, their life cycle, and how to manage navigation between them.
Networking and APIs:
Experience in working with RESTful APIs and handling network requests using URLSession or third-party libraries.
JSON parsing and data serialization.
Core Data and Persistence:
Understanding of Core Data framework for local data storage and management.
Grand Central Dispatch (GCD) and Concurrency:
Proficiency in using GCD to manage concurrent and asynchronous tasks.
Memory Management:
Understanding of ARC (Automatic Reference Counting) and managing memory effectively to prevent memory leaks.
Version Control:
Proficiency in using Git for version control and collaborative development.
App Architecture:
Knowledge of different app architecture patterns like MVC, MVVM, VIPER, and their pros and cons.
Unit Testing and Test-Driven Development (TDD):
Writing unit tests using XCTest or other testing frameworks and practicing TDD.
Debugging and Profiling:
Effective use of debugging tools and Instruments for performance analysis.
Push Notifications and Background Execution:
Implementing push notifications and handling background tasks.
App Store Submission:
Knowledge of the app submission process, provisioning profiles, and App Store guidelines.
Security:
Implementing security best practices, such as secure data storage and encryption.
Localization and Internationalization:
Adding support for multiple languages and regions in your app.
Core Animation and Graphics:
Understanding of Core Animation for creating fluid animations and visual effects.
Continuous Integration and Deployment (CI/CD):
Integrating apps with CI/CD pipelines for automated testing and deployment.
Third-Party Libraries and APIs:
Familiarity with common third-party libraries and SDKs to enhance app functionality.
Keeping Up with Updates:
Staying updated with the latest iOS SDK releases, best practices, and community trends.
Problem-Solving:
Strong problem-solving skills to debug issues and find efficient solutions.
Bachelor in Computer science or any relevant field.Proficiency in written and verbal Arabic & English language.Experience with full-cycle mobile app development in iOS.Ability to integrate APIs and RESTful web services for mobile apps.Fluency in Objective-C, Swift, Cocoa Touch and C-based library fundamentals.Programming language expertise (Objective-C, Swift).Experience using IDEs (AppCode, CodeRunner, Xcode).Experience with app development frameworks (AVFoundation, RxSwift, UIKit, XCTest, XCUITest).Familiarity with Apple OS frameworks (Core Animation, Core Data, Core Graphics, Core Text).Understanding of CI/CD pipelines and tools (Azure, Jenkins, GitLab).Knowledge of UI and UX design principles.