開始 iOS 學習之旅

這是一篇關於 Android 工程師開始學習 iOS 的啟程記錄,這篇打算使用在工作上看到 PM(Product Manager) 使用的規劃方法,嘗試給自己的學習計畫開個頭。或許我只懂皮毛,但用看看再說吧(如果有任何建議歡迎留言喔~)

這次的架構會分為

  1. Background
  2. Goal & Objective
  3. Risk or Challenge & Potential solution
  4. Scope
  5. User Story

起心動念 Learning Background

身為 Android 工程師開發了兩年多,或多或少會好奇另一個平台iOS寫起來是什麼感覺。隨著自己換成 Mac 開發作為主力開發機,朋友提供舊的 iphone 給我,讓我覺得是時候開始學學 iOS 的開發了!

在 Medium 上面逛著逛著,發現還在學 android 時期追蹤的 iOS Medium 老師開課了,發現老師的作業很有趣,會鼓勵大家把所學寫成文章。上次瘋狂寫文章是 iT 鐵人賽的時候,在有時間壓力的情況下我覺得進步得很快,寫到卡住的時候就會去把自己模糊的知識補齊。所以這次,我希望養成寫 Medium 的好習慣,讓輸出文章幫助自己再一次地深化所學。產出的結果除了累積個人作品之外,或許在未來也能幫助和我學習狀況相同的人。

目的與目標 Goal & Objective

打算運用 SMART 原則來訂定目標,SMART分別代表:明確的(Specific)、可衡量(Measurable)、可以實現(Achievable)、有關聯性(Relevant)和有時間性(Time-bound)

Goal

學會開發 iOS App,把所學輸出成 Medium 文章

Objective

  1. 在100天內(2023/11/13~2024/02/20)產出像是 100 Days of Swift 的 App 畫面照片牆,讓我回顧時能夠很有成就感!
  2. 每週產出上課&作業筆記(2023/11/13~2024/01/04),讓未來的我也能輕鬆回顧自己學習 iOS 的歷程(可以是 Notion草稿,完成後上傳 Medium)
  3. 完成對自己人生有意義的 APP 作品(optional)

這路途上可能遇到的困難 Risk or Challenge & Potential solution

Risk (anything could impact):

  1. 對於寫文章有強烈的拖延症,導致無法產出每週筆記
  2. 事情排太多,導致無法完成作業
  3. 上班精力耗盡,下班上課打瞌睡,跟不上進度

Challenge (already has impacted):

  1. 容易排擠寫功課的時間:每週3次的運動、參與軟體社群、上下班交通時間、其他學習課程

Potential solution:

對於上方的擔憂,我整理成3個面向:寫文章拖延症、沒時間、完成不了所有作業

寫文章拖延症:

Problem:

  • 容易對於寫文章再三琢磨,讓我覺得寫文章成本很高
  • 怕會誤導人

Solution:

  1. 縮小寫作範圍
  2. 用 TDD 或是敏捷開發的小跑步多迭代精神,不要一次做到好,想得越做越好就送出
  3. 善用科技: AI 校稿
  4. 保持開發心態,在文末提及“若有錯字或要討論的請留言,這會是我寫文章很的助力”

沒時間:

Problem:

  1. 下班累,累了就想廢,手機滑滑時間就過了
  2. 假日活動多,參加軟體社群、聚餐、參加其他課程

Solution:

  1. 必須做好時間記錄,提醒自己正確的休息不是滑手機,可以用冥想或運動代替
  2. 到教室上課,問問題寫筆記、讓環境幫助減少意志力消耗
  3. 將寫作業和寫文章排入 Google 日曆,作為正式行程
  4. 減少不必要的活動和社交,也把不重要的課程排除,提高這次學習iOS的優先度

完成不了所有作業:

Problem:

  1. 作業太多
  2. 兵敗如山倒,累積起來的作業山,讓人不想面對

Solution:

  1. 優先完成星星數較高的作業,以學會為目標選擇要寫的作業
  2. 挑選自己有興趣的作業,先開始再求好

確認執行範圍 Scope

Must have:完成 Objective 的前兩項

Nice to have:完成Objective 的最後一項

Not in scope:寫出偉大的文章

使用者情境 User Story

是誰,在什麼情況下,看到這些文章,使用這些文章?

  1. 學習當下的我,會在整理文章時反覆思考有哪些地方需要加強
  2. 未來的我,在看到文章時,能在15秒內抓到文章目的和關鍵字
  3. 身為找到這篇文章的 iOS 初學者,我希望能看懂所有專有名詞,或是有參考資料

後記

Medium 排版的階層數比想像中的少呢,看來從 Notion 搬過來的筆記還需要調整階層。

另外此篇文章遲來了2週,作業數累積的很可觀呢~
但我要秉持著,不自責沒完成的部分,現在做了就是往前踏一步,永遠要以學會為開發APP和寫出自己看得懂的文章為目標。

--

--

ChuLing
彼得潘的 Swift iOS / Flutter App 開發教室

"I'm an Android developer who enjoys learning and being part of tech communities.