Citrusbyte is a software consultancy that believes in using simple tools to solve problems. We build custom systems for both startups and enterprises - You can see our portfolio for more information about our clients.
We have offices in Los Angeles and New York, but we work remotely with people from all around the world.
Our engineers have experience in a consultative environment, excellent communication skills and a desire to work with talented teams building innovative products. We work closely with our clients, sharing our experience and processes to help them define and create their products.
We are looking for an experienced iOS engineer that is passionate about learning new technologies and can take on any project, no matter how ambitious or complex.
Skills & Requirements:
- Smart, gets things done.
- Excellent communication skills.
- Consulting experience.
- Passionate about software development.
- Experience working in a highly distributed company.
- Open minded and able to demonstrate continuous learning.
Our ideal iOS Engineer:
- Swift and POP concepts.
- UIKit, especially the UITableView and the UICollectionView.
Has an Advanced Knowledge of:
- Storyboards and Autolayout.
- Dependency management with Carthage and CocoaPods.
- Architectural patterns such as MVVM or VIPER.
- Multithreading with both GCD and NSOperationQueue.
- Unit Testing and, thus, is very used to Dependency Injection.
- Networking supported by Alamofire.
- Writing reusable components with a top class API Design.
- Crash reporting, including non-fatals management.
- Distribution to both the App Store and internal testers.
- The HIG and the App Store Review Guidelines.
Has at least some experience with:
- Functional Reactive Programming with either ReactiveCocoa or RxSwift.
- Core Data in a multi-context setup.
Duties & Responsibilities:
- Architect and build iOS apps.
- Work with product designers and clients to clarify requirements, prototype functionality and build products.
- Plan, estimate and prioritize work in a collaborative and distributed team.