Проектирует высокопроизводительные алгоритмы для iOS-приложений с учётом ограничений мобильных устройств. Анализирует сложность алгоритмов сортировки, поиска и обработки данных в контексте Swift. Оптимизирует критические пути выполнения, применяя профилирование через Instruments для выявления узких мест в алгоритмической логике
Роли · iOS Developer · Lead
Что должен уметь Lead }
35 ключевых навыков, всего 52. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Lead }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Frontend Development, Mobile Development.
Ключевые навыки для Lead
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Проектирует асинхронную архитектуру iOS-приложений с использованием Swift Concurrency: async/await, TaskGroup, AsyncSequence. Управляет structured concurrency для предотвращения утечек задач, настраивает приоритеты через TaskPriority. Интегрирует Combine publishers с async/await, обеспечивая плавный переход между парадигмами
Внедряет стандарты качества кода в iOS-проектах: SwiftLint правила, SwiftFormat конфигурации и code review чек-листы. Настраивает статический анализ через Xcode Analyzer и сторонние инструменты. Определяет метрики качества для Swift-кода — цикломатическая сложность, покрытие тестами, соответствие Swift API Design Guidelines
Управляет многопоточностью в iOS-приложениях через Swift actors и Sendable протокол для устранения data races. Применяет MainActor для UI-обновлений, создаёт custom actors для изоляции состояния. Оптимизирует использование DispatchQueue и OperationQueue для legacy-кода, профилирует конкурентный доступ через Thread Sanitizer в Xcode
Применяет паттерны проектирования в контексте iOS-разработки: Coordinator для навигации, Repository для работы с данными, Factory для создания UI-компонентов. Адаптирует классические паттерны GoF под особенности Swift — протокол-ориентированное программирование, value types и property wrappers для инъекции зависимостей
Применяет принципы SOLID в iOS-разработке с акцентом на протокол-ориентированный подход Swift. Проектирует иерархии классов UIKit и протоколы SwiftUI с учётом композиции вместо наследования. Использует дженерики, ассоциированные типы и opaque return types для создания гибких абстракций с сохранением типобезопасности
Выбирает оптимальные структуры данных для iOS-приложений с учётом потребления памяти на мобильных устройствах. Применяет Swift-специфичные коллекции (Array, Set, Dictionary) с пониманием value/reference semantics. Проектирует кэширующие структуры с NSCache и собственные thread-safe коллекции для многопоточной обработки
Управляет памятью в iOS-приложениях через глубокое понимание ARC: retain cycles, weak/unowned references, capture lists в замыканиях. Профилирует утечки памяти через Xcode Memory Graph Debugger и Instruments Leaks. Оптимизирует потребление памяти при работе с изображениями, Core Data и большими коллекциями данных
Frontend Development · 1
Архитектурно проектирует систему загрузки данных для iOS-приложения: абстракции над URLSession, интерцепторы для аутентификации, централизованная обработка ошибок. Внедряет GraphQL через Apollo iOS или собственный клиент, настраивает WebSocket для real-time данных. Определяет стратегии синхронизации локального кэша с сервером
Mobile Development · 8
Определяет стандарты ASO для портфеля iOS-продуктов: формирует workflow оптимизации App Store, координирует ASO с Apple Search Ads и маркетинговыми командами, внедряет мультилокальные стратегии ключевых слов. Проводит аудиты присутствия в сторе и определяет roadmap оптимизации.
Проектирует реактивную архитектуру iOS-приложения на основе Combine: цепочки Publishers для трансформации данных, управление подписками через AnyCancellable. Создаёт кастомные Publishers и Subscribers для бизнес-логики, интегрирует Combine с URLSession, NotificationCenter и Core Data. Оптимизирует использование операторов throttle, debounce и combineLatest
Проектирует модель данных Core Data для iOS-приложений: схема сущностей, миграции, fetch request оптимизация. Настраивает NSFetchedResultsController для эффективного отображения данных, реализует фоновые контексты для тяжёлых операций. Внедряет CloudKit-синхронизацию через NSPersistentCloudKitContainer для мультиустройственной работы
Проектирует масштабируемый CI/CD для iOS-команды: параллельная сборка модулей, кэширование SPM-зависимостей и derived data. Внедряет автоматические проверки качества: SwiftLint, покрытие тестами, размер бинарника и performance regression tests. Настраивает многоэтапный деплоймент: alpha → beta → production с автоматическими release notes из коммитов
Проектирует систему мониторинга производительности iOS-приложения: сбор метрик через MetricKit, crash reporting через Firebase Crashlytics и анализ hang rate. Оптимизирует сложные UI-сценарии: бесконечная прокрутка, тяжёлый рендеринг и фоновые операции. Внедряет performance budgets для времени запуска, потребления памяти и размера бинарника
Проектирует архитектуру безопасности iOS-приложения: многоуровневая защита данных через Data Protection API, Secure Enclave для криптографических ключей. Внедряет runtime protection: обфускация кода, anti-tampering проверки, certificate pinning с fallback-стратегией. Управляет security-аудитом и compliance с требованиями GDPR и App Store Review Guidelines
Проектирует UI-архитектуру iOS-приложений на SwiftUI: композиция View, управление состоянием через @State, @Binding, @ObservedObject и @EnvironmentObject. Создаёт переиспользуемые компоненты с ViewModifiers и ViewBuilders, оптимизирует перерисовку через правильную декомпозицию View-иерархии и использование @StateObject vs @ObservedObject
Проектирует сложные UI-интерфейсы на UIKit: кастомные UICollectionViewLayout для нестандартных сеток, compositional layout для разнородного контента. Реализует плавные анимации через UIViewPropertyAnimator и Core Animation, оптимизирует прокрутку через prefetching и cell reuse. Интегрирует UIKit-компоненты в SwiftUI через UIViewRepresentable
API и интеграции · 4
Определяет стандарты API-документирования для iOS-команды: шаблоны для описания интеграций, автоматическая валидация соответствия кода документации. Координирует с backend-командой формат спецификаций, управляет процессом согласования API-контрактов. Внедряет API design review как часть процесса разработки новых фичей
Определяет архитектуру real-time функциональности iOS-приложения: выбор между WebSocket, Server-Sent Events и push-уведомлениями для разных сценариев. Проектирует отказоустойчивую систему с fallback-механизмами и offline-буферизацией. Внедряет мониторинг качества соединения и адаптивные стратегии для различных условий сети
Определяет архитектуру GraphQL-слоя для iOS-команды: модульная структура схемы, стратегия фрагментов для переиспользования и code generation пайплайн. Внедряет мониторинг производительности запросов, управляет сложностью через query cost analysis. Проектирует паттерны для offline-поддержки и оптимистичных обновлений в сложных бизнес-сценариях
Определяет стандарты интеграции с REST API для iOS-команды: единый сетевой модуль с code generation из OpenAPI спецификаций. Внедряет стратегии resilience: circuit breaker, fallback на кэшированные данные и graceful degradation при отсутствии сети. Проектирует offline-first архитектуру с очередью запросов и конфликт-резолюцией
DevOps и CI/CD · 1
Определяет CI/CD-стратегию для iOS-команды на GitHub Actions: многоступенчатые пайплайны с gate-проверками, автоматический version bumping и tag management. Внедряет quality gates: покрытие тестами, SwiftLint compliance, размер бинарника и performance benchmarks. Оптимизирует стоимость CI через эффективное использование macOS-минут и кэширования
Тестирование и QA · 4
Определяет стратегию интеграционного тестирования для iOS-команды: какие сценарии покрывать, как управлять тестовым окружением и данными. Внедряет тестирование миграций Core Data, валидацию App Extensions и Widget-интеграций. Разрабатывает фреймворк для тестирования мультимодульных зависимостей и межпроцессного взаимодействия
Определяет комплексную стратегию тестирования для iOS-платформы: пирамида тестов с учётом мобильной специфики, критерии качества для каждого уровня. Внедряет performance testing через XCTest metrics, стресс-тестирование при ограниченных ресурсах. Управляет device lab для тестирования на реальных устройствах, координирует с QA-командой тестовые циклы
Определяет стратегию E2E-тестирования для iOS-команды: критические пользовательские пути, матрица устройств и версий iOS для тестирования. Внедряет BDD-подход с Cucumber-Swift для описания сценариев на языке бизнеса, настраивает reporting для стейкхолдеров. Управляет тестовой инфраструктурой: пул симуляторов, тестовые аккаунты и mock-серверы
Определяет стратегию unit-тестирования для iOS-команды: минимальные стандарты покрытия, обязательные сценарии и code review критерии. Внедряет TDD-практики, создаёт библиотеку тестовых утилит и общих моков. Настраивает автоматический мониторинг регрессии покрытия в CI/CD, обучает команду эффективным подходам к тестированию Swift-кода
Безопасность · 2
Определяет стандарты безопасного кодирования для iOS-команды: security guidelines, обязательные code review чек-листы и автоматические проверки. Внедряет secure development lifecycle: threat modeling на этапе дизайна, security testing в CI/CD и мониторинг в продакшене. Обучает разработчиков предотвращению типичных мобильных уязвимостей
Определяет архитектуру аутентификации для iOS-платформы: единый auth-модуль для всех приложений организации, стандарты хранения и обновления токенов. Внедряет Device Check и App Attest для верификации подлинности клиента, passkeys через ASAuthorization для passwordless аутентификации. Управляет security-аудитом auth-подсистемы и compliance
AI-ассистированная разработка · 2
Внедряет AI-инструменты в процессы iOS-команды: стандарты использования AI для code generation, шаблоны промптов для типовых задач разработки. Обучает команду эффективным практикам: chain-of-thought для сложных архитектурных задач, few-shot примеры для генерации Swift-кода в стиле проекта. Определяет границы применимости AI в iOS-разработке
Внедряет GitHub Copilot в процессы iOS-команды: лицензирование, обучение и стандарты использования. Настраивает repository-level инструкции для единообразной генерации кода в стиле проекта. Определяет метрики эффективности: acceptance rate, time-to-completion и качество сгенерированного кода. Управляет безопасностью — исключение чувствительного кода из контекста
Архитектура и проектирование · 2
Определяет архитектурную стратегию для iOS-продукта: модульная архитектура с dependency graph, стандарты коммуникации между модулями и feature-слоями. Проектирует платформенные подсистемы: аналитика, логирование, feature flags и A/B-тестирование. Проводит architecture decision records и обучает команду принципам проектирования мобильных систем
Определяет стандарты Clean Architecture для iOS-команды: шаблоны модулей, правила зависимостей и architecture conformance тесты. Адаптирует принципы для SwiftUI: Presentation через ViewModels с @Observable, Domain с async/await Use Cases. Внедряет автоматическую генерацию boilerplate через Sourcery, проводит архитектурные ревью и обучает команду принципам SOLID в Swift
Контроль версий и коллаборация · 2
Определяет стандарты code review для iOS-команды: чек-листы, SLA на время ревью и критерии принятия. Внедряет автоматические проверки: SwiftLint, danger-swift для PR-валидации, автоматический assignment ревьюеров по CODEOWNERS. Проводит архитектурные ревью для крупных фичей, обучает команду эффективному peer review и культуре конструктивной обратной связи
Определяет стратегию версионирования для iOS-команды: Git Flow или Trunk-Based Development с feature flags, стандарты code review и merge-политики. Внедряет автоматизацию через GitHub/GitLab: protected branches, CODEOWNERS для модулей, автоматическая проверка PR через CI. Управляет release-процессом: теги версий, release branches и cherry-pick hotfixes для App Store
Performance Engineering · 1
Определяет стратегию performance engineering для iOS-команды: бюджеты на каждый модуль, ответственность за метрики и процесс оптимизации. Внедряет performance review как часть code review и release process, настраивает автоматические блокеры при нарушении бюджетов. Координирует с продуктовой командой компромиссы между функциональностью и производительностью
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Principal
0 навыков получают более высокое ожидание или становятся ключевыми при переходе с Lead на Principal. Сначала самые большие скачки.
} в открытой матрице компетенций: 52 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.