- Xcode preferably the most up to date version.
- Terminal and git experience.
- Swift fundamentals.
- iOS and UIKit experience.
- Using dependencies e.g CocoaPods or Swift Package Manager.
- Multithreading and Asynchronous programming.
- Networking in iOS.
- Unit Testing.
- Ability to debug a given code base.
- Experience with the Human Interface Guidelines (HIG) and Apple design best practices.
- MVC or MVVM experience.
- Eye for subtle effective use of animataions.
- Experience using Postman or similar.
- Parsing JSON data from a Web API
- Populate a Table View with given data.
- Populate a Collection View with data and create custom cell.
- Use URLSession natively without any third party libraries.
- Comfortable using breakpoints and
po
as a debugging tool. - Be able to segue and pass data to a view controller.
- Use of gesture recogizers e.g long press, tap.
- Use delegation pattern or callbacks to communicate data.
- Be comfortable setting up views using Storyboards, nibs.
- Be comfortable setting up views programmatically.
- Source control management using git and Github.
- Be able to create animations using UIKit built-in APIs. e.g UIView.animate
- Familiarity with dependency managers e.g Cocoapods or Swift Package Manager in order to use third party libraries.