Применяет алгоритмическую экспертизу в iOS-разработке: эффективные diff-алгоритмы для обновлений collection view (NSDiffableDataSource), алгоритмы обработки изображений с фреймворком Accelerate/vDSP, алгоритмы поиска для оптимизации fetch Core Data. Проектирует memory-efficient алгоритмы с учётом ограничений iOS-устройств.
Роли · iOS Developer · Senior
Что должен уметь Senior }
36 ключевых навыков, всего 53. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Senior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Frontend Development, Mobile Development.
Ключевые навыки для Senior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 8
Проектирует async-архитектуры для iOS: структурированная конкурентность с TaskGroup/AsyncStream, изоляция состояния на Actor, async дата-слой с правильной поддержкой отмены. Менторит команду по best practices Swift concurrency и миграции с GCD.
Проектирует стандарты качества кода для iOS/Swift-проектов: конфигурация SwiftLint, контроль архитектурных паттернов (MVVM/TCA), модуляризация через Swift packages. Рефакторит legacy Objective-C и massive view controllers в современные Swift-паттерны. Устанавливает практики ревью для управления памятью, конкурентности и accessibility.
Обладает глубокой экспертизой в многопоточности iOS: проектирует конкурентные архитектуры на основе акторов со Swift actors, внедряет custom async sequences для сложных потоков данных, оптимизирует конфигурации GCD и operation queue для производительности приложений. Менторит команду по структурированной конкурентности Swift для продакшен iOS-приложений.
Обладает глубокой экспертизой в паттернах проектирования для iOS: проектирует clean architecture с VIPER/VIP или composable architecture паттернами, внедряет реактивные паттерны с Combine/async-await, оптимизирует использование паттернов для управления памятью и производительности iOS. Менторит команду по архитектурным паттернам для сложных iOS-приложений.
Применяет ООП/SOLID в архитектуре iOS/Swift: protocol-oriented дизайн для чистых абстракций, dependency injection для тестируемых view models, interface segregation с сфокусированными протоколами. Проектирует модульные iOS-приложения с использованием Swift packages с правильным контролем границ между фичами, доменным и инфраструктурным слоями.
Выбирает оптимальные структуры данных для iOS-приложений: связи сущностей Core Data с правильной оптимизацией fetch-запросов, цепочки publisher Combine для реактивного потока данных, оптимизированные для SwiftUI идентифицируемые коллекции. Оптимизирует использование памяти с value-type коллекциями и copy-on-write семантикой. Проектирует эффективные структуры offline-хранения с поддержкой синхронизации CloudKit.
Проектирует memory-efficient архитектуры iOS с оптимизацией ARC: устраняет retain cycle через продуманный дизайн владения, реализует управление autorelease pool для пакетных операций и создаёт кастомные слои кеширования с учётом memory pressure. Использует Instruments Allocations и Leaks для системного профилирования памяти. Оптимизирует память изображений и медиа через lazy loading и стратегии purging. Менторит команду по нюансам модели памяти Objective-C/Swift.
Frontend Development · 1
Проектирует сетевой слой iOS-приложения на основе URLSession с поддержкой кэширования, retry-логики и отмены запросов. Реализует пагинацию, prefetching данных и оптимистичные обновления UI. Использует Combine/async-await для реактивного управления потоками данных, настраивает URLCache и HTTP-кэширование для офлайн-режима
Mobile Development · 8
Проектирует комплексную ASO-стратегию для iOS-продуктов: интегрирует Apple Search Ads с органическим ASO, внедряет эксперименты по оптимизации product pages, строит отслеживание эффективности ключевых слов. Оптимизирует конверсию по custom product pages и менторит команду по best practices iOS-стора.
Проектирует архитектуру мобильного приложения с Combine и Swift Concurrency. Оптимизирует производительность для low-end устройств. Внедряет CI/CD для мобильной разработки. Менторит команду.
Проектирует архитектуру мобильного приложения с Core Data и SwiftData. Оптимизирует производительность для low-end устройств. Внедряет CI/CD для мобильной разработки. Менторит команду.
Настраивает CI/CD пайплайн для iOS-проектов с использованием Fastlane: автоматизация сборки, подписи и публикации в TestFlight. Конфигурирует match для управления сертификатами и provisioning profiles, настраивает scan для автоматического тестирования. Интегрирует с GitHub Actions или Bitrise, управляет Code Signing через Automatic Signing и match
Профилирует iOS-приложения через Instruments: Time Profiler для CPU, Allocations для памяти, Core Animation для FPS. Оптимизирует запуск приложения (cold/warm start), уменьшает размер бинарника через link-time optimization. Отслеживает метрики производительности через MetricKit и Xcode Organizer в продакшене
Обеспечивает безопасность iOS-приложения: хранение секретов в Keychain, шифрование данных через CryptoKit, SSL Pinning для сетевых запросов. Реализует биометрическую аутентификацию через LocalAuthentication (Face ID/Touch ID), проверку jailbreak-статуса устройства. Настраивает App Transport Security и Content Security Policy
Проектирует архитектуру мобильного приложения с Swift и SwiftUI. Оптимизирует производительность для low-end устройств. Внедряет CI/CD для мобильной разработки. Менторит команду.
Проектирует архитектуру мобильного приложения с UIKit и Auto Layout. Оптимизирует производительность для low-end устройств. Внедряет CI/CD для мобильной разработки. Менторит команду.
API и интеграции · 4
Проектирует систему документирования API-интеграций iOS-приложения: автоматическая генерация из OpenAPI spec, version tracking и changelog. Создаёт architecture decision records для выбора API-паттернов, документирует стратегии кэширования и retry-логику. Поддерживает актуальность документации через интеграцию с CI/CD и contract tests
Проектирует real-time коммуникационный слой для iOS-приложения: абстракция над WebSocket с поддержкой различных протоколов (Socket.IO, Starscream). Реализует multiplexing каналов, управление подписками и оптимизацию трафика через delta-обновления. Интегрирует с Combine для реактивной обработки входящих событий и состояния соединения
Проектирует GraphQL-интеграцию для iOS-приложения: стратегия кэширования с cache policies, управление жизненным циклом watched queries. Оптимизирует производительность: batching запросов, persisted queries для уменьшения трафика и automatic query deduplication. Настраивает кастомные scalar types и interceptor chains для Apollo
Проектирует архитектуру сетевого слоя iOS-приложения: абстрактный APIClient с протоколами Endpoint, интерцепторы для логирования и аутентификации. Реализует retry-логику с exponential backoff, request/response middleware и мониторинг сетевых ошибок. Оптимизирует производительность через HTTP/2, request batching и предзагрузку данных
DevOps и CI/CD · 1
Проектирует оптимальный CI/CD пайплайн для iOS на GitHub Actions: параллельные джобы для линтинга, тестов и сборки, conditional workflows для разных веток. Настраивает self-hosted Mac-раннеры для ускорения, управляет секретами через GitHub Secrets для сертификатов. Внедряет автоматическое создание release notes и деплой через match + Fastlane
Тестирование и QA · 4
Проектирует систему интеграционного тестирования iOS-приложения: тестовые конфигурации для разных окружений, автоматическое управление тестовыми данными. Реализует contract-тесты для API-интеграций, тестирует пуш-уведомления и deep-linking сценарии. Настраивает параллельное выполнение тестов для ускорения CI/CD пайплайна
Проектирует стратегию мобильного тестирования iOS-приложения: матрица устройств и версий iOS, тестирование специфичных сценариев — memory warnings, background/foreground transitions, прерывания звонками. Настраивает автоматизацию через XCUITest с TestPlan для разных конфигураций, тестирует App Extensions, Widgets и Watch-компаньоны
Проектирует E2E-тестовый фреймворк для iOS-приложения: архитектура Page Objects, Robot Pattern для читаемости сценариев. Настраивает параллельный запуск UI-тестов на нескольких симуляторах, интегрирует с CI/CD для автоматического прогона. Реализует visual regression testing через сравнение скриншотов, обрабатывает flaky-тесты через retry-механизмы
Проектирует тестовую архитектуру iOS-приложения: фабрики тестовых данных, переиспользуемые моки и стабы через протоколы. Внедряет snapshot-тестирование UI через PointFree SnapshotTesting, parameterized tests для граничных случаев. Оптимизирует скорость выполнения тестов через правильную изоляцию и минимизацию I/O операций
Безопасность · 3
Проектирует безопасную архитектуру iOS-приложения: Data Protection API для файлов, Secure Enclave для криптоключей, App Groups с шифрованием для межпроцессного обмена. Реализует zero-trust подход к данным от сервера, sanitization всех внешних данных. Проводит code review с фокусом на безопасность, используя SAST-инструменты для Swift
Проектирует систему аутентификации iOS-приложения: абстрактный AuthManager с поддержкой нескольких провайдеров (Apple, Google, email). Реализует silent token refresh через интерцепторы URLSession, обрабатывает race conditions при одновременных запросах. Настраивает SSO через Shared Web Credentials, управляет миграцией между версиями auth-схемы
Интегрирует OWASP MASVS (Mobile Application Security Verification Standard) в процесс iOS-разработки: систематическая проверка по уровням L1 и L2. Проводит threat modeling для мобильного приложения, использует OWASP Mobile Security Testing Guide для пентестирования. Настраивает автоматические security-проверки в CI/CD и обучает команду безопасным практикам
AI-ассистированная разработка · 2
Интегрирует AI-инструменты в рабочий процесс iOS-разработки: автоматизация рутинных задач через промпт-шаблоны для генерации boilerplate-кода. Использует AI для архитектурных решений — анализ trade-offs между Core Data и SwiftData, выбор паттернов навигации. Критически оценивает AI-рекомендации с учётом deprecated API и Apple-специфичных best practices
Максимизирует эффективность Copilot для iOS-разработки: настройка контекста через .github/copilot-instructions.md с iOS-спецификой. Генерирует сложные конструкции — SwiftUI ViewModifiers, custom Property Wrappers и Combine-операторы. Критически оценивает предложения на соответствие Apple Human Interface Guidelines и актуальным Swift best practices
Архитектура и проектирование · 2
Проектирует масштабируемую архитектуру iOS-приложения: мультимодульная структура с чёткими зависимостями, feature-based организация с независимым development. Определяет стратегию навигации для сложных приложений, проектирует систему state management. Анализирует trade-offs между подходами (MVVM+C vs TCA vs VIPER) для конкретных бизнес-требований
Проектирует Clean Architecture для сложных iOS-приложений: модульные Use Cases с композицией, Repository с кэшированием и fallback-стратегиями. Определяет границы модулей через SPM с строгим контролем зависимостей, настраивает компиляцию модулей отдельно для ускорения. Реализует CQRS для разделения read/write операций, проектирует Domain Events для межмодульной коммуникации
Контроль версий и коллаборация · 2
Проводит глубокий code review с фокусом на архитектуру и масштабируемость iOS-приложения. Анализирует влияние изменений на производительность, безопасность и maintainability. Проверяет тестовое покрытие критических путей, соответствие Apple HIG и accessibility-требованиям. Наставляет junior-разработчиков через подробные ревью с объяснением Swift best practices
Проектирует Git-workflow для iOS-команды: branching strategy с учётом App Store review cycle и TestFlight-дистрибуции. Настраивает Git hooks для pre-commit проверок SwiftLint, автоматический version bumping при merge. Оптимизирует работу с большими iOS-проектами: sparse checkout для мультимодульных репозиториев, стратегия monorepo vs polyrepo для iOS-платформы
Performance Engineering · 1
Проектирует систему performance budgets для iOS-проекта: автоматические проверки в CI/CD через XCTest metrics, пороговые значения для разных устройств. Анализирует тренды производительности через Xcode Organizer и кастомные дашборды, настраивает алерты при деградации. Оптимизирует App Thinning: asset catalogs, on-demand resources и bitcode для минимизации размера
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Lead
51 навыков получают более высокое ожидание или становятся ключевыми при переходе с Senior на Lead. Сначала самые большие скачки.
- Алгоритмы и сложность: Продвинутый → Эксперт
- Асинхронное программирование: Продвинутый → Эксперт
- Документирование API: Продвинутый → Эксперт
- Интеграционное тестирование: Продвинутый → Эксперт
- Качество кода и рефакторинг: Продвинутый → Эксперт
- Многопоточное программирование: Продвинутый → Эксперт
- Мобильное тестирование: Продвинутый → Эксперт
- Основы System Design: Продвинутый → Эксперт
- Паттерны проектирования: Продвинутый → Эксперт
- Практики безопасного кода: Продвинутый → Эксперт
} в открытой матрице компетенций: 53 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.