Артем Вичужанин (buragozuch), 28 лет, Россия, ИжевскАртем Вичужанин (buragozuch), 28 лет, Россия, Ижевск
Разработчик мобильных приложенийСредний (Middle)
От 350 000 ₽Рассмотрю предложения

Контакты

Войти
Возраст: 28 лет
Опыт работы: 5 лет и 1 месяц
Регистрация: 10.12.2023
Последний визит: 4 дня назад
Местоположение: Россия, Ижевск
Дополнительно: готов к удаленной работе

Обо мне

Опытный iOS-разработчик с более чем 4 годами опыта в разработке мобильных приложений под платформу iOS. Участвовал в создании и развитии крупных проектов, включая приложение "Кинопоиск" для iOS и tvOS.

Мои ключевые компетенции:

Глубокие знания Swift, Objective-C, SwiftUI, UIKit.
Опыт работы с архитектурами MVVM, VIPER, MVC.
Использование современных технологий: Combine, Swift Concurrency, KMM, GraphQL.
Работа с базами данных: Core Data, SQLite.
Настройка CI/CD процессов, внедрение статического анализа кода SwiftLint и Periphery.
Опыт автоматизации с использованием скриптов на Bash и Groovy.

В ходе моей карьеры я:

Мигрировал базу данных SQLite на новую версию с преобразованием данных и структур таблиц.
Оптимизировал процессы разработки, настроив интеграцию GitLab с внутренним трекером задач.
Внедрил инструменты статического анализа кода.
Реализовал ключевые функции в высоконагруженных приложениях, улучшив пользовательский опыт и производительность.
Мне нравится работать в командах, где ценится открытость к новым идеям и постоянное развитие. Имею опыт работы по методологиям Agile в кросс-функциональных командах, активно взаимодействую с коллегами и заинтересованными сторонами для достижения общих целей.

В свободное время изучаю новые технологии и фреймворки.

Навыки

Swift
Git
Agile
CoreData
MVVM
SOLID
UIKit
SwiftUI
Objective-С
GCD

