В DevCats требуется "Middle IOS Developer"
Должностные обязанности:
1. Понимать и полноценно применять в работе ООП и ФП, базовые структуры данных и алгоритмы , основные паттерны проектирования.
2. Понимать и уметь применять архитектурные паттерны разработки MVVM, MVC, MVP, VIPER, MVI.
3. Уметь тестировать собственный код и покрывать его UI/Unit тестами.
4. Уметь работать с UserDefaults, CoreData, Realm, Keychain. Понимать как работет encryption.
5. Уметь строить сложный layout , с использованием UiKit/SwiftUI
6. Понимать и уметь применять в работе подходы DI.
7. Понимать и уметь применять в работе RestApi(URLSessions, Moya, Alamofire)
8. Умению работы с Version Control. Уверенные знания GIT.
9. Понимать подход реактивного программирования и умения применять его в работ RxSwift/Combine.
10. Понимать и уметь использовать SOA Architecture в Swift.
Требования к кандидатам:
1. Знания и навыки в ООП и ФП:
* Глубокое понимание принципов объектно-ориентированного и функционального программирования.
* Опыт работы с базовыми структурами данных и алгоритмами.
* Владение основными паттернами проектирования.
2. Архитектурные паттерны:
* Опыт работы с архитектурными паттернами MVVM, MVC, MVP, VIPER, MVI.
3. Тестирование:
* Умение тестировать собственный код.
* Навыки покрытия кода UI и Unit тестами.
4. Работа с данными:
* Опыт работы с UserDefaults, CoreData, Realm, Keychain.
* Понимание принципов шифрования данных.
5. Разработка пользовательского интерфейса:
* Умение строить сложные layout'ы с использованием UIKit и SwiftUI.
6. Подходы DI (Dependency Injection):
* Понимание и применение принципов внедрения зависимостей в разработке.
7. Работа с REST API:
* Опыт работы с URLSessions, Moya, Alamofire для взаимодействия с RESTful сервисами.
8. Контроль версий:
* Уверенное владение системой контроля версий GIT.
* Понимание основных концепций работы с системами контроля версий.
9. Реактивное программирование:
* Понимание и умение применять принципы реактивного программирования.
* Опыт работы с RxSwift и/или Combine.
10. SOA Architecture:
* Понимание и умение использовать SOA (Service-Oriented Architecture) в Swift.
Дополнительные требования:
* Высшее образование в области компьютерных наук или эквивалентный опыт работы.
* Способность работать в команде и эффективно коммуницировать с коллегами.
* Умение решать сложные задачи и находить оптимальные решения.
* Желание учиться и развиваться в профессиональной сфере.
Заработная плата обсуждается индивидуально по итогам собеседования