Senior iOS Developer
Wiam.group
Мы ищем опытного Senior iOS Developer, который усилит нашу команду разработки мобильных продуктов. Нам нужен инженер, способный не только писать чистый нативный код, но и находить нестандартные гибкие решения (включая PWA-технологии) для обеспечения бесперебойного доступа пользователей к нашим сервисам. Вы будете отвечать за весь жизненный цикл приложений — от архитектуры до релиза в App Store, активно используя современные AI-инструменты для ускорения разработки.
Основные функции и обязанности (Key Responsibilities)
- Разработка и проектирование архитектуры: Разработка высоконагруженных и надежных iOS-приложений на базе однонаправленной архитектуры (Unidirectional/Reducer) и SwiftUI.
- Работа с PWA и WebView: Сборка, кастомизация и дистрибуция Progressive Web Apps (PWA) под iOS, создание защищенных контейнеров (WKWebView), настройка JS-to-Native мостов.
- Интеграция сторонних SDK: Настройка и глубокая интеграция системы мобильной аналитики, атрибуции и диплинкинга AppsFlyer, а также реализация сложных сценариев Push-уведомлений (Rich/Silent Push).
- Жизненный цикл ПО и релизы: Полное сопровождение процессов публикации, обновления и прохождения ревью в App Store. Митигация рисков блокировок приложений (Cloaking, динамическая подмена контента).
- AI-driven разработка: Активное внедрение и использование LLM-моделей (ChatGPT, GitHub Copilot и др.) для генерации кода, оптимизации рефакторинга, автоматического написания документации и ускорения код-ревью.
Профессиональные компетенции и требования (Requirements)
Опыт и базовые навыки:
- Коммерческий опыт: От 3-х лет подтвержденного опыта создания продакшн-приложений для iOS на языке Swift, наличие успешно выпущенных продуктов в App Store.
- Экспертный SwiftUI: Создание сложных кастомных компонентов исключительно в коде (без использования Storyboards).
Архитектура и многопоточность:
- Глубокое знание TCA: Доказанный практический опыт работы на уровне продакшна с архитектурой The Composable Architecture (TCA) и экосистемой Point-Free (swift-dependencies, case-paths, snapshot-testing) ИЛИ аналогичный глубокий опыт работы с другой однонаправленной архитектурой плюс четкий план быстрого освоения TCA.
- Строгий Swift 6 Concurrency: Отличные знания многопоточности в условиях strict checking: async/await, actors, структурированная многопоточность (TaskGroup), протокол Sendable, кооперативная отмена и дисциплина Вы должны понимать безопасность данных при параллельном доступе (data-race safety) на уровне логики, а не только синтаксиса.
Тестирование, сеть и безопасность:
- Культура Test-First: Истинная дисциплина написания тестов. Умение писать фейки (fakes) для зависимостей; отношение к непротестированному коду как к незавершенному. Уверенное владение Swift Testing, XCTest/XCUITest и снэпшот-тестированием.
- Профессиональная работа с сетью: Использование URLSession совместно с async/await, управление стратегиями кодирования/декодирования JSON, надежная обработка и маппинг ошибок HTTP, реализация паттернов отказоустойчивости и повторных запросов (retry patterns).
- Безопасность iOS (Security): Знание основ безопасности iOS: работа с Keychain (Security.framework), безопасная обработка токенов и развитое чутье на то, какие данные категорически нельзя сохранять на устройстве или логировать.
Что будет плюсом (Nice to have)
- Инструменты AI (LLM): Практический опыт использования больших языковых моделей (LLM) как повседневного ассистента инженера: для ускорения написания кода, автодокументирования (Swagger, Markdown, Confluence), написания юнит-тестов и анализа багов.
- Глубокое понимание подсистем WKWebView / WebKit: Опыт работы на уровне internals — управление куками (WKHTTPCookieStore), изоляция данных (WKWebsiteDataStore), а также кастомная обработка заголовков Set-Cookie и жизненного цикла сессий.
Рабо