Опыт работы

  • Ведущий российский разработчик ПО
    ЕкатеринбургОт 1000 до 5000 сотрудников
    Разработчик мобильных приложений (Средний)iOS разработчик
    Февраль 2024 — По настоящее время (1 год и 2 месяца)

    Разработка мобильного приложения SMP и SDK для чата поддержки.

    - Мигрировал SQLite БД на новую версию, преобразовал данные в новый формат, изменил структуры таблиц. Написал юнит-тесты для проверки изменений и миграции.
    - Настроил интеграцию GitLab с внутренним трекером задач: реализовал автоматическую отправку сообщений о собранной версии приложения для тестирования в TestFlight в комментарии к задаче.
    -Настроил запуск pipeline'ов из трекера и уведомления о неуспешных сборках через скрипты на Groovy.
    - Внедрил статический анализ кода: настроил запуск SwiftLint в GitLab CI/CD, собрал codestyle команды, использовал фичу remote config для переиспользования линтера на нескольких проектах.
    - Настроил инструмент Periphery для выявления неиспользуемого кода с выводом в формате GitLab CodeClimate.
    - Добавил отображение в Merge Request процента покрытия кода тестами и визуализацию строк кода, покрытых тестами.

  • Девелоника
    Москва
    Разработчик мобильных приложений (Средний)IOS разработчик
    Февраль 2022 — Декабрь 2023 (1 год и 11 месяцев)

    Работа в аутсорсинге и аутстафинге.

    Проекты:

    Участие в разработке приложения "Кинопоиск" для iOS и tvOS:

    Работа в аутсорсинге и аутстафинге.

    Проекты:

    Участие в разработке приложения "Кинопоиск" для iOS и tvOS:
    - Реализовывал новые экраны и функциональность приложения, занимался инфраструктурными задачами, взаимодействовал с другими командами.
    - Реализовал функцию предотвращения блокировки телефона при активной загрузке контента и автоматическое выключение просмотра ТВ-канала при неактивности пользователя. Решение требовало продуманной обработки различных событий (нажатия на экран, использование пульта Apple TV, смена ориентации) для надежной работы.
    - Внедрил Tuist и перенес главный таргет на новую систему сборки.
    - Писал скрипты автоматизации на Bash для обновления версий Tuist с последующим созданием веток и коммитов.
    - Работал с KMM и GraphQL, успешно реализовал несколько сетевых запросов.
    - Разрабатывал интерфейсы для iPhone, iPad и Apple TV, используя SwiftUI, XIB и Storyboard и через код.
    - Исправлял легаси-код на Objective-C.
    - Реализовал фичу "Мое" для iOS и tvOS: создавал список загрузок, настроил сетевое взаимодействие, получил опыт работы с фокусом на tvOS.
    - Активно использовал Combine для сетевых запросов и наблюдения за состояниями приложения.
    - Внедрял фича-флаги и удаленное управление функциями через Firebase Remote Config.
    - Работал с WebView, реализовал обработку действий и интеграцию с JavaScript-кодом страницы.
    - Оптимизировал модуль загрузок контента, исправил ошибки, добавил новые поля в Core Data, улучшил логи загрузок, что привело к достоверной аналитике и повышению успешности загрузок.
    - Работал с многопоточностью с помощью GCD и Swift Concurrency.
    - Перешли на использование SPM как основного менеджера зависимостей, для старых модулей использовался CocoaPods.
    - Работал по методологии Agile в командах по 10 человек с двухнедельными спринтами, активно взаимодействовал с другими командами и бизнес-юнитами.
    - Перешли с Git на Arcadia (собственная VCS), использовали подход Trunk Based Development, перенес часть веток, приобрел новые знания и умения в работе с системами контроля версий.

    Стек: swift, objc, SwiftUI, MVVM, VIPER, Combine, Kingfisher, Alamofire, URLSession, KMM, GraphQL, Swift Concurrency, Firebase, Remote configs, Core Data

    Разработка MVP-приложения двухфакторной авторизации для геоинформационного сервиса (NDA):

    Написал приложение из 4 экранов с архитектурой MVP. Главное ограничение проекта - это не использовать сторонние библиотеки.
    - Верстка экранов кодом. Хранение токенов в keychain, уведомления имели возможность выбора действий и их обработки, не входя в приложение. Использовал AVFoundation для считывания QR-кодов.
    - В качестве менеджера зависимостей использовался cocoapods.

    Стек: AVFoundation, swift, URLSession, Swift Concurrency, Rich Notification, UserDefaults, Keychain, MVP

    White Label приложение (NDA):

    Внутренний проект, таргет ios 16+
    Реализация пары экранов, для демонстрации концепции.
    - Интерфейс и навигация полностью на SwiftUI, архитектура MVVM с добавлением концепций UDF, вью получает от модели состояние, а вью может вызвать у вью модели одну единственную функцию по обработке действий, которые определены во вью модели, больше взаимосвязей между ними нет.

    Стек: swiftUI, Swift Concurrency, MVVM

  • ИП Павлов Сергей Николаевич (GreyWeb)
    Разработчик мобильных приложений (Младший)iOS разработчик
    Август 2021 — Декабрь 2021 (5 месяцев)

    GreyWebs VPN:
    Работа над приложением для создания VPN соединения.
    Также занимался выкладкой приложения в AppStore и отвечал на вопросы при проверке приложения и исправлял замечания.
    - Внедрил Crashlytics и снизил количество сбоев приложения, увеличив показатель Crash Free с 60% до 94,7%.
    - Добавил remote configs
    - Переделал экраны под новый дизайн

    Стек: swift, MVC, NetworkExtension, Firebase, Remote Configs

    Rick and Morty pet-project:

    Это учебный проект, для закрепления теоретической информации. Делал его во время прохождения курса "ios разработчик" в учебном центре Девелоники. В результате меня взяли на стажировку. Код можно найти в моем гитхабе.
    Реализация приложения для просмотра информации о сериале RickAndMorty. Данные берутся по REST API из rickandmortyapi.com

    Использую карту для проставления отметок мест где было запущенно приложение, сделал для того, чтобы попробовать интегрировать карты в приложение.

    Стек: Storyboard, MVC, Core Location, Core Data, Google Maps, SPM

  • ООО "Ирз-локомотив"
    Ижевск
    Техник-конструктор 1 категории
    Август 2018 — Февраль 2020 (1 год и 7 месяцев)
    • Работал над исправлением ошибок в приложении, с помощью которого выполнялось подключение к устройствам по com-порту и их диагностика, настройка, обновление ПО. 
    • Также вел документацию на свои разработки.
    • Приложение написано на Delphi, также использовался с++ builder
    • Программировал микроконтроллер миландр, результатом был отчет о возможности замены им импортных контроллеров, писал код на С.

Высшее образование

  • ИжГТУ им. М.Т. Калашникова

    Ижевский государственный технический университет имени М.Т. Калашникова
    Информатики и вычислительной техники
    Сентябрь 2019 — Июль 2021 (1 год и 10 месяцев)

    Обучался проектированию систем телекоммуникации, построению легко масштабируемых систем коммуникаций, выделению адресов,  настройке роутеров и маршрутизаторов, а также администрированию рабочих мест, на базе windows и linux. В этот период написал простенькое приложение для обмена сообщениями, в качестве бекэнда использовал firebase.

    Информатики и вычислительной техники
    Сентябрь 2015 — Июль 2019 (3 года и 10 месяцев)

    Нас обучали написанию ПО,  взаимодействию с операционными системами, работы с базами данных на примере MySQL. Но также нас обучали устройству Компьютера, процессора, его элементной базы. Как процессор производит вычисления и исполняет команды. Обучали проектированию плат, а также способам их изготовления. В процессе обучения я впервые познакомился с языком swift, и IDE Xcode, в тот момент как раз вышел фремворк ARKit, и я попробовал с его помощью написать простое приложение, которое в поле зрения находит специальные метки и на эту плоскость рисует трех-мерный объект.

Дополнительное образование

  • УЦ "Центр Высоких Технологий"

    iOS разработчик
    Сентябрь 2022 — Ноябрь 2022 (2 месяца)

    Обучение было базовым навыкам для iOS разработки, в основами по git и xcode, также затрагивались темы про публикацию приложений. В течении всего обучения, у нас был проект. Для проекта дизайнером были нарисованы экраны в figma, которые мы реализовывали. Бекендом выступал бесплатный сайт по сериалу рик и морти. Взаимодействие с ним было через REST API. В конце обучения было готовое приложение в которм можно было посомтреть персонажей, места и серии, сериала рик и морти.