Главная страница
Навигация по странице:

  • Сколько времени нужно для обучения

  • Изучаем основы программирования

  • Изучаем Swift на базовом уровне

  • Учимся работать с дизайном

  • Учимся работать c консолью

  • Учимся работать c архитектурами

  • Учимся работать c многопоточностью

  • Изучаем ООП и принципы программирования

  • Изучаем правила оформления кода

  • Изучаем алгоритмы и структуры данных

  • Изучаем менеджеры зависимостей

  • Изучаем работу с хранением данных

  • Изучаем работу с UI/UNIT тестами

  • Какие курсы можно проходить

  • Как найти единомышленников

  • Как сформировать базу по CS

  • Изучаем полезные каналы на YouTube

  • Изучаем полезные источники

  • Дополнительная литература

  • Мои контакты Канал в тг: https://t.me/dutovkirill Чат для джунчиков: Ссылка на вступление Телеграм: @dutov_kirill Твиттер

  • Как стать iOS разработчиком в 2022 году бесплатно. Кирилл Дутов, ноябрь 2021 годКак стать iosразработчиком в 2022 годуПошаговый план с разбором популярных решений


    Скачать 0.5 Mb.
    НазваниеКирилл Дутов, ноябрь 2021 годКак стать iosразработчиком в 2022 годуПошаговый план с разбором популярных решений
    Дата06.11.2022
    Размер0.5 Mb.
    Формат файлаpdf
    Имя файлаКак стать iOS разработчиком в 2022 году бесплатно.pdf
    ТипДокументы
    #772820


    Кирилл Дутов, ноябрь 2021 год
    Как стать iOS-разработчиком
    в 2022 году
    Пошаговый план с разбором популярных решений

    Кто такие iOS-разработчики

    Программисты, которые занимаются нативной мобильной разработкой под системы iOS и iPadOS и создают мобильные приложения

    В основном занимаются фронтендом приложений, но некоторые создают и «толстые клиенты»

    Во время работы сильно завязаны на технику и инфраструктуру Apple

    В России зарплаты начинаются от 50к для джунов и до

    400к gross в месяц для синьоров (Москва, Санкт-Петербург), в регионах платят меньше

    На западе средняя зарплата iOS-разработчика $99 000 gross в год.
    Можно найти удаленку на запад и получать в России $5000-6000 gross в месяц

    Сколько времени нужно для обучения

    У каждого индивидуальная ситуация. Общего решения не бывает

    Минимальный срок 2 месяца (для людей уже умеющих программировать на хорошем уровне в другом стеке), максимальный не ограничен

    В среднем уходит около 700-1000 часов чистого времени, чтобы освоить знания на уровне Junior

    Лучше всего последние несколько месяцев заниматься полный день и уволиться по возможности (нужна подушка на 6 месяцев минимум) + мотивация не сдохнуть от голода

    Я учился два месяца и работал, а потом еще полгода дома в режиме фулл-тайм (4-5 часов в день), потому что меня сократили с прошлой работы и у меня была хорошая подушка и мотивация

    С чего начать обучение?

    С планирования и систематизации полученных знаний

    Я разбивал каждый блок на задачи в трелло, оценивал их, а потом ранжировал по важности и заполнял выполненные шаги в чекбоксах

    Планировать нужно не только обучение, но и отдых. В реальности придется спланировать все, чтобы найти время на обучение (минимум
    1,5 часа в день в будни и 3-4 в выходные)

    Предварительно советую посмотреть курс «Learn how to learn» или почитать книгу «Думай, как математик»
    🔥

    Нужно подготовить технику. Как минимум нужен макбук. Без айфона в первое время можно обойтись, но фунционал симулятора ограничен

    Изучаем основы программирования

    Можно посмотреть вводный бесплатный курс «Основы программирования»
    😐

    Можно посмотреть Гарвардский курс CS50
    🔥

    Почитать книгу Код. Тайный язык информатики, чтобы понять как именно работает компьютер простым и понятным языком
    🔥

    Почитать серию книг про программирование от А.В. Столярова
    💪

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

    Важно хорошо понять основы и с каждой итерацией все глубже разбирать что и как работает

    Изучаем Swift на базовом уровне

    Курс Алексея Скутаренко по Swift + все домашние задания + разбор заданий других ребят
    🔥

    Документация Apple
    🔥 и ее неофициальный перевод

    Основы SWIFT на swiftbook + курс The Swift Developers
    😐

    Задачник по программированию на Swift
    – Владислав Самойлов

    Решай задачи на leetcode уровня easy
    💪 и прорешиваем тесты в приложении Swifty
    🔥 пока не доведем до автоматизма

    Сочетайте так, как вам удобно и понятно. Разные курсы заходят разным людям по разному. Я смотрел сразу 3 подряд, чтобы что-то понять.
    Особое внимание на изучение документации

    Изучаем Xcode

    Учимся работать с playground (в курсах Скутаренко)

    Изучаем основные модули программы и знакомимся со списком горячих клавиш. Хороший туториал на английском

    Учимся создавать сниппеты
    🔥 для более быстрой работы с кодогенерацией

    Учимся работать с дебаггером , отлаживать приложения, работать с симулятором и view debugger

    Учимся работать с Interface builder

    Выполняем этот план постепенно, по мере того, как вы будете продвигаться в обучении разработки

    Изучаем основы UIKit

    Смотрим курс по UIKit от swiftbook и курс от The Swift Developer
    🔥

    Разбираемся как работает жизненный цикл ViewController. Вот отличное подробное видео в котором разобраны еще и переходы
    🔥

    Пробуем создать несколько простых приложений с помощью курсов
    Swiftbook «Мои первые приложения» и «Приложения на основе коллекций»
    😐

    Учимся верстать с помощью кода нативным способом и с помощью любого фреймворка на выбор. Мне нравится SnapKit
    🔥, но есть еще
    BoxView, TinyConstraints и т.д.

    Изучаем, как работает AutoLayout по этой статье и читаем книгу Modern
    Autolayout
    💪

    Изучаем основы UIKit

    Изучаем из каких слоев состоит иерархия view и что такое layer по книге iOS Core Animation
    💪

    Пробуем самостоятельно комбинировать разные элементы UIKit и соединяем их друг с другом (кнопка + лейбл, слайдер + лейбл и т.д)
    🔥

    Читаем официальную документацию по UIKit
    🔥

    Пробуем делать кастомные элементы из стандартных. Хороший курс по созданию приложений на UIKit
    🔥

    Работаем так же. От простого к более сложному. Пробуем повторить уже существующие интерфейсы приложений
    🔥

    Учимся работать с дизайном

    Учимся работать с Figma, Sketch, Zeplin
    🔥

    Изучаем Apple Human Interface Guidelines for iOS. Вот неофициальный перевод на русский язык

    Пробуем сверстать экраны в pixel-perfect, когда все размеры точно соответствуют макету. Сравнить можно наложив два скриншота друг на друга и настроив прозрачность на скрине макета. Макеты брать здесь

    Интересные макеты проектов для мобильных приложений можно брать на Behance

    Учимся работать c консолью

    Проходим бесплатный курс по работе с консолью на Хекслет
    🔥

    Подборка разных игр для изучения bash
    🇺🇸

    При желании настраиваем оболочку iTerm2

    Bashcrawl – игра во время которой вы будете изучать bash
    🇺🇸

    Хороший ресурс про программирование на Shell
    💪

    Еще одна игра, чтобы онлайн проверить свои скиллы на Shell

    Учимся работать c git

    Проходим бесплатный курс по работе с git на Хекслет
    🔥

    Проходим тренажер Learngitbranching
    🔥

    Читаем официальную документацию

    Учимся работать с гит в Xcode и Sourcetree / Fork

    Учимся работать с github / gitlab / bitbucket

    Практикуемся в размещении своих проектов на удаленном репозитории с разных клиентов, консоли в разные сервисы
    🔥

    Выбираем что-нибудь одно и красиво оформляем профиль

    Учимся работать c архитектурами

    Учимся работать с MVC
    🔥

    Учимся работать с MVP
    🔥

    Учимся работать с MVVM
    🔥

    Учимся работать с VIPER. Можно почитать книгу от Rambler
    💪

    Учимся работать с Clean Swift

    Делаем небольшие тестовые проекты, чтобы закрепить понимание чем отличаются архитектуры от друг друга
    🔥

    Общий разбор архитектурных паттернов
    🇺🇸

    Учимся работать c многопоточностью

    Проходим курс The Swift Developers – Multithreading в swift с нуля
    🔥

    Можно дополнительно посмотреть курс от Авито

    Интересное видео с вопросами по многопоточности и разбором

    Хорошая статья с основами многопоточности и GCD

    Практикуемся в многопоточности повторяя примеры из статей и видео спустя несколько дней после просмотра
    🔥

    Разбираем все возможные проблемы, которые могут возникнуть при неправильной работе потоков

    Учимся работать с сетью

    Можно пройти курсы на swiftbook «Курс 36: Работа С API» и «Курс:
    Networking»
    💰

    Почитайте про REST, JSON, XML

    Изучите как работает Codable (статья и документация)

    Учимся работать с URLSession и Alamofire. Пробуйте создавать простые приложения, которые будут выводить данные из API в tableview/
    collectionview.
    🔥 Публичные апишки смотрите здесь

    Почитайте, что такое WebSocket

    Изучите сервисы-помощники для создания моделей для парсинга

    Изучаем ООП и принципы программирования

    Изучаем основы ООП по видео The Swift developers и проходим его курс по паттернам
    🔥

    Внимательно изучаем портал по паттернам refactoring.guru
    🔥💪

    Хорошая книга про паттерны проектирования от O’Reilly

    Проходим курс по ООП у Тимофея Хирьянова
    💪💪💪

    Изучаем, что такое SOLID. Пробуем написать примеры, которые нарушают принципы, а потом поправить
    🔥

    Изучаем, что такое DRY, KISS, YAGNI, BDUF, APO

    Изучаем правила оформления кода

    Учимся устанавливать и работать с линтером. Например swiftlint
    🔥

    Читаем книгу Чистый код и Совершенный код
    💪

    Изучаем что такое запахи кода
    🔥

    Изучаем как проводить рефакторинг
    🔥💪

    Пробуем писать грязный код, а потом проводим его рефакторинг
    🔥

    Изучаем алгоритмы и структуры данных

    Читаем книгу Грокаем алгоритмы
    🔥

    Читаем и выполняем примеры из книги Data Structures & Algorithms in
    Swift
    🔥

    Учимся оценивать сложность задач на практике при решении задач на leetcode
    🔥

    Читаем книгу Алгоритмы. Построение и анализ | Кормен
    💪💪💪

    Смотрим курс про алгоритмы и структуры данных у Тимофея Хирьянова и пытаемся повторить все на Swift
    💪🔥

    Пытаемся написать по памяти простые структуры данных в Playground
    🔥

    Изучаем менеджеры зависимостей

    Учимся добавлять библиотеки через pods

    Учимся добавлять библиотеки через carthage

    Учимся добавлять библиотеки через swift packet manager

    Изучаем работу с хранением данных

    Учимся работать с UserDefaults

    Учимся работать с Core Data (смотрим и следующий урок)
    🔥

    Читаем книгу 7 баз данных за 7 недель
    🔥💪

    Учимся работать с Realm

    Учимся работать с Firebase

    Осваиваем основы SQL
    💪🔥

    Пробуем делать свои тестовые приложения, которые будут хранить данные на устройстве
    🔥

    Изучаем работу с UI/UNIT тестами

    Туториал от swiftbook и их курс по TDD
    💰

    Читаем книгу iOS Test-Driven Development by Tutorials
    🇺🇸

    Смотрим Занятие 15: Unit/UI тесты Swift
    🔥

    Смотрим Зачем и как писать качественные Unit-тесты (Алексей
    Солодкий / Badoo)
    🔥

    Учимся работать с UI тестами
    🇺🇸

    Смотрим UI-тесты в iOS-проекте / Михаил Домрачев (Improve Digital)

    Какие курсы можно проходить?

    Курс iOS-разработчик с нуля за 20 недель на swiftbook
    💰😐

    iOS developer. Basic курс на OTUS
    💰😐

    Курсы от ЦФТ, Тинькофф, Сбер
    💰

    Курсы дают очень сжатый узкий материал. Придется очень много читать помимо курсов. Качество курсов низкое

    Лучший вариант по моему мнению: самообучению + стажировка + ментор
    🔥

    Как сохранить мотивацию

    Волшебной таблетки нет. Ты либо делаешь, либо нет

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

    Переключайтесь на разные модули обучения, если застряли на чем-то

    Подоприте себя деньгами. Если у вас нет запасного пути, то и выбора особо нет

    Не нравится, не интересно, скучно – не заставляй себя, не твое

    Лучшая схема: дисциплина и постоянство усилий на длительном промежутке времени

    Как найти единомышленников

    Присоединиться к моему чату для iOS-разработчиков


    Неплохой чат для мобильных разработчиков у iOSNick’a
    🔥

    Ходить на встречи Coffee&Code, если вы в Москве, Санкт-Петербурге.
    Присоединиться к их чатику
    🔥

    Чатик для подготовки к собеседования в FAANG

    Чат о литературе про мобильную разработку

    В чатах получаем пользу и помогает советами, а не болтаем 24/7.

    Разбираем уже существующие вопросы и ответы на них

    Как найти ментора?

    Спрашивать в профильных чатах и писать спикерам с докладов на ютубе (стоит от 2000 час в среднем)
    💰

    Бесплатного ментора найти почти невозможно, но у вас могут быть знания, которые вы сможете «обменять»

    Есть хорошая база данных ребят, которые готовы менторить в клубе у Вастрика (готовьте долор для оплаты членства)
    🔥💰

    Выложите свой код и напишите, что это лучший код в мире.
    Гарантирую самое внимательное ревью

    Объединятесь в группы с другими новичками и делайте ревью друг другу

    Как сформировать базу по CS

    Изучить этот список «Как выучить Computer Science самостоятельно?»

    Получить высшее образование в профильном ВУЗе в России или заграницей (пригодится при эмиграции)

    Найти профильных репетиторов под профильные предметы и с ними углубленно разобрать базу по СS

    Самостоятельно найти интересную программу у хорошего ВУЗа и освоить ее

    Проходить профильные курсы на Coursera и подобных площадках

    Изучаем полезные каналы на YouTube

    Podlodka – семинары и интервью

    CocoaHeads – доклады и круглые столы
    🔥

    Mad Brains – доклады и обсуждения
    🔥

    iOS Academy – практические уроки
    🇺🇸

    Sean Allen – практические уроки
    🇺🇸

    Swiftbook – уроки и переводы

    Ray Wenderlich – уроки
    🇺🇸

    Изучаем полезные источники

    Много туториалов и книг по iOS – Ray Wenderlich
    🇺🇸🔥

    Хороший марафон по Swift для начинающих – Swift for 100 days
    🇺🇸🔥

    Читаем хаб по iOS-разработке на Habr

    Полезный сайт с новостями и статьями – Apptractor

    Группа в телеграме с новостями iOS Good Reads
    🔥

    Смотрим конференции по мобильной разработке Podlodka
    🔥💰

    Смотрим список полезных источников в конце презентации

    Дополнительная литература

    Книга 7 языков программирования за 7 недель
    🇷🇺

    Книга Advanced Swift
    🇺🇸 и Swift. Подробно 🇷🇺

    Книга Optimizing Collections
    🇺🇸

    Книга Swift algorithms and data structures - Wayne Bishop
    🇺🇸

    Книга Pro iOS Testing - Avi Tsadok
    🇺🇸

    Книга Погружение в паттерны проектирования - Александр Швец
    🇷🇺

    Книга Growing as a mobile engineer - Gergely Orosz
    🇺🇸

    Книга Programming iOS 14 - Matt Neuburg
    🇺🇸

    Мои контакты
    Канал в тг:
    https://t.me/dutovkirill
    Чат для джунчиков:
    Ссылка на вступление
    Телеграм:
    @dutov_kirill
    Твиттер:
    @iosgad
    Почта:
    dutov.kb@yandex.ru


    написать администратору сайта