Оставьте заявку, мы подберем для вас подходящего специалиста за 48 часов!
Акбар У. MacOS разработчик, Middle+

Акбар У. - MacOS разработчик

ID 7801
АУ
Акбар У.
Мужчина, 24 года
Россия, Москва, UTC+3
Ставка
2,500 Р/час
НДС не облагается
Специалист доступен с 1 октября 2023 г.

Добавьте подходящих специалистов в список и оформите заявку для предварительного бронирования времени специалистов. После оформления заявки ваш персональный менеджер организует прохождение всех необходимых проверок с вами и каждым кандидатом из заявки. Специалист привлекается к проекту только после окончательного подтверждения его выхода с вашей стороны.

Подробнее
О специалисте
Специализация
MacOS разработчик
Грейд
Middle+
Навыки
Swagger UI
Swift
UI Kit
Combine
Отрасли
Travel, Hospitality & Restaurant business
Знание языков
Русский — C1
Английский — B1
Главное о специалисте
НАВЫКИ И КОМПЕТЕНЦИИ Swift, SwiftUI, UIKit, RxSwift, SQL, Combine, Data Persistence, SnapKit, NSAutoLayout, GCD, HealthKit, AVFoundation, CoreLocation, CoreData, CoreAnimation, YandexMapKit, CocoaPods, MVP+C, MVC, MVVM, MVVM+C, VIPER, GCD, Xcode Debugger, REST, SOLID, DRY, KISS, YAGNI, Clean Architecture, GitHub, Gitlab, Bitbucket Одной из самых сложных и в то же время интересных задач, с которыми пришлось столкнуться в последнее время - реализация построения альтернативных маршрутов и отображения их на карте. Основной проблемой являлось то, что каждый запрос к API карт являлся платным. Усложнялось все тем, что построение маршрутов могло отрабатывать и в обратную от направления сторону. Более того, нужно было фильтровать необходимые для построения маршрута места. Также, сервер мог вернуть условно небольшое количество мест, поэтому приходилось подстраиваться и под это. В качестве решения были использованы прямые и обратные геодезические задачи и рекурсивные функции с применением Modern Concurrency. Дополнительной сложностью являлось то, что API карт работает на UIKit и нужно было постоянно обновлять маршруты в зависимости от действий пользователя. Особенность работы с UIViewControllerRepresentable не позволяет вызывать необходимые методы только тогда, когда нам это нужно. К тому же вся работа с картами должна постоянно отслеживать изменения. Куда хочется развиваться: больше хотелось бы развиваться технически. Задачи больше хотелось бы решать архитектурного плана. Какими задачами хотелось бы заниматься: с одной стороны, хотелось бы больше прикладных задач, связанных с современным, нативным и активно развивающимся стеком, но в то же время, очень важны задачи, которые требуют изучения новых технологий или нетривиальных подходов к решению С какими не хотелось бы: Задачами, которые далеки от моей компетенции, чтобы выполнить их качественно.
Проекты   (4 года 6 месяцев)
РуГид
Роль
iOS developer
Обязанности
● Написание приложения с нуля + управление командой разработчиков ● Отрисовка UI большинства экранов ● Реализация кастомных UI ● Реализация построения альтернативных маршрутов и кластеризации ● Работа с push-уведомлениями ● Построение клиент-серверного взаимодействия ● Устранение багов и рефакторинг ● Участие в code-review
Период работы
Август 2022 - По настоящее время  (1 год 3 месяца)
X5 Group, Пятерочка
Роль
iOS developer
Обязанности
● Реализовал экран с разделом "Избранное" ● Реализовал интеграцию нативного варианта оплаты SberPay ● Реализовал переход на SwiftUI и архитектуру MVVM на экране корзина ● Участие в code-review
Период работы
Июль 2021 - Июль 2022  (1 год 1 месяц)
NDA
Роль
iOS developer
Обязанности
Написание приложения с нуля ● Работа с push-уведомлениями ● Реализация внутренних и внешних диплинков ● Участие в code-review ● Реализация сложных UI ● Устранение багов
Период работы
Май 2020 - Июнь 2021  (1 год 2 месяца)
Формат работы
Формат работы
Удаленно
Командировки
Не готов
Релокация
Не готов
Готов работать на зарубежных проектах
Нет
Образование
Высшее
Учебное заведение
Университет ИТМО, Санкт-Петербург
Специальность
кафедра системного программирования по специальности программная инженерия
Завершение учебы
2017 г.

