Spread the love
今天的我陷入了極度的恐慌當中。一方面由於codecademy project的卡關,另一方面煩惱到底要怎麼處理8X8的app,最後就是學習rails,根本就是在進行一場沒有終點的馬拉松。
而今天的我,也面臨了很多矛盾。
『笑來老師你好,看到老師今天這篇問答很有質量,讓我花了不少時間省思,但我的想法卻開始困惑起來。我目前開始自學Rails,而我想透過線上教材(codecademy等等)、教學(上傳教學影片)、分享、交流的方式,依靠自己大部分的力量“搞懂”一份技能,而我也從中學會如何“教會自己”的這個技能,我想這對我未來會很有幫助。但是聽到老師這麼說:『我們應該節省時間、在經濟能力承受範圍內選擇最貴的。』。這讓我不免開始思考,我是否該去找足夠好的線上課程,讓老師一步一步地帶著我做。畢竟給專業的老師帶,未來我也可以避免很多技術債,節省更多時間。如果從節省時間的角度來看,兩者都能為未來節省很多時間,但當下的我,還真的不知道該如何抉擇。』
在得到專欄上,笑來老師提到了:『為了避免選擇上的偏誤和成本,我們應該在經濟能力承受範圍內,選最貴的。』
我該如何取捨?
其實我很想透過學習Rails這個技能,“教會自己“很多事。因為一旦當我學會如何”教會自己“,未來我就可以更快速的教會自己其他技能;但是他說的很有道理,我們應該盡可能地為自己節省時間,而若是跟好的老師學習,未來的我能夠避免很多在學習程式上的技術債。這兩件事都能創造極大的價值,一個是幫我教會自己,另一個是讓我在Rails變得足夠強大。
今天的我就帶著這份恐慌,到了高雄的meetup。但是在跟那邊的前輩聊了聊之後,我的恐慌立刻就消失一大半。他們跟我分享他們如何學習,推薦了幾份教材,也告訴我有什麼問題可以在每週聚會提出來討論,大家都很樂意解決。而此刻的我,也漸漸冷靜了下來。
過往的經驗教我的事
之前的我一直把學習程式語言,當作學習一門新的外語,而我有時候也會拿過去學日語的經驗來對照。那時候學日語的時候我暑假一天花5個小時,開學之後平日一天也花約2個小時,在一年中孜孜不倦,好不容易才累積了1000多個小時的學習時數,並通過了日檢二級。那時的我心中充滿了惶恐、迷惘還有承受了很大的壓力,現在的我也是(但其實也沒那麼大啦)。所以現在的我,有沒有從過去的經驗,總結什麼不同的結論?
刻意練習的威力
通過JLPT日檢二級的漢字圈學生,他們的學習時數,一般落在約1150~1800 小時之間。也就是說,如果你要通過N2,基本上你累積的學習時數會落在這個區間(當然每個人的情況略有不同,會說中文又會說韓文的學生,所需時間應該會小於1000小時。)。而學習Rails應該也是類似的情形。
你根據一個人累積的學習時數、做了多少project、擁有多少作品集等等,基本上就可以判斷這個人的程度在哪。有好的老師最大的好處就是,他可以幫你減少走偏的機會、加快你的學習速度。不過『師父領進門,學習在個人。』,唯一不變、最重要的成長因素,就在於你付出多少的努力,也就是積累。
如果我在一個技能上投注了一千個小時刻意練習(deliberate practice),基本上就稍微進入了senior的境界;若是我在一個技能上投注一萬個小時的刻意練習,基本上我很有可能就進入了expert的境界。所以我該想的就是,
1.該如何累積足夠的練習時間。2.該如何創造足夠強度的練習機會。3.我要如何提高學習的效率。
而其實比起思考這三件事,更重要的就是,持續動手做。
Just Do It!
在A mind of number這本書提到,要幫助自己進入到”心流“狀態的最好方式之一,就是聚焦於過程,而不是結果。人會拖延(procrastinate)的原因就是,當我們遇到不舒服的情況時,我們就會逃避,並選擇相對舒服的事情去做。最後把原本該做的事情拋在腦後,一拖再拖。但是有趣的是,要破解拖延最好的方法,其實就是動手做(有機會再來介紹一下書中的做法)。因為實際動手的痛苦程度,事實上小於想像不想做的事情的痛苦程度。
總結
一個頂尖的優秀選手,要如何頂住壓力,最後突破自己?我認為答案是,聚焦於每個動作,把他們做到完美,而不是時時刻刻想著如何創造出美好成果。我想我該做的也是一樣,不斷地投注時間、練好每個project、累積自己的能力,而當我能夠把每個動作做到接近完美的時候,美好的果實,自然就開花結果。
註:關於選擇教材和練習的方式,我想我最終會找出最適合自己的答案的。