Summary: We are seeking to hire an iOS developer who will be responsible for developing and maintaining applications aimed at a range of iOS devices including mobile phones and tablet computers. The primary focus will be development of iOS applications, integration with back-end services including AI and data analysis services, and ingesting data from third parties via APIs. This position collaborates closely with other engineers and developers working on different layers of the infrastructure.
Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
· 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.
· Work closely with User Experience (UX) team
This position does not supervise others although there are opportunities to advance where the candidate may supervise a team.
This job operates in a professional office environment. This role routinely uses standard office equipment such as computers, phones, photocopiers, filing cabinets and fax machines.
Required Education and Experience:
· BS/MS degree in Computer Science, Engineering or a related subject
· 5+ years of software development experience
· 5+ years of experience with iOS, Objective-C, Cocoa
· Proficient with Objective-C or Swift, 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
· 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.