Похожие специалисты

Marketing, Advertising & Design
АШ
Александр Ш.
Стрежевой
MacOS разработчик
Middle+
2,750 Р/час
Swift
UI Kit
Swagger UI
Combine
+4

Самая технически сложная и интересная задача: Одной из самых интересных задач, с которыми пришлось столкнуться это реорганизация существующего подхода к инъекции зависимости (DI). На проекте DI была реализована только местами и достаточно тривиально, так же усложняло задачу то, что код был написан на swiftUI. Мною было принято решение организовать это следующим образом: - Инъекцию сервисов сделать через самописный @propertyWrapper; - Взаимодействие и контроль экземпляров поручить написанной сущности – ServiceLocator; - Сборку осуществлять в сущности - Configurator; - Configurator с его необходимым методом для сборки поместить в инициализатор appDelegate; - Для сущностей внутри структур (речь про viewModel), инъекцию сделать на этапе сборки, также контролировав, количество экземпляров (синтаксис немного отличается от привычного UIKit, так как приходится использоваться нужные propertyWrapper в нужных местах, но принцип тот же). Таким образом, мы контролируем количество экземпляров для всех сервисов, и viewModel. Куда хочется развиваться: В первую очередь планирую развиваться технически. С какими задачами хотелось бы работать: Хотелось бы время от времени сталкиваться с задачами которые требуют изучения новых технологий или нетривиальных или шаблонных подходов к решению задач. С какими не хотелось бы: Не хотелось бы писать однообразный UI и шаблонный код на постоянной основе.

Подробнее

Недавно просмотренные специалисты

Travel, Hospitality & Restaurant business
АУ
Акбар У.
Москва
MacOS разработчик
Middle+
2,500 Р/час
Swift
Combine
UI Kit
Swagger UI
+4

НАВЫКИ И КОМПЕТЕНЦИИ Swift, SwiftUI, UIKit, RxSwift, SQL, Combine, Data Persistence, SnapKit, NSAutoLayout, GCD, HealthKit, AVFoundation, CoreLocation, CoreData, CoreAnimation, YandexMapKit, CocoaPods, MVP+C, MVC, MVVM, MVVM+C, VIPER, GCD, Xcode Debugger, REST, SOLID, DRY, KISS, YAGNI, Clean Architecture, GitHub, Gitlab, Bitbucket Одной из самых сложных и в то же время интересных задач, с которыми пришлось столкнуться в последнее время - реализация построения альтернативных маршрутов и отображения их на карте. Основной проблемой являлось то, что каждый запрос к API карт являлся платным. Усложнялось все тем, что построение маршрутов могло отрабатывать и в обратную от направления сторону. Более того, нужно было фильтровать необходимые для построения маршрута места. Также, сервер мог вернуть условно небольшое количество мест, поэтому приходилось подстраиваться и под это. В качестве решения были использованы прямые и обратные геодезические задачи и рекурсивные функции с применением Modern Concurrency. Дополнительной сложностью являлось то, что API карт работает на UIKit и нужно было постоянно обновлять маршруты в зависимости от действий пользователя. Особенность работы с UIViewControllerRepresentable не позволяет вызывать необходимые методы только тогда, когда нам это нужно. К тому же вся работа с картами должна постоянно отслеживать изменения. Куда хочется развиваться: больше хотелось бы развиваться технически. Задачи больше хотелось бы решать архитектурного плана. Какими задачами хотелось бы заниматься: с одной стороны, хотелось бы больше прикладных задач, связанных с современным, нативным и активно развивающимся стеком, но в то же время, очень важны задачи, которые требуют изучения новых технологий или нетривиальных подходов к решению С какими не хотелось бы: Задачами, которые далеки от моей компетенции, чтобы выполнить их качественно.

Подробнее