[學習回顧2] 程式學習心路紀錄
開始密集的程式學習已經 3 個月了,希望藉由這篇文章來紀錄自己 3 個月的成長,除了透過回顧給自己鼓勵與肯定之外,也期許未來的自己莫忘一路上體會與領悟到的經驗,能持續不斷地學習與成長。
✎ 大綱:
1. 學習記錄
▪︎ 回顧成長
︎︎▪︎ 關注位移,發掘進步的助力2. 學習心態-比勤奮更重要的學習力
▪︎ 感受當下,體會過程,比到達終點更重要
▪︎ 在腦中推演,擔心失敗,不如動手嘗試3. 學習方法-找到最適合自己的學習方式
▪︎ 從有興趣的主題下手,在實作中學習
▪︎ 跳脫舒適圈,從刻意練習中成長4. 結語與期許
1. 學習記錄
距離上一篇的學習回顧分享文 《與 Alpha Camp 一起超速學習》至今又過了一個月,在 Alpha Camp 的學期 2–2 時間感覺過得飛快,回頭看看 1 個月前的自己,才意識到原來自己前進了這麼多,很想給自己一個欣慰的擁抱。
➤ 1–1. 回顧成長
在這個一個月來,我學習到如何進行第三方 API 的串接,能使用大量的資料與 DOM 的操作技巧來建造有互動體驗的網頁。在專案實作的過程中,也漸漸的培養自己的程式開發內功,做出有意義的功能、寫出優良的程式碼,並鍛鍊解決問題的思維。
➤ 1–2. 關注位移,發掘進步的助力
在學習的過程中,我們容易因為挫折或者求好心切的急躁情緒,而被限制了視野,過度執著在不重要的小事上,看不見自己的成長與收穫、遺忘了學習的初衷與目的。
為了避免自己的注意力發散,我們可以刻意的選擇有「位移」的事情來關注,也就是那些由「過去的自己」所在的狀態 A 轉變成「現況」狀態 B 的事情,藉由紀錄與分析自己的位移,重新將心思聚焦在自我的成長,肯定自我成就,並釐清對自己有益的進步助力有哪些,在未來持續保持。 ( 細節可參考此文:回顧起手式:關注你的位移 (A->B))
- 以下是位移 A → B 的一些例子:
在 Alpha Camp 學期 2 末的 ORID 周記提問中,我拆解了自己的位移:
你是如何觀察到這些「位移」?這些「位移」對你來說的意義是什麼?這些「位移」是否有成為幫助你 達成目標的助力或阻力?
-----------------------最明顯能顯現這些位移發生的行爲是在寫作業的流程:▪︎ 規劃與執行能力提升|以前會在寫作業的過程中就觀摩同學作業才能完成繳交,現在則能獨立完成,於完成後才欣賞同學作品▪︎ 查詢外部資源的效率提升|以前需要不斷地 google search 或翻找筆記才能完成功能,現在翻找資料的次數則大幅的下降,也懂得更有策略的搜尋答案,節省下很多查找的時間。▪︎ debug 能力提升 |以前遇到 bug 都要花很多時間找問題,甚至求助助教;現在則能大致的掌握除錯流程,獨立的釐清問題、對症下藥
在寫下這些觀察後,我分析這些位移是如何發生的,推敲並記錄下各種因素,執行上的因素包括:能藉由運算思維建立良好的地基、善用筆記工具紀錄所學、進行觀摩與模仿、執行時間管理、進行刻意練習… 等等。
當我列舉出幫助我進步的因素後,我忽然意識到他們都共同指向一個簡單地概念與通則 — 完成作品之前的所有過程都是有意義的,最有價值的不是你達到終點的那一刻所獲得的成就,而是過程經歷的一切。
每次產出作品前所經歷的規劃分析、查找外部資源、思考並建構程式碼、有策略的排錯… 等等,每一步都走的跌跌撞撞 (以及想哭 XD) ,但長期累積的經驗都會在無形之中提升自己的實力。
2. 學習心態-比勤奮更重要的學習力
過去,一個人全部知識的80%是在學校學習階段獲得的,其餘20%則依靠在工作階段的學習;而現在完全相反,在學校學習到的知識不過占20%,80%的知識需要你在漫長的一生中通過不斷學習和實踐獲得。
在程式學習過程中,我除了想培養一個新的技能以成功轉職,也希望透過這個機會,讓自己成為有「學習力」的人,能不斷的自我挑戰與成長,持續的拓展自己的人生道路。
學習是永無止盡的,懂得如何「學習」比你現在擁有什麼知識更重要。在 Alpha Camp 得到的知識不過是轉職的一塊敲門磚,網頁開發的技能樹每年都在成長,要怎麼讓學習力跟上科技進展的速度,我想是更重要的技能。
在這 1 個月的成長過程中,我覺得下面的經驗是推進我持續學習與進步助力:
➤ 2–1. 感受當下,體會過程,比到達終點更重要
就像在前面所提到的,完成作業作品前的所有努力,都是有意義的,就算犯錯了或花費很多時間 debug 也不要氣餒,不要把失敗的嘗試當作“浪費時間”,而是重視且珍惜每個過程與當下,對自己更有包容心與耐心 — 「真正的改變都在失敗時發生」,犯錯與失敗都是成長過程中有益的助力。感受當下,體會過程,比到達終點更重要。
➤ 2–2. 不斷在腦中推演,擔心失敗 → 不如動手嘗試
在一開始學習時,我常常會擔心自己辦不到、做不好,或者害怕犯錯,但這 3 個月來,我漸漸的習慣先「動手」行動、勇於嘗試,而不是「擔心」使用不熟悉的工具會讓場面失控,「擔心」搞砸程式碼要除錯很麻煩、費時、會拖垮進度。
心態的轉變讓我將焦點與力氣都轉移到學習與追求自我成長,而不是浪費心思擔憂無傷大雅或根本不會發生的事上,專注力因此提升,產出效率好像也更高了。
當焦慮的時候,應該要把關注轉移到如何完成當下的任務(比如每一份作業),這樣一來神經緊張的情況就會自動消散,且完成任務的成就感也會成為新的動力回饋到自己身上。
3. 學習方法-找到最適合自己的學習方式
在找尋學習方法的過程中,我發現最適合自己的學習方式有兩種:
➤ 3–1. 從有興趣的主題下手,在實作中學習
在學習我感興趣的主題時,那股發自內心的好奇與渴望自我挑戰的動能,會強烈的推動我前進,因此在最近一個月我開始在網路上尋找 mini-project 來觀摩,並試著加入自己的想法實作:
一開始做 mini project 時,不懂的很多,需要不斷的查找資料,所以速度極度緩慢,過程很痛苦難熬。但多做幾個 project 之後,看到題目腦中就有大致的架構、google search 及翻找筆記的次數顯著下降、可連續撰寫的程式碼行數增加,執行目標的痛苦度明顯減低,漸入佳境的感覺也帶給我成就感,覺得每天都很踏實。
想做出成果的「渴望」以及找答案的「過程」成為了我成長的助力,當想做出某個樣式的渴望勝過挫敗感,遇到困難就不會輕易放棄;碰到難關去尋找答案的過程,也特別加深我對應用工具的記憶,雖然一直面對未知問題的感受是不舒服的,但我覺得這個過程對我來講是「有益的困境」,撐過去再回頭看就會發現一切也沒有那麼難了。
➤ 3–2. 跳脫舒適圈,從刻意練習中成長
回顧這一個月的成長,我覺得 刻意練習(❌)/被迫練習(⭕️) 也是我進步的強大助力,Alpha Camp 設計的課程主題與作業,讓我「大步」的離開舒適圈。遵循著教案內容,我對主題不能挑食,只能直擊自己的弱點,將複雜的技能拆解成一個個小部分,努力精通後,再組合起來。而班級進度制的時間壓力,則強迫我進行時間管理,沒有太多的時間讓我閃避與拖延,所以整體的學習是非常高效率的。
在做上面這一份電影清單專案時,跳脫舒適圈會加速成長的感受格外明顯。對當時的我 (也不過兩週前😅) 來說,許多的 Bootstrap 架構、JavaScript 語法、DOM 操作都是第一次遇到,新的東西接踵而來完全沒有喘息的機會,當時的真的好挫折又好痛苦啊…。但完成這個專案後,真的有脫胎換骨的感覺,覺得一切的練習都很值得。
4. 結語與期許
在 Alpha Camp 的學習旅程還有一半,希望接下來自己能夠繼續保持熱情與動力繼續學習,不要畏懼失敗,珍惜每個過程與當下,對自己更有耐心與信心。
希望一個月後的我回頭看現在的自己,又能再度的感覺到位移成長與蛻變的喜悅與踏實,加油加油!