開始 iOS 學習之旅
這是一篇關於 Android 工程師開始學習 iOS 的啟程記錄,這篇打算使用在工作上看到 PM(Product Manager) 使用的規劃方法,嘗試給自己的學習計畫開個頭。或許我只懂皮毛,但用看看再說吧(如果有任何建議歡迎留言喔~)
這次的架構會分為
- Background
- Goal & Objective
- Risk or Challenge & Potential solution
- Scope
- 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
- 在100天內(2023/11/13~2024/02/20)產出像是 100 Days of Swift 的 App 畫面照片牆,讓我回顧時能夠很有成就感!
- 每週產出上課&作業筆記(2023/11/13~2024/01/04),讓未來的我也能輕鬆回顧自己學習 iOS 的歷程(可以是 Notion草稿,完成後上傳 Medium)
- 完成對自己人生有意義的 APP 作品(optional)
這路途上可能遇到的困難 Risk or Challenge & Potential solution
Risk (anything could impact):
- 對於寫文章有強烈的拖延症,導致無法產出每週筆記
- 事情排太多,導致無法完成作業
- 上班精力耗盡,下班上課打瞌睡,跟不上進度
Challenge (already has impacted):
- 容易排擠寫功課的時間:每週3次的運動、參與軟體社群、上下班交通時間、其他學習課程
Potential solution:
對於上方的擔憂,我整理成3個面向:寫文章拖延症、沒時間、完成不了所有作業
寫文章拖延症:
Problem:
- 容易對於寫文章再三琢磨,讓我覺得寫文章成本很高
- 怕會誤導人
Solution:
- 縮小寫作範圍
- 用 TDD 或是敏捷開發的小跑步多迭代精神,不要一次做到好,想得越做越好就送出
- 善用科技: AI 校稿
- 保持開發心態,在文末提及“若有錯字或要討論的請留言,這會是我寫文章很的助力”
沒時間:
Problem:
- 下班累,累了就想廢,手機滑滑時間就過了
- 假日活動多,參加軟體社群、聚餐、參加其他課程
Solution:
- 必須做好時間記錄,提醒自己正確的休息不是滑手機,可以用冥想或運動代替
- 到教室上課,問問題寫筆記、讓環境幫助減少意志力消耗
- 將寫作業和寫文章排入 Google 日曆,作為正式行程
- 減少不必要的活動和社交,也把不重要的課程排除,提高這次學習iOS的優先度
完成不了所有作業:
Problem:
- 作業太多
- 兵敗如山倒,累積起來的作業山,讓人不想面對
Solution:
- 優先完成星星數較高的作業,以學會為目標選擇要寫的作業
- 挑選自己有興趣的作業,先開始再求好
確認執行範圍 Scope
Must have:完成 Objective 的前兩項
Nice to have:完成Objective 的最後一項
Not in scope:寫出偉大的文章
使用者情境 User Story
是誰,在什麼情況下,看到這些文章,使用這些文章?
- 學習當下的我,會在整理文章時反覆思考有哪些地方需要加強
- 未來的我,在看到文章時,能在15秒內抓到文章目的和關鍵字
- 身為找到這篇文章的 iOS 初學者,我希望能看懂所有專有名詞,或是有參考資料
後記
Medium 排版的階層數比想像中的少呢,看來從 Notion 搬過來的筆記還需要調整階層。
另外此篇文章遲來了2週,作業數累積的很可觀呢~
但我要秉持著,不自責沒完成的部分,現在做了就是往前踏一步,永遠要以學會為開發APP和寫出自己看得懂的文章為目標。