Стать iOS разработчиком и найти работу
Кто я и зачем мне программирование
Последние 4 года я посвятил интернет-маркетингу на фрилансе (SMM, сайты, реклама и прочее). Несколько месяцев назад осознал, что остро нуждаюсь в стабильной, востребованной и хорошо оплачиваемой работе, в которой есть понятные карьерные перспективы. Разбираться в коде и делать что-то своими руками я всегда любил, поэтому с удовольствием окунулся в разработку мобильных приложений на iOS.
Что сейчас
На текущий момент я учусь уже почти 3 месяца. Если "чистыми" днями (без учёта выходных), то всего учусь 68 дней. В среднем по 2 часа в день. Всего вложил в своё образование 145 часов. За это время освоил базу языка Swift, научился отлично гуглить и делать простенькие приложения в interface builder, немного освоил работу с JSON и другие штуки (на поверхностном уровне). Основная моя проблема — я одновременно проходил 5 курсов. А как известно, за двумя зайцами погонишься...
Как буду учиться
Моя цель: учиться 100 часов в месяц. Это около 4 часов в день (с учётом 4 выходных в месяц). Цель вполне реальна, могу учиться 2 часа до работы, 2 часа после. Однако всё не так просто. До этого я наступил на следующие грабли (из-за которых пришлось сделать перерыв практически на 1,5 недели и восстановиться):
- Брался за много курсов одновременно, в итоге ни один не закончил. Теперь я буду проходить одновременно только 1 курс. И делать свои приложения только между курсами.
- Брался за сложные проекты без достаточных знаний. Гуглить куски кода и писать костыли по совершенно незнакомой теме довольно занимательно. Но в итоге я словил жуткую демотивацию, когда после нескольких дней "затупа" осознал, что взялся за слишком сложное для себя приложение. Поэтому сейчас хочу учиться постепенно. И делать свои проекты на основе пройденных уроков.
- Слишком строго к себе относился. Тут всё банально. Хотел найти работу уже летом (без опыта в IT, ага). В итоге перегорел, когда осознал, что такая цель мне не по зубам. Сейчас я отношусь к своей цели гораздо адекватнее. И лучше не буду лишний раз торопиться. Будь что будет. Спешка в этом деле не для всех.
Буду отписываться в этой цели ежедневно (выходной обычно у меня в четверг). Буду писать обо всём, что получается и что нет.
Ссылка на Гугл таблицу, в которой отмечаю свои результаты (первоначально вёл исключительно для себя): https://docs.google.com/spreadsheets/d/1tQhwiefyU_...
Список-план по курсами не окончательный. Наверняка что-то буду добавлять, что-то уберу. После прохождения каждого из курса буду давать краткий отзыв и свою оценку.
Критерий завершения
Успешно отработал 30 дней по новой специальности
-
Сделать приложение Very Simple Notes.
Хочу сделать полноценное простенькое приложение в котором буду использовать Firebase. Приложение будет позволять пользователю регистрироваться, создавать, удалять и редактировать заметки.
-
Сделать вход и регистрацию через почту.
-
Сделать кастомную tableView (дизайн).
-
Сделать структуру и array для хранения заметок.
-
Сделать так, чтобы в таблицу подгружался список из заметок с сортировкой по дате.
-
Сделать функционал сохранения заметок в Firestore.
-
Сделать попап при регистрации/входе с указанием ошибок (если они возникнут).
-
Сделать функционал удаления и редактирования заметок (с сохранением в Firestore).
-
-
Закончил курс "iOS 13 & Swift 5: Chat App With Firestore | MVVM"
Разработка реального приложения от Stephan Dowless.
-
Section 1: Introduction
-
Section 2: Login & Sign Up User Interface & ViewModels
-
Section 3: Setting Up Firestore & User Authentication
-
Section 4: Fetching Users From Firestore
-
Section 5: Setting Up ChatController & Sending Test Messages
-
Section 6: Sending & Receiving Messages From Firestore
-
Section 7: User Profile
-
Section 8: Finishing Touches
-
-
Закончил курс "Изучаем Основы Core Data"
SwiftBook. Рано или поздно каждый из нас сталкивается с необходимостью сохранения данных на устройстве. Вот настал и ваш черед узнать как можно это сделать при помощи нативного фреймворка CoreData.
В этом курсе мы с вами познакомимся с основами работы фреймворка CoreData и при помощи полученных знаний создадим три приложения, чтобы их закрепить.
-
Прошёл курс: Learn Swift 4 with Bob: The Intermediate to Advanced Swift
На мой взгляд великолепный курс, который закрывает мои текущие дыры в знаниях по более продвинутым темам iOS разработки.
-
Chatper 1: The Swift Fundamentals
-
Chapter 2: Object Oriented Swift
-
Chapter 3: Intro to Functional Swift
-
Chapter 4: Protocol Oriented Swift
-
Chapter 5: Memory Management
-
Chapter 6: Functional Programming
-
Chapter 7: Generic Protocols
-
Chapter 8: Advanced Enums
-
Chapter 10: Advanced Swift
-
-
Закончил курс "Foundations of Programming: Object-Oriented Design".
Базовые знания по ООП от супер-клёвого учителя.
-
Закончил книгу "Modern Auto Layout"
Очень сложная для меня книга по авто-ресайзу дизайна в приложении и проклятые constraints.
-
Нашёл работу.
Если всё хорошо, то однажды найду работу.
-
Изучаю ООП, паттерны проектирования и другую теорию
-
Курс "Foundations of Programming: Object-Oriented Design"
-
Видео от Apple - Protocol-Oriented Programming in Swift – https://developer.apple.com/videos/play/wwdc2015/408
-
Курс "Шаблоны разработки" — https://www.youtube.com/playlist?list=PLmqFxxywkatStbd9hdzVOS1hZa9dc56k4
-
Роберт Мартин "Чистый код".
-
-
Освоить iOS Human Guidelines.
Наверное, поможет создание краткого конспекта с тезисами.
-
Прошёл прочие курсы.
Сюда буду добавлять разные небольшие курсы, которые не подходят ни к одному этапу.
-
Raywenderlich: Layout in iOS
-
Raywenderlich: Mastering auto layout
-
-
Закончил курс "iOS 13 & Swift 5 - The Complete iOS App Development Bootcamp"
Довольно известный в узких кругах курс от Angela Yu на Udemy. Что интересно, в программе аж несколько секций по machine learning.
-
Section 15: Firebase Cloud Firestore, TableViews and Cocoapod Dependencies
-
Section 16: The Command Line and Terminal
-
Section 17: SwiftUI and Declarative Programming
-
Section 18: Git, GitHub and Version Control
-
Section 19: Local Data Persistance - User Defaults, Core Data and Realm
-
Section 20: In-App Purchases and Apple StoreKit
-
Section 21-22: Advanced Swift Classroom - Part 1 & 2
-
Section 23: CoreML and Machine Learning
-
Section 24: Advanced CoreML - CoreML Tools & Converting Models
-
Section 25: CreateML - Building Your Own Machine Learning Model
-
Section 26: CreateML & Natural Language Processing (NLP)
-
Section 31: How to Submit Your App to the App Store
-
Section 33: Bonus: The Complete App Design Course
-
-
Прочитать книгу «Погружение в паттерны программирования»
Электронная книга о принципах и паттернах проектирования.
-
Прохожу курсы от SwiftBook
-
VK News Feed App
-
-
Отработал 30 дней на новой работе. Всё хорошо.
Финальный этап моей цели. Когда я с гордостью смогу сказать, что теперь я разработчик.
-
Изучаю Git
-
Прошёл курс Git Branching – https://learngitbranching.js.org/
-
Прочитал книгу по Гит — https://git-scm.com/book/ru/v2/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9E-%D1%81%D0%B8%D1%81%D1%82%D0%B
-
- 5321
- 29 июня 2020, 16:21
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением