lexkraevlexkraev

Александр Краев

iOS разработчик · Приложения · Разработка ПО
Не ищу работу
Возраст: 31 год
Опыт работы: 9 лет и 1 месяц
Регистрация: 09.07.2020
Последний визит: 1 день назад
Профессиональные навыки: Разработка под iOS · Swift · Mvvm · Redux · Gcd · Solid · Git · HTTP · C# · SQL
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Являюсь разработчиком с 2010 г. Длительное время работал .Net разработчиком в компании. С февраля этого года решил перейти в мобильную разработку, что всегда являлось хобби. Разрабатываю на современном стэке под iOS: SwiftUI, Combine на MVVM слоистой архитектуре, с внедрением FLUX/Redux, сервисов. Регулярно читаю статьи в Medium, в частности, Майкла Лонга. Слежу за блогами Вадима Булавина, Пола Хадсона, Рэя Вендерлиха, Антуана Вана Дер Ли, Маджида Джабраилова. Состою в коммьюнити iOS-разработчиков в telegram.
Умею разбираться в чужом коде и писать код‚ понятный другим участникам команды. 
Увлекаюсь баскетболом, гитарой, сноубордом.
Тип личности по MBTI: ISTJ-A.

Опыт работы

  • Онлайн-гипермаркет
    Москва · От 1000 до 5000 сотрудников
    iOS разработчик
    Сентябрь 2020 — По настоящее время (2 месяца)
  • Частная практика, работа без зачисления в штат
    Москва · От 1000 до 5000 сотрудников
    IOS разработчик
    Февраль 2020 — Август 2020 (7 месяцев)

    Разработка приложений на современном стэке iOS: SwiftUI, Combine, используя слоистую MVVM архитектуру с внедрением сервисов в виде отдельных модулей через SwiftPM.
    Разработка через кодогенерацию.
    Внедрение зависимостей, используя, в том числе, Service locator.
    Реализация и внедрение Flux части Redux как дополнение к MVVM.
    Реализация AppExtension.
    Работа с GCD, создание внутренней системы тасков.
    Разработка через POP.
    Сохранение состояния приложения. 
    Внедрение CoreData, Realm.
    Работа с KMM, создание кросс-платформенного SDK (общий сетевой слой с Android), пример реализации: https://github.com/c-villain/WeatherMP.
    Публикация приложения через AltStore.
    Работа с Mac Catalyst, перенос приложения на macOS.
    Знание и применение паттернов программирования. Создал репозиторий с кратким описанием GoF-овских паттернов и примерами на языке Swift: https://github.com/c-villain/GoFPatterns.
    Применение SOLID, GRASP и других принципов: KISS, DRY/DIE, YAGNI, BDUF, SoC.

    Pet-projects: 
    https://github.com/c-villain/CovidStatApp
    https://github.com/c-villain/PhotoJoiner

    IOS разработчик
    Март 2014 — Сентябрь 2014 (7 месяцев)

    Разработка приложения - словесный игры "Каркас".
    Алгоритм игры:
    А. Ввести имена игроков;
    B. Выбрать 2–4 согласные буквы или дать приложению сделать случайный выбор за вас. Это будет каркас. Например, К, З и Н;
    C. Добавляя любое количество гласных к согласным, составлять слова с устройством или живым противником. Например, ЗНаК, НаКаЗ и другие.
    D. Игроки вводят слова по очереди, общее время обдумывания ходов каждого из игроков может быть ограничено. Если один из участников не может придумать следующее слово, он может сдаться. Оставшиеся игроки продолжают игру.

    Пример кода: https://github.com/c-villain/Carcas
    Ссылка на App Store: https://apps.apple.com/ru/app/id956286203
    Использовал: Objective C, UIKit.

  • Областная администрация г. Москвы, Департамент информатизации
    Москва
    Senior C# разработчик, программист SQL
    Август 2016 — Февраль 2020 (3 года и 7 месяцев)

    - разработка на основе технологии .Net (C#)
    - использование библиотек DevExpress для WinForms
    - использование средств коллективной разработки
    - разработка баз данных (создание таблиц, представлений, ключей, индексов; понимание нормализации данных)
    - разработка на основе T-SQL (написание хранимых процедур, триггеров, функций и т.д.)
    - разработка через Unit-тестирование
    - разработка через кодогенерацию
    Достижения: разработка корпоративной СЭД, разработка автоматической регистрации исходящей документации, модулей отслеживания маршрута документов, разработка и внедрение АСИП в части, касающейся защиты государственной тайны, разработка модулей в корпоративную HR-платформу, внедрение отдельного модуля классификации адресов РФ на основе ФИАС со своей доработкой.

  • Транскон Рус
    Москва
    iOS разработчик
    Октябрь 2013 — Сентябрь 2014 (1 год)

    Разработка приложения "Под замком", позволяющего безопасно (алгоритм шифрования: AES-256) хранить на iOS - устройствах следующие данные:
    - пароли и логины к любым интернет-сайтам;
    - данные документов: паспорта, банковской карты, счета в банке;
    - заметки;
    - все из перечисленных данных можно дополнить комментариями и/или фотографиями.
    Использовал: Objective C, UIKit, SQLite (база данных в шифрованном виде), Keychain (хранение ключа для доступа к приложению, он же являлся ключом шифрования. Была идея вместо самого ключа хранить его хэш, чтобы исключить потенциальную уязвимость доступа к Keychain, но тогда пришлось бы "пожертвовать" "бесключевым" доступом к приложению), Dropbox SDK (для сохранения БД и синхронизации с другими устройствами).
    Пример кода: https://github.com/c-villain/podZamkom
    Впоследствии права на приложение и код были проданы, тогда же получил первый опыт как Product Manager.

  • ФКУ (госсектор)
    Москва
    C# разработчик
    Октябрь 2011 — Сентябрь 2016 (5 лет)

    - разработка на основе технологии .Net (C#)
    - разработка баз данных 
    - работа со средствами защиты информации
    Достижения: разработка отдельных модулей в корпоративной СЭД, разработка клиент-серверного механизма взаимодействия на основе протокола Kerberos

    C# · SQL

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

  • ИКСИ АФСБ

    Институт криптографии, связи и информатики академии ФСБ России
    Информационной безопасности
    Сентябрь 2006 — Июнь 2011 (4 года и 9 месяцев)

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

  • Stanford

    Stanford curses, Developing Applications for iOS using SwiftUI. CS193p
    Июль 2020 — По настоящее время (3 месяца)
  • OTUS

    Авторские онлайн‑курсы для профессионалов
    iOS Разработчик. Продвинутый курс v 2.0
    Февраль 2020 — По настоящее время (8 месяцев)