Responsibilities
· Design and build applications for the iOS platform
· Ensure the performance, quality, and responsiveness of applications
· Collaborate with a team to define, design, and ship new features
· Identify and correct bottlenecks and fix bugs
· Help maintain code quality, organization, and automatization
Requirements
· Proficient with Objective-C or Swift {{depending on project requirements}}, and Cocoa Touch
· Experience with iOS frameworks such as Core Data, Core Animation, etc.
· Experience with offline storage, threading, and performance tuning
· Familiarity with RESTful APIs to connect iOS applications to back-end services
· Knowledge of other web technologies and UI/UX standards
· Understanding of Apple’s design principles and interface guidelines
· Knowledge of low-level C-based libraries is preferred
· Experience with performance and memory tuning with tools {{such as Instruments and Shark, depending on project needs}}
· Familiarity with cloud message APIs and push notifications
· Knack for benchmarking and optimization
· Proficient understanding of code versioning tools {{such as Git, Mercurial or SVN}}
· Familiarity with continuous integration
· Full-stack iOS development including Swift, Objective-C, Foundation, UIKit, XCTest, Core Animation, Core Data
· Deep understanding of both MVC and alternative architectural UI design patterns
· Experience of test driven development (TDD), and the desire to write tests.
· Automation tools such as Jenkins and Fastlane
· A strong understanding of how to design and interact with RESTful APIs
· Previous leadership experience, managing or mentoring others
· Experience with source code versioning tools, specifically Github
· Proficiency with git when collaborating on codebases and Apple’s app submission process (including certificates and provisioning)
· Write code that follows SOLID principles, platform-specific conventions and common design patterns
· Experience in Continuous Integration and writing highly testable code, simplifying Unit Tests
· Knowledge of Scrum or Kanban