2+ years of experience working in software development
Skills of the OOP and writing readable, quality and supportable code: you follow the DRY, KISS, YAGNI, SOLID principles, you are familiar with MVC, MVVM architectures
Good knowledge of Cocoa and/or CocoaTouch framework, its features and workarounds
Create beautiful and smooth interfaces, able to profile, find and fix performance problems
Effectively address two major problems of programmers: naming and caching
Solid understanding of Objective-C core concepts, its runtime, application lifecycle
Understanding of pros and cons of different architectures
Experience with Unit and Behaviour testing
Be part of the team: teamwork & communication
С++ 11 knowledge and experience is a big plus
Expertise in working with legacy code
Understanding of how language is designed from the inside
Expertise in the PhotoKit, Core Animation, OpenGL, MetalKit, Core ML and other frameworks
Understanding of FRP concepts (either ReactiveCocoa or RxSwift)
Cross-platform development
Knowledge of multithreading and IPC programming
Experience with Image processing and/or DSP
Attention to details
Experience with sqlite, Core Data with custom data store
Experience with commercial photography
You may provide us your blog, conference talks, public git repos or code samples to be taken into consideration.
Our own products, not outsourcing
Annual paid vacations (21 working days)
Medical insurance
Convenient office location
Corporate / team / special events
Warm and friendly working environment
Professional development and career growth
Support, maintenance and refactoring of existing services and applications
Proactively collaborate with teammates to optimize the development process and participate in resolving unclear technical requirements
Design and build solutions in Objective-C, support and write Objective-C++ code is desirable
Create beautiful and smooth interfaces, able to profile, find and fix performance and scalability problems
Review existing code