- Страна
- Россия
Откликайтесь
на вакансии с ИИ

IOS Developer
Сильная техническая команда и четко описанный современный стек (iOS 16+, Combine, Clean Architecture). Удаленный формат работы и масштабный проект делают вакансию очень привлекательной для опытных разработчиков.
Сложность вакансии
Позиция требует глубокого знания Combine и опыта работы в сложной многомодульной архитектуре (Clean Architecture + MVVM). Отсутствие сторонних DI-контейнеров и использование кастомных решений (Notifier-паттерн) подразумевают высокий уровень ответственности за архитектурную чистоту.
Анализ зарплаты
Зарплата в объявлении не указана, однако для Senior iOS разработчика в России рыночный диапазон составляет от 300 000 до 450 000 рублей. IT_One — крупный игрок, обычно предлагающий конкурентные условия.
Сопроводительное письмо
Составьте идеальное письмо к вакансии с ИИ-агентом

Откликнитесь в IT_One уже сейчас
Присоединяйтесь к команде IT_One и работайте над масштабным iOS-проектом с современной архитектурой!
Описание вакансии
IOS Developer
Локация: Удалённо
Компания: IT_One
ЗП: обсуждается на собеседовании
Занятость: Полная
Обязанности:
Мы ищем опытного IOS-разработчика для участия в развитии сложного и масштабного много-модульного проекта.
Язык и платформа:
- Язык: Swift
- Минимальная версия iOS: 16.0
- UI-фреймворк: UIKit
- Реактивность: Combine — нативный фреймворк Apple, без RxSwift
Архитектура:
- Паттерн: MVVM + Router + Assembly (модульная архитектура)
- Каждый модуль содержит: View, ViewModel, Router, Assembly
- ViewModel использует Input/Output паттерн с PassthroughSubject / AnyPublisher
- Assembly — фабрика для сборки модуля (ручной DI, без Swinject)
- Навигация: Router-паттерн на уровне модулей + AppCoordinator на уровне приложения
- Слой данных: UseCase-паттерн (Clean Architecture) — UseCaseProvider предоставляет ~25 юзкейсов
- Нетворкинг: Собственный слой поверх URLSession + Combine (AnyPublisher), REST API с типизированными Endpoint-ами
- Оповещения между модулями: Notifier-паттерн (кастомный event bus)
Обязательные требования:
- Swift — уверенное владение (протоколы, дженерики, расширения, enums с ассоциированными значениями)
- UIKit — глубокое знание: UIViewController, UITableView/UICollectionView, Auto Layout программно (без Storyboard), кастомные
UI-компоненты
- Combine — опыт работы с реактивными потоками: Publisher, Subject, sink, flatMap, combineLatest, обработка ошибок
- Архитектура MVVM — понимание Input/Output паттерна, разделение ответственности, Router/Coordinator для навигации
- Clean Architecture — UseCase-слой, разделение на слои (Presentation → Domain → Data)
- REST API — опыт работы с сетевым слоем на основе URLSession, Codable, обработка ошибок, refresh token
- Git — работа с ветками, merge requests, code review (GitLab)
*🌐 Резюме отправлять:* Откликнуться
–––
Бесплатный постинг вакансий: @freeIT_job
Забирай *📚* Базу Знаний
Создайте идеальное резюме с помощью ИИ-агента

Навыки
- Git
- MVVM
- iOS
- Swift
- REST API
- GitLab
- UIKit
- Clean Architecture
- Combine
- Auto Layout
- URLSession
- Codable
Возможные вопросы на собеседовании
Вакансия предполагает использование Combine без RxSwift. Важно понимать механизмы управления памятью в нативном фреймворке.
Как вы управляете жизненным циклом подписок в Combine и в чем разница между AnyCancellable и Set<AnyCancellable>?
В проекте используется MVVM с Input/Output паттерном. Это стандарт для реактивных интерфейсов.
Опишите реализацию Input/Output паттерна во ViewModel с использованием PassthroughSubject. Как это помогает в тестировании?
Проект является многомодульным с ручным DI в Assembly.
В чем преимущества и недостатки ручного внедрения зависимостей (Manual DI) в многомодульном проекте по сравнению с использованием Swinject?
Используется Router-паттерн и AppCoordinator.
Как организовать передачу данных между модулями при использовании Router, чтобы сохранить слабую связанность (loose coupling)?
Упоминается кастомный Notifier-паттерн (event bus).
Какие риски несет использование Event Bus в крупных приложениях и как их минимизировать?
Похожие вакансии
Kotlin (Android) Senior
Middle+/Senior Kotlin разработчик
Ведущий мобильный разработчик Android, Платформа мобильных приложений
Android-разработчик (работа над Telegram Android клиентом)
IOS-разработчик
Android-разработчик
1000+ офферов получено
Устали искать работу? Мы найдём её за вас
Quick Offer улучшит ваше резюме, подберёт лучшие вакансии и откликнется за вас. Результат — в 3 раза больше приглашений на собеседования и никакой рутины!