Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.
iOS-разработчик с 7-летними опытом коммерческой разработки из которых четыре года опытом в роли ведущего специалиста. Большой опыт по разработке приложений для социальных сетей, государственного сектора и медиа. Обладаю высокой производительностью и умею решать сложные нетривиальные задачи. Готов к выполнению тестового задания.
Обладаю навыками работы с легаси на Objective-C и Swift ранних версий, знаком с паттернами проектирования, основными алгоритмами и методологией Agile. Разумеется обязательное использование Git и Jira, Xcode instruments, а также инструментами тестирования и оптимизации производительности. Подготовка проектов к релизу в т.ч. подготовка билдов для загрузку в консоль разработчика для публикации.
Проекты
(7 лет 9 месяцев)
AntiLand - AntiChat
Роль
iOS Lead
Обязанности
Приложение социальная сеть Анонимный чат с аудиторией 500 000 пользователей.
• Ведущий iOS разработчик;
• Координация команды из 3 человек;
• Публикация и обновление приложения в AppStore. Создание тестовых сборок на TestFlight. Работа с Apple Developer Certificates (обновление в проекте);
• Опыт работы с метриками и оптимизации производительности высоконагруженных приложений;
• Xcode Instruments (Allocations, Leaks, CPU Profiler, Zombies, Time Profiler);
• Решение проблем многопоточности, так как приходилось работать c данными из разных источников (Realm + webSocket)/(CoreData+Pubnub) изменять данные и синхронизировать в реальном времени с сервером/другими клиентами. Нужно было следить чтобы работа с БД и работа в UI происходила корректно. Планировался внедрение Swift concurrency для оптимизации асинхронных операций, но из-за низкой минимально поддерживаемой версии iOS (target version 12.0), эта задача была отложена.
• Понимание паттернов проектирования и правильное их использование, на проекте использовался MVP, MVVM;
• Верстка с использованием SnapKit, который предоставляет синтаксический сахар и обертки для более удобной работы с Constraints. Пытались использовать SwiftEasyLayout, но на проекте не прижилось, т.к SnapKit показался удобнее. Также был опыт использования PinLayout, который под капотом уже не имеет auto layout. Практически на всех проектах приходилось работать с UIKit. Умею работать со storyboard/xib, но в последнее время стараюсь верстать UI кодом с помощью различных фреймворков или с использованием стандартных инструментов, если UI простой, а фреймворки не добавляли в проект.
• С основными паттернами проектирования знаком и использую, согласно выбранным паттернам на конкретных проектах;
• Знание основных алгоритмов и структур данных и их применение. Знаком с основными алгоритмами, использую реализацию из стандартных или популярных фреймворков;
• Снапшоты тесты для тестирования пользовательского интерфейса с использованием XCUITest.
Основные задачи на проекте: Развитие и поддержание работоспособности приложения. Имплементация нового функционал, оптимизация и рефакторинг.
Достижения
• Разработка продукта которым пользуются более 500 тыс. человеr;
• Верстка кастомных элементов (Попапы, кнопки, пикеры);
• Интеграция REST API, pub/sub network, push notifications, deeplinks, разработка чата, аналитик;
• А/Б тестирование, работа с потоками, микросервисная разработка;
• декомпозиция задач, управление командой.
Стек специалиста на проекте
Управление командой, Работа с интеграциями, SnapKit, AVFoundation, SwiftUI, AVkit, Combine, CallKit, Firebase, MVP, layout, Pub/Sub, Storyboard/XIB, Firebase A/B Testing, Swift, Push Notifications, GCD, Аналитика, Deep Links, REST API, Декомпозиция и структуризация задач, Core Graphics, DifferenceKit, MVVM
Отрасль проекта
Social Networking
Период работы
Январь 2021 - По настоящее время
(4 года 7 месяцев)
Госуслуги (секции Здоровье, Авто)
Роль
iOS разработчик
Обязанности
• верста UI (SnapKit);
• верстка кастомных элементов (Попапы, кнопки, пикеры ...);
• интеграция REST API, websocket;
• push notifications;
• deeplinks;
• микросервисная разработка;
• декомпозиция задач;
• управление командой (1-3 человека);
• интеграция HealthKit (чтение данных).
• сеть RXMoya
• загрузка билдов для тестирования в TestFlight
Достижения
Первый опыт управления командой. Декомпозиция задач и распределение между разработчиками.
Стек специалиста на проекте
RxSwift, Swinject, SnapKit, Swift 5, CI/CD, healthkit, RxMoya, MVVM Architecture
Отрасль проекта
Government & Public Sector
Период работы
Май 2020 - Декабрь 2020
(8 месяцев)
Dimusco
Роль
Ведущий iOS разработчик
Обязанности
Электронная партитура для оркестров. С возможностью синхронного редактирования.
- Обновление интерфейса,
- Вся бизнес-логика построена на рисовании в различных слоях (CoreGraphics, Apple Pencil),
- Синхронизация с сервером через Websocket,
- Работа с локальной БД (Realm).
- Поддержка и разработка нового функционала на постоянной основе.
- Загрузка билдов для публикаций версий в AppStore.
- Был довольно большой опыт работы с Realm в рамках этого проекта. Было необходимо сохранять музыкальные партитуры, на которые можно было добавлять различные символы, рисовать, добавлять слои для рисования и т.д. Также необходимо было эти все данные синхронизировать между сервером и клиентами посредством WebSocket и отображать их.
Стэк:
- Swift;
- CoreGraphics;
- Apple Pencil;
- Websocket;
- Realm;
- Alamofire;
- XIB\Storyboards;
- CocoaPods.
- Provisioning Profile
Ссылка: https://apps.apple.com/ru/app/dimusco/id1611031984?l=en-GB
Достижения
Был довольно большой опыт работы с Realm в рамках этого проекта. Было необходимо сохранять музыкальные партитуры, на которые можно было добавлять различные символы, рисовать, добавлять слои для рисования и т.д. Также необходимо было эти все данные синхронизировать между сервером и клиентами посредством WebSocket и отображать их.