Скидка на вакансию
Скидка на первую вакансию
Акция до 22 декабря
👀 Бэкендеры, зовем на Публичное собеседование на Хабр Карьере! Для участия нужно → оставить заявку
Артем Вичужанин (buragozuch), 27 лет, Россия, ИжевскАртем Вичужанин (buragozuch), 27 лет, Россия, Ижевск

Артем Вичужанин

Разработчик мобильных приложенийСредний (Middle)
От 300 000 ₽Не ищу работу

Контакты

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

Обо мне

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

Навыки

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

Опыт работы

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

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

    - Мигрировал SQLite БД на новую версию, в миграции было необходимо преобразовать данные в новый формат, также изменить одну из таблиц. Также были написаны юнит тесты, на изменения и на миграцию.
    - Реализовал автоматическую отправку сообщения о собранной версии приложения для тестирования в testflight в комментарии к задаче в трекере.

    - Настроил в gitlab CI/CD запуск swiftlint, собрал конфигурацию по codestyle внутри команды, использовал возможность удаленных конфигураций, чтобы использовать их на нескольких проектах, так же был настроен локальный запуск. Таким же образом настроил инструмент Periphery. Для удобного отображения результатов работы инструментов, преобразовал вывод в формат gitlab codeclimate, благодаря чему, ошибки подсвечиваются прямо в МР.

    - Добавил отображение в МР процента покрытия кода тестами и отображение в изменениях какие строки кода запускаются при тестах а какие нет.


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

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

    В мои задачи входило:

    • Оценка заказных проектов.
    • Уточнение требований, что можно реализовать, что нельзя.
    • Определение ограничений, общение с заказчиком.
    • Работа в качестве аутстафф сотрудника в других компаниях.

    Проекты:

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

    На проекте решал разного рода задачи, были задачи по реализации экранов приложения, целых фичей, инфраструктуры задачи, коммуникация с другими командами. Участие в планировании: уточнение ТЗ, разбор требований и последующее формирование задач и оценка трудозатрат. Из необычных и интересных задач: реализовал не блокирование телефона при активной загрузке контента. Автоматическое выключение просмотра тв канала, при неактивности пользователя заданное время, очень было интересно продумать как реализовать перехват различных событий: нажатия на экран, и на пульт для appleTV, смена ориентации, и чтоб все это работало надежно, даже при будущих изменениях в интерфейсе.

    - Участвовал во внедрении tuist. Успешно перенес главный таргет на турист.
    - Писал скрипты автоматизации на bash, один из примеров это обновления версии "tuist", с последующим созданием ветки и коммита.
    - Есть опыт работы с KMM и GrapQL. Использовали для сетевого слоя, который работал с технологией GraphQL. Успешно реализовал несколько сетевых запросов.
    - Поработал с разными видами реализации UI, поддерживал iPhone и iPad , также и для appleTV: новые экраны верстал, где возможно на swiftUI, или кодом. Также приходилось работать со xib и с storyboard.
    - Исправлял легаси код на objective-c.
    - Принял участие в реализации фичи «Мое» на двух платформах: iOS, tvOS. Реализовал список загрузок и сетевое взаимодействие с сервером. Получил опыт работы с focus’ом на tvOS.
    - Плотно работал с combine. Использовал его для сетевых запросов, за наблюдением за переменными, за состояниями приложения.
    - Все новые фичи закрывались фича-флагами и удаленно управлялись через firebase, в процессе работы часто приходилось создавать новые флаги в приложении и в firebase, также удалять уже старые неиспользуемые.
    - Работал с webview, реализовал обработку действий и интеграцию с js кодом страницы.
    - Поработал с модулем загрузок контента, исправлял различные ошибки, добавлял новые поля в сущности CoreData, а также с загрузками HLS контента в фоне. Исправил неверно формировавшиеся логи загрузок, в результате получил достоверную аналитику и улучшил показатели успешных загрузок.
    - С многопоточностью работал с помощью GCD, в новых модулях уже использовал Swift Concurrency.
    - Основным менеджером зависимостей был SPM, но для некоторых старых модулей использовался cocoapods.
    - Работали командами по 10 человек, использовали методологию Agile, с двухнедельными спринтами. Приходилось общаться с другими командами, и бизнес-юнитами, для решения задач. Благодаря этому, сильно прокачались навыки работы в команде.
    - В команде работали с git, используя модель git-flow, потом переехали в Arcadia(собственная VCS), там использовался подход Trunk Based Development. При переезде приходилось переносить часть веток, которые были в работе, пользоваться rebase'ом и другими инструментами, это дало много новых полезных знаний и умений в работе с git.

    Стек: 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 и успешно снизил количество крашей приложения.
    - Добавил 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. В конце обучения было готовое приложение в которм можно было посомтреть персонажей, места и серии, сериала рик и морти.