BA/BS degree in Computer Science or related field, or equivalent experience.
Experience developing quality iOS applications with a significant user base.
Proficient in Swift and familiar with Xcode, Interface Builder, and Core Data.
Strong understanding of mobile architecture and asynchronous coding techniques.
Requirements:
Participate in a founding team of iOS engineers to enhance the mobile experience for users.
Write well-tested, modular code and collaborate with backend and Android engineers.
Engage in continuous integration and beta distribution processes.
Share technical knowledge through documentation and information sessions.
Job description
Participate in a founding team of iOS engineers on an application to be used and enjoyed by thousands of users worldwide and be directly responsible for the mobile experience of our contributor network
Work on a modern iOS 13 stack built fully on Swift, adaptive layouts using size classes and offline data for remote areas
Write peer reviewed, well tested, modular code using unit and functional test coverage
Collaborate with backend engineers on developing to define efficient and scalable data contracts
Collaborate with Android engineers to partner on similar architecture concepts that still benefit from the unique advantages of the iOS platform
Work on a code base that leverages continuous integration and beta distributions
Proactively share technical knowledge through information sessions, documentation and blog posts.
Your background likely includes:
BA/BS degree in Computer Science or related technical field, or equivalent practical experience
Experience developing quality iOS applications in the App Store with a significant user base or brand
Passionate about mobile architecture and separation of concerns for UI, data storage and network access
Experience in Swift
Experience with Xcode and Interface Builder including Storyboards, Auto layout and Core Data
Demonstrated use of asynchronous coding with Blocks and Grand Central Dispatch
Demonstrated ability to solve repetitive, error prone engineering work with a well thought through software design.